FARGOS/VISTA Object Management Environment Core  ..
FARGOS/VISTA Object Management Environment Core Table of Contents
OMEstringStorage Class Referencefinal

Reference-counted storage for OMEstring objects. More...

#include <OMEstring.h>

+ Inheritance diagram for OMEstringStorage:

Private Types

typedef uint_fast32_t OMEstringCharSet_t
 

Private Member Functions

 OMEstringStorage ()
 
 OMEstringStorage (const char *s, uint_fast8_t impliedCharSet=OME_DEFAULT_CHARSET) NONNULL_CLASS_PARAMETERS(2)
 
 OMEstringStorage (OMEstringInROM textSegmentString, ssize_t l=-1, uint_fast8_t impliedCharSet=OME_DEFAULT_CHARSET)
 
 OMEstringStorage (const unsigned char *s, ssize_t l=-1, uint_fast8_t impliedCharSet=OME_CHARSET_UNDEFINED) NONNULL_CLASS_PARAMETERS(2)
 
 OMEstringStorage (size_t l, uint_fast8_t impliedCharSet=OME_CHARSET_UNDEFINED)
 
 ~OMEstringStorage ()
 
void noteCharacterSet (uint_fast8_t c)
 
void determineCharacterSet ()
 
uint_fast8_t getCharacterSet () const
 
size_t length () const OME_PURE_FUNCTION
 
size_t lengthInCharacters () const OME_PURE_FUNCTION
 
 operator const char * () const OME_PURE_FUNCTION
 
 operator const unsigned char * () const OME_PURE_FUNCTION
 
bool operator== (const OMEstringStorage &arg) const
 
bool operator!= (const OMEstringStorage &arg) const
 
bool operator< (const OMEstringStorage &arg) const
 
bool operator> (const OMEstringStorage &arg) const
 
bool operator<= (const OMEstringStorage &arg) const
 
bool operator>= (const OMEstringStorage &arg) const
 
bool operator== (const char *arg) const
 
bool operator!= (const char *arg) const
 
OMEstringStorageoperator+ (const OMEstringStorage &rop) const
 
virtual OMEreferenceCountdeepCopy () const override
 
ssize_t substr (const unsigned char *sub, size_t len, size_t startOffset=0) const
 
ssize_t substr (const char *sub, size_t len, size_t startOffset=0) const
 
ssize_t substr (const OMEstringStorage &sub, size_t startOffset=0) const
 
ssize_t lastSubstr (const unsigned char *sub, size_t len, size_t startOffset=~static_cast< size_t >(0)) const
 
ssize_t lastSubstr (const OMEstringStorage &sub, size_t startOffset=~static_cast< size_t >(0)) const
 
unsigned char midchar (size_t offset) const
 
uint32_t midMBCSchar (size_t offset) const
 
class OMEstringmidstr (size_t offset, size_t len) const
 
class OMEstringmidMBCSstr (size_t offset, size_t len) const
 
class OMEstringreverse ()
 
class OMEstringreverseMBCS ()
 
void truncateToLength (size_t newLen)
 
template<typename STREAMTYPE >
STREAMTYPE & outputOnStream (STREAMTYPE &outputStream, int_fast16_t indent=0, uint8_t includeTypePrefix=0) const
 
template<typename STREAMTYPE >
STREAMTYPE & outputOnStreamAsHex (STREAMTYPE &outputStream, int_fast16_t indent=0, bool dense=false) const
 

Static Private Member Functions

static constexpr bool stringIsInROM (OMEstringCharSet_t c)
 
static constexpr bool stringIsMBCS (OMEstringCharSet_t c)
 
static constexpr OMEstringCharSet_t ROMstringLen (OMEstringCharSet_t c)
 

Private Attributes

union {
   _STD string *   str
 
