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

#include <cArray.h>

Inheritance diagram for Gray::cArrayPtr< TYPE >:
Gray::cArrayFacade< TYPE *, TYPE * > Gray::cArrayTyped< TYPE, ARG_TYPE > Gray::CArray< TYPE, const TYPE & > Gray::CObject Gray::cThreadLockArrayPtr< TYPE >

Public Types

typedef cArrayFacade< TYPE *, TYPE * > SUPER_t
 
typedef SUPER_t::REF_t REF_t
 
typedef SUPER_t::ELEM_t ELEM_t
 
- Public Types inherited from Gray::cArrayFacade< TYPE *, TYPE * >
typedef cArrayTyped< TYPE *, TYPE * > SUPER_t
 
typedef cArrayFacade< TYPE *, TYPE * > THIS_t
 
typedef SUPER_t::ELEM_t ELEM_t
 
typedef SUPER_t::REF_t REF_t
 
- Public Types inherited from Gray::cArrayTyped< TYPE, ARG_TYPE >
typedef CArray< TYPE, ARG_TYPE > SUPER_t
 
typedef cArrayTyped< TYPE, ARG_TYPE > THIS_t
 
typedef ITERATE_t iterator
 
typedef ITERATE_t const_iterator
 
typedef TYPE ELEM_t
 What type is stored. More...
 
typedef ARG_TYPE REF_t
 How to refer to this? value or ref or pointer? More...
 

Public Member Functions

void DeleteAt (ITERATE_t i)
 
void DeleteAll ()
 
- Public Member Functions inherited from Gray::cArrayFacade< TYPE *, TYPE * >
virtual ~cArrayFacade ()
 
virtual COMPARE_t CompareData (REF_t pData1, REF_t pData2) const noexcept override
 
REF_t GetAt (ITERATE_t index) const
 
REF_t GetAtCheck (ITERATE_t index) const
 
TYPEPopHead ()
 
TYPEPopTail ()
 
- Public Member Functions inherited from Gray::cArrayTyped< TYPE, ARG_TYPE >
 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, ARG_TYPE > &aValues)
 
const cArrayTyped< TYPE, ARG_TYPE > & operator= (const cArrayTyped< TYPE, ARG_TYPE > &aValues)
 
ITERATE_t FindIFor (ARG_TYPE arg) const
 
bool HasArg (ARG_TYPE arg) const
 
void RemoveLast ()
 
ELEM_t PopHead ()
 
ELEM_t PopTail ()
 
bool RemoveArg (ARG_TYPE arg)
 
void UnLinkArg (ARG_TYPE arg)
 
ITERATE_t AddTail (ARG_TYPE newElement)
 
ITERATE_t PushTail (ARG_TYPE newElement)
 
void AddHead (ARG_TYPE newElement)
 
TYPEget_DataWork () const
 
void AddArray (const SUPER_t &src)
 
bool IsEqualArray (const SUPER_t &aValues) const
 
bool isArraySorted () const
 
bool isArraySortedND () const
 
void QSort ()
 
- Public Member Functions inherited from Gray::CArray< TYPE, const 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, const TYPE & newElement)
 
const TYPEGetData () const
 
TYPEGetData ()
 
void SetDataArrayPtr (TYPE *pData, ITERATE_t nSize)
 
void SetAtGrow (ITERATE_t nIndex, const TYPE & newElement)
 
ITERATE_t Add (const TYPE & newElement)
 
void Copy (const CArray &src)
 
TYPEoperator[] (ITERATE_t nIndex)
 
const TYPEoperator[] (ITERATE_t nIndex) const
 
void InsertAt (ITERATE_t nIndex, const 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)
 

Additional Inherited Members

- Protected Member Functions inherited from Gray::cArrayTyped< TYPE, ARG_TYPE >
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, const TYPE & >
bool IsValidIndex (ITERATE_t i) const noexcept
 
- Protected Attributes inherited from Gray::CArray< TYPE, const TYPE & >
TYPEm_pData
 the actual array of data More...
 
ITERATE_t m_nSize
 Number of elements (upperBound - 1) More...
 

Detailed Description

template<class TYPE>
class Gray::cArrayPtr< TYPE >

An array of some sort of dumb pointer. Pointer memory ownership is unknown. Do not free it. TYPE is allowed to be const X

Member Typedef Documentation

◆ ELEM_t

template<class TYPE >
typedef SUPER_t::ELEM_t Gray::cArrayPtr< TYPE >::ELEM_t

◆ REF_t

template<class TYPE >
typedef SUPER_t::REF_t Gray::cArrayPtr< TYPE >::REF_t

◆ SUPER_t

template<class TYPE >
typedef cArrayFacade<TYPE*, TYPE*> Gray::cArrayPtr< TYPE >::SUPER_t

Member Function Documentation

◆ DeleteAll()

template<class TYPE >
void Gray::cArrayPtr< TYPE >::DeleteAll ( )
inline

Similar to RemoveAll(), DisposeAll() except it calls 'delete' to try to dereference all the entries.

Note
often delete has the effect of removing itself from the list. Beware of this.

◆ DeleteAt()

template<class TYPE >
void Gray::cArrayPtr< TYPE >::DeleteAt ( ITERATE_t  i)
inline

Dynamic heap allocated object is deleted.


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