UCommon
string.h File Reference

A common string class and character string support functions. More...

#include <ucommon/cpr.h>
#include <ucommon/generics.h>
#include <ucommon/protocols.h>
#include <ucommon/object.h>
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
Include dependency graph for string.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  ucommon::charbuf< S >
 A template to create a character array that can be manipulated as a string. More...
 
class  ucommon::memstring
 A string class that uses a cstring buffer that is fixed in memory. More...
 
class  ucommon::String
 A copy-on-write string class that operates by reference count. More...
 
class  ucommon::stringbuf< S >
 A string class that has a predefined string buffer. More...
 

Namespaces

namespace  ucommon
 Common namespace for all ucommon objects.
 

Macros

#define MIME_B64_WIDTH   76
 
#define PGP_B64_WIDTH   64
 

Typedefs

typedef String ucommon::string_t
 A convenience type for string.
 
typedef String::regex ucommon::stringex_t
 

Functions

bool ucommon::eq (char const *s1, char const *s2)
 Compare two null terminated strings if equal.
 
bool ucommon::eq (char const *s1, char const *s2, size_t size)
 Compare two null terminated strings if equal up to specified size.
 
bool ucommon::eq (String &s1, const char *s2)
 Compare two string objects if equal.
 
bool ucommon::eq_case (char const *s1, char const *s2)
 Compare two null terminated strings if equal ignoring case.
 
bool ucommon::eq_case (char const *s1, char const *s2, size_t size)
 Compare two null terminated strings if equal for a specified size ignoring case.
 
bool ucommon::ge (String &s1, const char *s2)
 
bool ucommon::gt (String &s1, const char *s2)
 
bool ucommon::le (String &s1, const char *s2)
 
bool ucommon::lt (String &s1, const char *s2)
 
bool ucommon::ne (char const *s1, char const *s2)
 
bool ucommon::ne (char const *s1, char const *s2, size_t size)
 
bool ucommon::ne (String &s1, String &s2)
 
bool ucommon::ne_case (char const *s1, char const *s2)
 
String ucommon::str (const char *string)
 
String ucommon::str (double value)
 
String ucommon::str (long value)
 
String ucommon::str (short value)
 
String ucommon::str (String &string)
 
String ucommon::str (unsigned long value)
 
String ucommon::str (unsigned short value)
 
template<>
void ucommon::swap< string_t > (string_t &s1, string_t &s2)
 

Detailed Description

A common string class and character string support functions.

Ucommon offers a simple string class that operates through copy-on-write when needing to expand buffer size. Derived classes and templates allows one to create strings which live entirely in the stack frame rather than using the heap. This offers the benefit of the string class manipulative members without compromising performance or locking issues in threaded applications. Other things found here include better and safer char array manipulation functions.

Definition in file string.h.

Macro Definition Documentation

◆ MIME_B64_WIDTH

#define MIME_B64_WIDTH   76

Definition at line 64 of file string.h.

◆ PGP_B64_WIDTH

#define PGP_B64_WIDTH   64

Definition at line 63 of file string.h.