   OMEstringInROM   romString
 
stringData
 
OMEstringCharSet_t charSet
 

Friends

class OMEstring
 
class OMEreferenceToData< OMEstringStorage >
 

Additional Inherited Members

- Public Member Functions inherited from OMEreferenceCount
 OMEreferenceCount ()
 
virtual ~OMEreferenceCount ()
 
void addReadOnlyReference ()
 
int_fast32_t dropReference ()
 
OMEreferenceCountgetUniqueReference ()
 
int_fast32_t totalReferences () const OME_ALWAYS_INLINE
 
- Protected Member Functions inherited from OMEreferenceCount
void lockMe ()
 
void unlockMe ()
 
- Protected Attributes inherited from OMEreferenceCount
int32_t references
 
int32_t mutexID
 

Detailed Description

Reference-counted storage for OMEstring objects.

Reference-counted maintainer of a string. Used internally by OMEstring.

Member Typedef Documentation

◆ OMEstringCharSet_t

typedef uint_fast32_t OMEstringStorage::OMEstringCharSet_t
private

Constructor & Destructor Documentation

◆ OMEstringStorage() [1/5]

OMEstringStorage::OMEstringStorage ( )
private

◆ OMEstringStorage() [2/5]

OMEstringStorage::OMEstringStorage ( const char *  s,
uint_fast8_t  impliedCharSet = OME_DEFAULT_CHARSET 
)
explicitprivate

References _STD, charSet, s, and stringData.

◆ OMEstringStorage() [3/5]

OMEstringStorage::OMEstringStorage ( OMEstringInROM  textSegmentString,
ssize_t  l = -1,
uint_fast8_t  impliedCharSet = OME_DEFAULT_CHARSET 
)
explicitprivate

◆ OMEstringStorage() [4/5]

OMEstringStorage::OMEstringStorage ( const unsigned char *  s,
ssize_t  l = -1,
uint_fast8_t  impliedCharSet = OME_CHARSET_UNDEFINED 
)
explicitprivate

◆ OMEstringStorage() [5/5]

OMEstringStorage::OMEstringStorage ( size_t  l,
uint_fast8_t  impliedCharSet = OME_CHARSET_UNDEFINED 
)
explicitprivate

◆ ~OMEstringStorage()

OMEstringStorage::~OMEstringStorage ( )
private

Member Function Documentation

◆ deepCopy()

OMEreferenceCount * OMEstringStorage::deepCopy ( ) const
overrideprivatevirtual

Reimplemented from OMEreferenceCount.

References noteDeepCopy().

◆ determineCharacterSet()

void OMEstringStorage::determineCharacterSet ( )
private

◆ getCharacterSet()

uint_fast8_t OMEstringStorage::getCharacterSet ( ) const
inlineprivate

◆ lastSubstr() [1/2]

ssize_t OMEstringStorage::lastSubstr ( const OMEstringStorage sub,
size_t  startOffset = ~static_cast<size_t>(0) 
) const
private

References lastSubstr(), and length().

◆ lastSubstr() [2/2]

ssize_t OMEstringStorage::lastSubstr ( const unsigned char *  sub,
size_t  len,
size_t  startOffset = ~static_cast<size_t>(0) 
) const
private

References findLastSubstring(), and length().

Referenced by lastSubstr().

◆ length()

◆ lengthInCharacters()

size_t OMEstringStorage::lengthInCharacters ( ) const
private

References length(), and UTF8characterLength().

◆ midchar()

unsigned char OMEstringStorage::midchar ( size_t  offset) const
private

◆ midMBCSchar()

uint32_t OMEstringStorage::midMBCSchar ( size_t  offset) const
private

References length(), and UTF8characterLength().

◆ midMBCSstr()

OMEstring * OMEstringStorage::midMBCSstr ( size_t  offset,
size_t  len 
) const
private

◆ midstr()

OMEstring * OMEstringStorage::midstr ( size_t  offset,
size_t  len 
) const
private

◆ noteCharacterSet()

void OMEstringStorage::noteCharacterSet ( uint_fast8_t  c)
inlineprivate

References charSet, and OME_CHARSET_MASK_CHARSET.

Referenced by determineCharacterSet().

◆ operator const char *()

OMEstringStorage::operator const char * ( ) const
private

◆ operator const unsigned char *()

OMEstringStorage::operator const unsigned char * ( ) const
private

◆ operator!=() [1/2]

bool OMEstringStorage::operator!= ( const char *  arg) const
private

◆ operator!=() [2/2]

bool OMEstringStorage::operator!= ( const OMEstringStorage arg) const
private

◆ operator+()

OMEstringStorage * OMEstringStorage::operator+ ( const OMEstringStorage rop) const
private

◆ operator<()

bool OMEstringStorage::operator< ( const OMEstringStorage arg) const
private

◆ operator<=()

bool OMEstringStorage::operator<= ( const OMEstringStorage arg) const
private

◆ operator==() [1/2]

bool OMEstringStorage::operator== ( const char *  arg) const
private

◆ operator==() [2/2]

bool OMEstringStorage::operator== ( const OMEstringStorage arg) const
private

◆ operator>()

bool OMEstringStorage::operator> ( const OMEstringStorage arg) const
private

◆ operator>=()

bool OMEstringStorage::operator>= ( const OMEstringStorage arg) const
private

◆ reverse()

OMEstring * OMEstringStorage::reverse ( )
private

◆ reverseMBCS()

class OMEstring* OMEstringStorage::reverseMBCS ( )
private

◆ ROMstringLen()

static constexpr OMEstringCharSet_t OMEstringStorage::ROMstringLen ( OMEstringCharSet_t  c)
inlinestaticconstexprprivate

Referenced by length().

◆ stringIsInROM()

static constexpr bool OMEstringStorage::stringIsInROM ( OMEstringCharSet_t  c)
inlinestaticconstexprprivate

◆ stringIsMBCS()

static constexpr bool OMEstringStorage::stringIsMBCS ( OMEstringCharSet_t  c)
inlinestaticconstexprprivate

◆ substr() [1/3]

ssize_t OMEstringStorage::substr ( const char *  sub,
size_t  len,
size_t  startOffset = 0 
) const
inlineprivate

References substr().

◆ substr() [2/3]

ssize_t OMEstringStorage::substr ( const OMEstringStorage sub,
size_t  startOffset = 0 
) const
private

References length(), and substr().

◆ substr() [3/3]

ssize_t OMEstringStorage::substr ( const unsigned char *  sub,
size_t  len,
size_t  startOffset = 0 
) const
private

References findSubstring(), and length().

Referenced by substr().

◆ truncateToLength()

void OMEstringStorage::truncateToLength ( size_t  newLen)
private

Friends And Related Function Documentation

◆ OMEreferenceToData< OMEstringStorage >

friend class OMEreferenceToData< OMEstringStorage >
friend

◆ OMEstring

friend class OMEstring
friend

Member Data Documentation

◆ charSet

◆ romString

OMEstringInROM OMEstringStorage::romString

◆ str

_STD string* OMEstringStorage::str

◆ stringData


The documentation for this class was generated from the following files:
Generated: Fri Jul 31 2020 18:19:16
Support Information