CsString  1.3.2
API Overview

The CsBasicString class is a templated class which provides Unicode aware string support. The requested character encoding is passed to the CsBasicString template.

The encoding for a CsString is UTF-8. The following typedefs are provided for convenience.

using CsString = CsBasicString<utf8>;
using CsString_utf8 = CsBasicString<utf8>;
using CsString_utf16 = CsBasicString<utf16>;

Other encodings can be added to this library and the source code for the encoding should be located in the cs_encoding.h header file.

A CsBasicString consists of a sequence of code points where each one is represented by a single 32-bit CsChar.

Class CsString::CsBasicString<E, A>

The CsString library was developed to handle Unicode text processing. The C++ STL string classes are missing encoding support. CsString was designed to allowing for the expansion of any encoding without having to write a new string library.

  • Templated class CsBasicString implements Unicode aware string support
  • Encoding for UTF-8 and UTF-16 provided in CsString library
  • Additional encodings can be specified as a policy class
  • An allocator type can be passed to the template and allocator objects can be passed at run time
  • Implements methods found in std::string
  • Supports conversion between existing encodings

CsString in CopperSpice

The CsString class is used in the CopperSpice Core library to implement Unicode aware string support. The new classes are called QString8 and QString16. For more information about Copperspice refer to the overview and API documentation.