Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
CStringfinal

#include "memory.hh"

Public Types

usingconst_iterator = std::string::const_iterator
usingconst_reference = std::string::const_reference
usingconst_reverse_iterator = std::string::const_reverse_iterator
usingsize_type = std::string::size_type

Public Member Functions

CString &assign (const char *c) noexcept
CString &assign (const char *c, size_type s)
constexpr CString &assign (const CString &c) noexcept
CString &assign (const std::string &s) noexcept
CString &assign (size_type count, char ch) noexcept
const_referenceat (size_type pos) const
const_iteratorbegin () const noexcept
const char *c_str () const noexcept
size_typecapacity () const noexcept
const_iteratorcbegin () const noexcept
const_iteratorcend () const noexcept
const_reverse_iteratorcrbegin () const noexcept
const_reverse_iteratorcrend () const noexcept
constexprCString () noexcept=default
CString (const char *c)
CString (const char *c, size_type s)
constexprCString (const CString &c) noexcept
CString (const std::string &s)
constexprCString (CString &&c) noexcept
const char *data () const noexcept
boolempty () const noexcept
const_iteratorend () const noexcept
size_typelength () const noexcept
operator std::string () const noexcept
CString &operator= (char ch) noexcept
CString &operator= (const char *c) noexcept
constexpr CString &operator= (const CString &c) noexcept
CString &operator= (const std::string &s) noexcept
constexpr CString &operator= (CString &&c) noexcept
CString &operator= (std::initializer_list< char > l)
const_referenceoperator[] (size_type pos) const
const_reverse_iteratorrbegin () const noexcept
const_reverse_iteratorrend () const noexcept
size_typesize () const noexcept
const std::string &string () const
~CString () noexcept

Static Public Member Functions

static CStringlookup (const std::string &s)
static uinttemp_quark_impl (CString c)
static CStringtemp_quark_impl (uint maybequark)

Static Public Attributes

static constexpr const std::string::size_typenpos

Detailed Description

Compact, deduplicating string variant for constant strings.

Member Typedef Documentation

size_type

using size_type = std::string::size_type

const_iterator

using const_iterator = std::string::const_iterator

const_reference

using const_reference = std::string::const_reference

const_reverse_iterator

using const_reverse_iterator = std::string::const_reverse_iterator

Constructor & Destructor Documentation

~CString()

~CString ( )
noexcept

CString() [1/6]

CString ( const char * c)

CString() [2/6]

CString ( const char * c,
size_type s
)

CString() [3/6]

CString ( const std::string & s)

CString() [4/6]

constexpr CString ( )
constexprdefaultnoexcept

CString() [5/6]

constexpr CString ( const CString & c)
constexprnoexcept

CString() [6/6]

constexpr CString ( CString && c)
constexprnoexcept

Member Function Documentation

operator=() [1/6]

constexpr CString & operator= ( const CString & c)
constexprnoexcept

operator=() [2/6]

constexpr CString & operator= ( CString && c)
constexprnoexcept

operator=() [3/6]

CString & operator= ( const std::string & s)
noexcept

operator=() [4/6]

CString & operator= ( const char * c)
noexcept

operator=() [5/6]

CString & operator= ( char ch)
noexcept

operator=() [6/6]

CString & operator= ( std::initializer_list< char > l)

assign() [1/5]

constexpr CString & assign ( const CString & c)
constexprnoexcept

assign() [2/5]

CString & assign ( const std::string & s)
noexcept

assign() [3/5]

CString & assign ( const char * c,
size_type s
)

assign() [4/5]

CString & assign ( const char * c)
noexcept

assign() [5/5]

CString & assign ( size_type count,
char ch
)
noexcept

string()

const std::string & string ( ) const

Convert `CString` into a std::string.

c_str()

const char * c_str ( ) const
noexcept

data()

const char * data ( ) const
noexcept

at()

const_reference at ( size_type pos) const

operator[]()

const_reference operator[] ( size_type pos) const

capacity()

size_type capacity ( ) const
noexcept

length()

size_type length ( ) const
noexcept

empty()

bool empty ( ) const
noexcept

size()

size_type size ( ) const
noexcept

begin()

const_iterator begin ( ) const
noexcept

cbegin()

const_iterator cbegin ( ) const
noexcept

end()

const_iterator end ( ) const
noexcept

cend()

const_iterator cend ( ) const
noexcept

rbegin()

const_reverse_iterator rbegin ( ) const
noexcept

crbegin()

const_reverse_iterator crbegin ( ) const
noexcept

rend()

const_reverse_iterator rend ( ) const
noexcept

crend()

const_reverse_iterator crend ( ) const
noexcept

operator std::string()

operator std::string ( ) const
noexcept

lookup()

CString lookup ( const std::string & s)
static

Lookup a previously existing CString for a std::string `s`. If `s` has never been assigned to a CString before, the returned CString is empty. In constrast to assign(), no new memory is allocated.

temp_quark_impl() [1/2]

uint temp_quark_impl ( CString c)
static

temp_quark_impl() [2/2]

CString temp_quark_impl ( uint maybequark)
static

Member Data Documentation

npos

constexpr const std::string::size_type npos
staticconstexpr