BasicString.popBackCodePoint

Erases the last utf code point of the BasicString, effectively reducing its length by code point length.

Return number of erased characters, 0 if string is empty or if last character is not valid code point.

struct BasicString
scope pure nothrow @trusted @nogc
ubyte
popBackCodePoint
()

Examples

{
	BasicString!char str = "á1";    //'á' is encoded as 2 chars

	assert(str.popBackCodePoint == 1);
	assert(str == "á");

	assert(str.popBackCodePoint == 2);
	assert(str.empty);

	assert(str.popBackCodePoint == 0);
	assert(str.empty);
}

{
	BasicString!char str = "1á";    //'á' is encoded as 2 chars
	assert(str.length == 3);

	str.erase(str.length - 1);
	assert(str.length == 2);

	assert(str.popBackCodePoint == 0);   //popBackCodePoint cannot remove invalid code points
	assert(str.length == 2);
}

Meta