Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
Gray::cArrayString< _TYPE_CH > Class Template Reference

#include <cArrayString.h>

Inheritance diagram for Gray::cArrayString< _TYPE_CH >:
Gray::cArrayTyped< cStringT< TCHAR >, const TCHAR * > Gray::CArray< TYPE, ARG_TYPE > Gray::CObject

Public Member Functions

 cArrayString () noexcept
 
 cArrayString (const _TYPE_CH **ppStr, ITERATE_t iCount)
 
 cArrayString (const cArrayString &a)
 
 cArrayString (THIS_t &&ref) noexcept
 
 ~cArrayString ()
 
void SetStrings (const _TYPE_CH **ppStr, ITERATE_t iCount)
 
void SetStrings (cStringT< _TYPE_CH > *ppStr, ITERATE_t iCount)
 
ITERATE_t _cdecl AddFormat (const _TYPE_CH *pszFormat,...)
 
ITERATE_t AddTable (const _TYPE_CH *const *ppszTable, size_t iElemSize=sizeof(_TYPE_CH *))
 
ITERATE_t AddUniqueMax (const _TYPE_CH *pszStr, ITERATE_t iMax=k_MaxDefault)
 
ITERATE_t FindCmpI (const _TYPE_CH *pszFind) const
 
ITERATE_t FindStrIR (const _TYPE_CH *pszSearch) const
 
_TYPE_CH ** get_PPStr () const
 
STR_t GetAtCheck (ITERATE_t i) const
 
ITERATE_t SetStrSep (const _TYPE_CH *pszStr, _TYPE_CH chSep=',')
 
STR_t GetStrSep (_TYPE_CH chSep=',', ITERATE_t iMax=0x7FFF) const
 
- Public Member Functions inherited from Gray::cArrayTyped< cStringT< TCHAR >, const TCHAR * >
void QSort ()
 
 cArrayTyped () noexcept
 
 cArrayTyped (const THIS_t &rArray)
 
 cArrayTyped (ITERATE_t iSize)
 
virtual ~cArrayTyped ()
 
bool isValidCheck () const noexcept
 < memory allocation and structure definitions are valid. More...
 
bool IsValidIndex (ITERATE_t i) const noexcept
 
ITERATE_t ClampValidIndex (ITERATE_t i) const noexcept
 
size_t GetHeapStats (OUT ITERATE_t &iAllocCount) const noexcept
 
void AssertValidIndex (ITERATE_t nIndex) const
 
const cStringT< TCHAR > & GetAtSecure (ITERATE_t nIndex) const
 
cStringT< TCHAR > & ElementAtSecure (ITERATE_t nIndex)
 
REF_t ConstElementAt (ITERATE_t nIndex) const
 
cStringT< TCHAR > & operator[] (ITERATE_t nIndex)
 
const cStringT< TCHAR > & operator[] (ITERATE_t nIndex) const
 
cStringT< TCHAR > & Head ()
 
cStringT< TCHAR > & Tail ()
 
cStringT< TCHAR > & ElementAtHead ()
 
cStringT< TCHAR > & ElementAtTail ()
 
REF_t ConstHead () const
 
REF_t ConstTail () const
 
REF_t GetAtTail ()
 
void UnLinkIndex (ITERATE_t nIndex)
 
void Swap (ITERATE_t i, ITERATE_t j)
 
void SetCopy (const cArrayTyped< cStringT< TCHAR >, const TCHAR * > &aValues)
 
const cArrayTyped< cStringT< TCHAR >, const TCHAR * > & operator= (const cArrayTyped< cStringT< TCHAR >, const TCHAR * > &aValues)
 
ITERATE_t FindIFor (const TCHAR * arg) const
 
bool HasArg (const TCHAR * arg) const
 
void RemoveLast ()
 
ELEM_t PopHead ()
 
ELEM_t PopTail ()
 
bool RemoveArg (const TCHAR * arg)
 
void UnLinkArg (const TCHAR * arg)
 
ITERATE_t AddTail (const TCHAR * newElement)
 
ITERATE_t PushTail (const TCHAR * newElement)
 
void AddHead (const TCHAR * newElement)
 
cStringT< TCHAR > * get_DataWork () const
 
