Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cUIDArray Class Reference

#include <cUIDArray.h>

Inheritance diagram for GrayLib::cUIDArray:
Gray::cArraySortVal< UID_t > Gray::cArraySorted< TYPE, TYPE_ARG, TYPE_KEY > Gray::cArrayTyped< TYPE, TYPE_ARG > Gray::CArray< TYPE, ARG_TYPE > Gray::CObject

Public Types

enum  M_TYPE_ { M_QTY }
 
- Public Types inherited from Gray::cArraySortVal< UID_t >
typedef cArraySorted< UID_t, UID_t, UID_t > SUPER_t
 
typedef SUPER_t::KEY_t KEY_t
 
typedef SUPER_t::REF_t REF_t
 
- Public Types inherited from Gray::cArraySorted< TYPE, TYPE_ARG, TYPE_KEY >
typedef cArrayTyped< TYPE, TYPE_ARG > SUPER_t
 
typedef TYPE_KEY KEY_t
 
typedef SUPER_t::REF_t REF_t
 
- Public Types inherited from Gray::cArrayTyped< TYPE, TYPE_ARG >
typedef CArray< TYPE, TYPE_ARG > SUPER_t
 
typedef cArrayTyped< TYPE, TYPE_ARG > THIS_t
 
typedef ITERATE_t iterator
 
typedef ITERATE_t const_iterator
 
typedef TYPE ELEM_t
 What type is stored. More...
 
typedef TYPE_ARG REF_t
 How to refer to this? value or ref or pointer? More...
 

Public Member Functions

virtual cScriptableInterfaceDefPtr _stdcall get_ScriptInterfaceDef () const
 
ITERATE_t FindUID (UID_t uid) const
 
bool isUIDIn (UID_t uid) const
 
ITERATE_t AttachUID (UID_t uid)
 
ITERATE_t DetachUID (UID_t uid)
 
UID_t GetAtCheck (int i) const
 
ITERATE_t FindObj (const cXObject *pObj) const
 
bool isObjIn (const cXObject *pObj) const
 
ITERATE_t AttachObj (const cXObject *pObj)
 
ITERATE_t DetachObj (const cXObject *pObj)
 
void s_WriteObjs (cScriptFileWriter &s, const ATOMCHAR_t *pszTag)
 
HRESULT s_PropGetObjs (const ATOMCHAR_t *pszKey, OUT cVariant &vValRet)
 
HRESULT s_InvokeExtProp (const cVariant &vArgs, OUT cVariant &vValRet)
 
- Public Member Functions inherited from Gray::cArraySortVal< UID_t >
virtual ~cArraySortVal ()
 
bool RemoveArgKey (UID_t Data1)
 
- Public Member Functions inherited from Gray::cArraySorted< TYPE, TYPE_ARG, TYPE_KEY >
virtual ~cArraySorted ()
 
ITERATE_t FindINear (REF_t pNew, COMPARE_t &iCompareRes) const
 
ITERATE_t FindINearKey (KEY_t key, COMPARE_t &iCompareRes) const
 
ITERATE_t FindIForKey (KEY_t key) const
 
ITERATE_t FindIFirstForKey (TYPE_KEY nKey) const
 
ITERATE_t FindILastForKey (TYPE_KEY nKey) const
 
ITERATE_t AddPresorted (ITERATE_t index, COMPARE_t iCompareRes, TYPE_ARG pNew)
 
bool RemoveKey (TYPE_KEY key)
 
ITERATE_t Add (TYPE_ARG pNew)
 
void AddArray (const SUPER_t &a)
 
- Public Member Functions inherited from Gray::cArrayTyped< TYPE, TYPE_ARG >
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 TYPEGetAtSecure (ITERATE_t nIndex) const
 
TYPEElementAtSecure (ITERATE_t nIndex)
 
REF_t ConstElementAt (ITERATE_t nIndex) const
 
TYPEoperator[] (ITERATE_t nIndex)
 
const TYPEoperator[] (ITERATE_t nIndex) const
 
TYPEHead ()
 
TYPETail ()
 
TYPEElementAtHead ()
 
TYPEElementAtTail ()
 
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< TYPE, TYPE_ARG > &aValues)
 
