Function BasicString.popBackCodePoint

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

ubyte popBackCodePoint() pure nothrow @nogc scope @trusted;

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

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);
}