void AddArray (const SUPER_t &src)
 
bool IsEqualArray (const SUPER_t &aValues) const
 
bool isArraySorted () const
 
bool isArraySortedND () const
 
- Public Member Functions inherited from Gray::CArray< TYPE, ARG_TYPE >
 CArray () noexcept
 
 CArray (THIS_t &&ref) noexcept
 
virtual ~CArray ()
 
bool IsValidMallocSize () const noexcept
 
ITERATE_t GetSize () const noexcept
 
ITERATE_t GetUpperBound () const noexcept
 
bool IsEmpty () const noexcept
 
void SetSize (ITERATE_t nNewSize)
 
ITERATE_t GetMallocSize () const noexcept
 
void RemoveAll ()
 Clean up. More...
 
const TYPEGetAt (ITERATE_t nIndex) const
 
TYPEElementAt (ITERATE_t nIndex)
 
void SetAt (ITERATE_t nIndex, ARG_TYPE newElement)
 
const TYPEGetData () const
 
TYPEGetData ()
 
void SetDataArrayPtr (TYPE *pData, ITERATE_t nSize)
 
void SetAtGrow (ITERATE_t nIndex, ARG_TYPE newElement)
 
ITERATE_t Add (ARG_TYPE newElement)
 
void Copy (const CArray &src)
 
TYPEoperator[] (ITERATE_t nIndex)
 
const TYPEoperator[] (ITERATE_t nIndex) const
 
void InsertAt (ITERATE_t nIndex, ARG_TYPE newElement)
 
void RemoveAt (ITERATE_t nIndex)
 
void RemoveAt (ITERATE_t nIndex, ITERATE_t iQty)
 
void MoveElement (ITERATE_t iFrom, ITERATE_t iTo)
 
- Public Member Functions inherited from Gray::CObject
virtual ~CObject ()
 
virtual void AssertValid () const
 < memory allocation and structure definitions are valid. More...
 
virtual void Serialize (cArchive &a)
 

Static Public Attributes

static const ITERATE_t k_MaxDefault = 32
 default max for AddUniqueMax. More...
 
static const ITERATE_t k_MaxElements = 64 * 1024
 Max elements. reasonable arbitrary limit. More...
 

Additional Inherited Members

- Public Types inherited from Gray::cArrayTyped< cStringT< TCHAR >, const TCHAR * >
typedef CArray< cStringT< TCHAR >, const TCHAR * > SUPER_t
 
typedef cArrayTyped< cStringT< TCHAR >, const TCHAR * > THIS_t
 
typedef ITERATE_t iterator
 
typedef ITERATE_t const_iterator
 
typedef cStringT< TCHAR > ELEM_t
 What type is stored. More...
 
typedef const TCHAR * REF_t
 How to refer to this? value or ref or pointer? More...
 
- Protected Member Functions inherited from Gray::cArrayTyped< cStringT< TCHAR >, const TCHAR * >
virtual COMPARE_t CompareData (REF_t Data1, REF_t Data2) const noexcept
 
ITERATE_t QSortPartition (ITERATE_t iLeft, ITERATE_t iRight)
 
void QSort (ITERATE_t iLeft, ITERATE_t iRight)
 
- Protected Member Functions inherited from Gray::CArray< TYPE, ARG_TYPE >
bool IsValidIndex (ITERATE_t i) const noexcept
 
- Protected Attributes inherited from Gray::CArray< TYPE, ARG_TYPE >
TYPEm_pData
 the actual array of data More...
 
ITERATE_t m_nSize
 Number of elements (upperBound - 1) More...
 

Detailed Description

template<typename _TYPE_CH = TCHAR>
class Gray::cArrayString< _TYPE_CH >

Non-sorted array of strings.

Constructor & Destructor Documentation

◆ cArrayString() [1/4]

template<typename _TYPE_CH = TCHAR>
Gray::cArrayString< _TYPE_CH >::cArrayString ( )
inlinenoexcept

◆ cArrayString() [2/4]

template<typename _TYPE_CH = TCHAR>
Gray::cArrayString< _TYPE_CH >::cArrayString ( const _TYPE_CH **  ppStr,
ITERATE_t  iCount 
)
inline

◆ cArrayString() [3/4]