const cArrayTyped< TYPE, TYPE_ARG > & operator= (const cArrayTyped< TYPE, TYPE_ARG > &aValues)
 
ITERATE_t FindIFor (TYPE_ARG arg) const
 
bool HasArg (TYPE_ARG arg) const
 
void RemoveLast ()
 
ELEM_t PopHead ()
 
ELEM_t PopTail ()
 
bool RemoveArg (TYPE_ARG arg)
 
void UnLinkArg (TYPE_ARG arg)
 
ITERATE_t AddTail (TYPE_ARG newElement)
 
ITERATE_t PushTail (TYPE_ARG newElement)
 
void AddHead (TYPE_ARG newElement)
 
TYPEget_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 cScriptableInterfaceDef sm_ScriptInterfaceDef
 
static cScriptableMethod sm_Methods [M_QTY+1]
 

Additional Inherited Members

- Protected Member Functions inherited from Gray::cArraySortVal< UID_t >
virtual COMPARE_t CompareData (REF_t Data1, REF_t Data2) const noexcept override
 
virtual COMPARE_t CompareKey (KEY_t Data1, REF_t Data2) const override
 
- Protected Member Functions inherited from Gray::cArraySorted< TYPE, TYPE_ARG, TYPE_KEY >
virtual COMPARE_t CompareKey (KEY_t key1, REF_t Data2) const
 
bool RemoveArgKey (REF_t pObj, KEY_t key)
 
- Protected Member Functions inherited from Gray::cArrayTyped< TYPE, TYPE_ARG >
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

A collection of (weak) reference to UID's. Sorted by UID for quick search. The UID_t is a weak reference to a cXObject. Sparse array of UID's sorted.

Member Enumeration Documentation

◆ M_TYPE_

Enumerator
M_QTY 

Member Function Documentation

◆ AttachObj()

ITERATE_t GrayLib::cUIDArray::AttachObj ( const cXObject pObj)
Returns
index in the array. (temporary if sorted)

◆ AttachUID()

ITERATE_t GrayLib::cUIDArray::AttachUID ( UID_t  uid)
Returns
index in the array. (temporary if sorted)

◆ DetachObj()

ITERATE_t GrayLib::cUIDArray::DetachObj ( const cXObject pObj)

◆ DetachUID()

ITERATE_t GrayLib::cUIDArray::DetachUID ( UID_t  uid)
Returns
k_ITERATE_BAD = -1 = not here.

◆ FindObj()

ITERATE_t GrayLib::cUIDArray::FindObj ( const cXObject pObj) const
Returns
index in the array. (temporary if sorted)

◆ FindUID()

ITERATE_t GrayLib::cUIDArray::FindUID ( UID_t  uid) const
inline

find in sorted array.

Returns
index in the array. (temporary if sorted)

◆ get_ScriptInterfaceDef()

virtual cScriptableInterfaceDefPtr _stdcall GrayLib::cUIDArray::get_ScriptInterfaceDef ( ) const
inlinevirtual

◆ GetAtCheck()

UID_t GrayLib::cUIDArray::GetAtCheck ( int  i) const
inline

◆ isObjIn()

bool GrayLib::cUIDArray::isObjIn ( const cXObject pObj) const
inline

◆ isUIDIn()

bool GrayLib::cUIDArray::isUIDIn ( UID_t  uid) const
inline

◆ s_InvokeExtProp()

HRESULT GrayLib::cUIDArray::s_InvokeExtProp ( const cVariant vArgs,
OUT cVariant vValRet 
)

◆ s_PropGetObjs()

HRESULT GrayLib::cUIDArray::s_PropGetObjs ( const ATOMCHAR_t pszKey,
OUT cVariant vValRet 
)

◆ s_WriteObjs()

void GrayLib::cUIDArray::s_WriteObjs ( cScriptFileWriter s,
const ATOMCHAR_t pszTag 
)

Member Data Documentation

◆ sm_Methods

cScriptableMethod GrayLib::cUIDArray::sm_Methods[M_QTY+1]
static

◆ sm_ScriptInterfaceDef

cScriptableInterfaceDef GrayLib::cUIDArray::sm_ScriptInterfaceDef
static

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