CXString

From cxwiki

Revision as of 08:11, 23 February 2018 by Windwalkr (talk | contribs) (Created page with "<div class="mw-parser-output">The CXString class is considered the "default" string class in the cxsource framework. It offers a reasonable compromise of capabilities. Other s...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The CXString class is considered the "default" string class in the cxsource framework. It offers a reasonable compromise of capabilities. Other string classes are available for more specific uses where the standard tradeoffs are not suitable.
A CXString object nominally stores UTF-8 encoded text with a zero termination byte. Strings are stored using copy-on-write references, and string pooling may optionally be enabled using a compile-time flag. CXString objects do not distinguish "null" and "empty" strings.
 

Construction

// Efficiently construct an empty string.
CXString(void);

// Construct from a cxsource string object.
CXString(const CXString &str);
CXString(CXString&& rhs);
CXString(const class CXStringEdit& str);
CXString(const CXStringArgument& cstr);

// Construct from a character range.
CXString(const CXStringArgument& begin, const CXStringArgument& end);
CXString(const char* __nullable ch, size_t len);
CXString(const char* __nonnull ch, const char* __nonnull end);

// Construct from Objective-C string or data objects.
CXString(NSString* __nullable str);
CXString(NSData* __nullable data);

// Construct from a printf-style format string.
static CXString Fromf(const char* __nonnull format, ...);

Equivalent assingment operators are also available.

 

Comparison
    bool operator==(const CXString &other) const;
    bool operator==(const char* __nullable other) const;
  
  // sort operators
    bool operator<(const CXString &other) const;
    bool operator<=(const CXString &other) const;
    bool operator>(const CXString &other) const;
    bool operator>=(const CXString &other) const;
  
    bool operator!=(const CXString &other) const;
    bool operator!=(const char* __nullable other) const;
struct std::hash<CXString>;

struct CXStringPooledMapCompare;

 

 
 
 
Helpers