template<typename _TYPE_CH = TCHAR>
Gray::cArrayString< _TYPE_CH >::cArrayString ( const cArrayString< _TYPE_CH > &  a)
inlineexplicit

◆ cArrayString() [4/4]

template<typename _TYPE_CH = TCHAR>
Gray::cArrayString< _TYPE_CH >::cArrayString ( THIS_t &&  ref)
inlinenoexcept

move constructor.

◆ ~cArrayString()

template<typename _TYPE_CH = TCHAR>
Gray::cArrayString< _TYPE_CH >::~cArrayString ( )
inline

Member Function Documentation

◆ AddFormat()

template<typename _TYPE_CH = TCHAR>
ITERATE_t _cdecl Gray::cArrayString< _TYPE_CH >::AddFormat ( const _TYPE_CH *  pszFormat,
  ... 
)
inline

◆ AddTable()

template<typename _TYPE_CH = TCHAR>
ITERATE_t Gray::cArrayString< _TYPE_CH >::AddTable ( const _TYPE_CH *const *  ppszTable,
size_t  iElemSize = sizeof(_TYPE_CH*) 
)
inline

◆ AddUniqueMax()

template<typename _TYPE_CH = TCHAR>
ITERATE_t Gray::cArrayString< _TYPE_CH >::AddUniqueMax ( const _TYPE_CH *  pszStr,
ITERATE_t  iMax = k_MaxDefault 
)
inline

Add a non dupe to the list end. if dupe then return index of match. Enforce iMax qty by delete head.

◆ FindCmpI()

template<typename _TYPE_CH = TCHAR>
ITERATE_t Gray::cArrayString< _TYPE_CH >::FindCmpI ( const _TYPE_CH *  pszFind) const
inline

find the (whole) string in the unsorted array of strings. Case Ignored.

◆ FindStrIR()

template<typename _TYPE_CH = TCHAR>
ITERATE_t Gray::cArrayString< _TYPE_CH >::FindStrIR ( const _TYPE_CH *  pszSearch) const
inline

find inside pszSearch a partial string match of any of the unsorted array of strings. Case Ignored.

◆ get_PPStr()

template<typename _TYPE_CH = TCHAR>
_TYPE_CH** Gray::cArrayString< _TYPE_CH >::get_PPStr ( ) const
inline

◆ GetAtCheck()

template<typename _TYPE_CH = TCHAR>
STR_t Gray::cArrayString< _TYPE_CH >::GetAtCheck ( ITERATE_t  i) const
inline

◆ GetStrSep()

template<typename _TYPE_CH = TCHAR>
STR_t Gray::cArrayString< _TYPE_CH >::GetStrSep ( _TYPE_CH  chSep = ',',
ITERATE_t  iMax = 0x7FFF 
) const
inline
Returns
the whole array as a single comma separated string.

◆ SetStrings() [1/2]

template<typename _TYPE_CH = TCHAR>
void Gray::cArrayString< _TYPE_CH >::SetStrings ( const _TYPE_CH **  ppStr,
ITERATE_t  iCount 
)
inline

Set array of strings.

◆ SetStrings() [2/2]

template<typename _TYPE_CH = TCHAR>
void Gray::cArrayString< _TYPE_CH >::SetStrings ( cStringT< _TYPE_CH > *  ppStr,
ITERATE_t  iCount 
)
inline

Set array of strings.

◆ SetStrSep()

template<typename _TYPE_CH = TCHAR>
ITERATE_t Gray::cArrayString< _TYPE_CH >::SetStrSep ( const _TYPE_CH *  pszStr,
_TYPE_CH  chSep = ',' 
)
inline

Set list from parsing a comma (or other) separated list of strings.

Member Data Documentation

◆ k_MaxDefault

template<typename _TYPE_CH = TCHAR>
const ITERATE_t Gray::cArrayString< _TYPE_CH >::k_MaxDefault = 32
static

default max for AddUniqueMax.

◆ k_MaxElements

template<typename _TYPE_CH = TCHAR>
const ITERATE_t Gray::cArrayString< _TYPE_CH >::k_MaxElements = 64 * 1024
static

Max elements. reasonable arbitrary limit.


The documentation for this class was generated from the following file: