IpeString is is an implicitly shared UTF-8 encoded string. It is designed to be efficient for strings of arbitrary length, and supposed to be passed by value (the size of IpeString is a single pointer). Sharing is implicit---the string creates its own representation as soon as it is modified. (Before I can publicize the Unicode support, I have to find the best way of getting UTF-8 encoded text through Pdflatex.)
Ipe is not using the STL string type because the C++ standard does neither guarantee that passing by value is efficient, nor that std::string is efficient for very long strings (although in practice that is probably true). However, IpeString is designed to be plug-in compatible with std::string, so Ipe can switch any time it is deemed appropriate (in particular, unlike the rest of Ipe, IpeString uses lower-case member names!).
|
Return character at index i.
|
|
Is the string empty?
|
|
Return read-only pointer to the data.
|
|
Return number of bytes in the string.
|
|
Operator syntax for append.
|
|
Operator syntax for append.
|
|
Create substring.
|
|
Operator !=.
|