Main Page | Modules | Class Hierarchy | Class List | Class Members

IpeString Class Reference
[Ipe Base]

Strings and buffers. More...

List of all members.

Public Member Functions


Detailed Description

Strings and buffers.

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!).


Member Function Documentation

char IpeString::operator[] int  i  )  const [inline]
 

Return character at index i.

bool IpeString::empty  )  const [inline]
 

Is the string empty?

const char* IpeString::data  )  const [inline]
 

Return read-only pointer to the data.

int IpeString::size  )  const [inline]
 

Return number of bytes in the string.

void IpeString::operator+= const IpeString rhs  )  [inline]
 

Operator syntax for append.

void IpeString::operator+= char  ch  )  [inline]
 

Operator syntax for append.

IpeString IpeString::substr int  i,
int  len = -1
const [inline]
 

Create substring.

bool IpeString::operator!= const IpeString rhs  )  const [inline]
 

Operator !=.


The documentation for this class was generated from the following files: