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

#include <cNetAddrList.h>

Inheritance diagram for GrayLib::cNetAddrList:
Gray::cArrayString< char > Gray::cArrayTyped< TYPE, ARG_TYPE > Gray::CArray< TYPE, const TYPE & > Gray::CObject

Public Member Functions

 cNetAddrList () noexcept
 
 cNetAddrList (const char *pszAddresses)
 
 ~cNetAddrList ()
 
ITERATE_t get_AddrQty () const noexcept
 
ITERATE_t get_AddrCurIndex () const noexcept
 
cStringA GetAddrEnum (ITERATE_t i) const
 
cStringA get_AddrCurStr () const
 
bool SelectAddrEnum (ITERATE_t i)
 
bool SelectAddrMod (ITERATE_t i)
 
bool SelectAddrNext ()
 
ITERATE_t AddAddress (const char *pszAddr)
 
void RemoveAll ()
 
cStringA get_AddrListStr () const
 
ITERATE_t put_AddrListStr (const char *pszAddrList)
 
 UNITTEST_FRIEND (cNetAddrList)
 
- Public Member Functions inherited from Gray::cArrayString< char >
 cArrayString () noexcept
 
 cArrayString (const char **ppStr, ITERATE_t iCount)
 
 cArrayString (const cArrayString &a)
 
 cArrayString (THIS_t &&ref) noexcept
 
 ~cArrayString ()
 
void SetStrings (const char **ppStr, ITERATE_t iCount)
 
void SetStrings (cStringT< char > *ppStr, ITERATE_t iCount)
 
ITERATE_t _cdecl AddFormat (const char *pszFormat,...)
 
ITERATE_t AddTable (const char *const *ppszTable, size_t iElemSize=sizeof(char *))
 
ITERATE_t AddUniqueMax (const char *pszStr, ITERATE_t iMax=k_MaxDefault)
 
ITERATE_t FindCmpI (const char *pszFind) const
 
ITERATE_t FindStrIR (const char *pszSearch) const
 
char ** get_PPStr () const
 
STR_t GetAtCheck (ITERATE_t i) const
 
ITERATE_t SetStrSep (const char *pszStr, char chSep=',')
 
STR_t GetStrSep (char chSep=',', ITERATE_t iMax=0x7FFF) const
 
- 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)
 

Protected Attributes

ITERATE_t m_nAddrCur
 The current selected address. Use this one and ignore the others until needed. More...
 
- 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...
 

Additional Inherited Members

- 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...
 
- Static Public Attributes inherited from Gray::cArrayString< char >
static const ITERATE_t k_MaxDefault
 default max for AddUniqueMax. More...
 
static const ITERATE_t k_MaxElements
 Max elements. reasonable arbitrary limit. More...
 
- Protected Member Functions inherited from Gray::cArrayTyped< TYPE, ARG_TYPE >
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, const TYPE & >
bool IsValidIndex (ITERATE_t i) const noexcept
 

Detailed Description

Hold a potential list of alternate IP addresses and host names. used as fail over servers. "Name:Port,Name2:port", e.g. "menace.homeftp.net:2593,192.168.1.2:2593"

Constructor & Destructor Documentation

◆ cNetAddrList() [1/2]

GrayLib::cNetAddrList::cNetAddrList ( )
inlinenoexcept

◆ cNetAddrList() [2/2]

GrayLib::cNetAddrList::cNetAddrList ( const char *  pszAddresses)
inline

◆ ~cNetAddrList()

GrayLib::cNetAddrList::~cNetAddrList ( )
inline

Member Function Documentation

◆ AddAddress()

ITERATE_t GrayLib::cNetAddrList::AddAddress ( const char *  pszAddr)

◆ get_AddrCurIndex()

ITERATE_t GrayLib::cNetAddrList::get_AddrCurIndex ( ) const
inlinenoexcept

◆ get_AddrCurStr()

cStringA GrayLib::cNetAddrList::get_AddrCurStr ( ) const
inline

get the current selected address.

◆ get_AddrListStr()

cStringA GrayLib::cNetAddrList::get_AddrListStr ( ) const

◆ get_AddrQty()

ITERATE_t GrayLib::cNetAddrList::get_AddrQty ( ) const
inlinenoexcept

◆ GetAddrEnum()

cStringA GrayLib::cNetAddrList::GetAddrEnum ( ITERATE_t  i) const
inline

get the current selected address.

◆ put_AddrListStr()

ITERATE_t GrayLib::cNetAddrList::put_AddrListStr ( const char *  pszAddrList)

◆ RemoveAll()

void GrayLib::cNetAddrList::RemoveAll ( )
inline

◆ SelectAddrEnum()

bool GrayLib::cNetAddrList::SelectAddrEnum ( ITERATE_t  i)
inline

◆ SelectAddrMod()

bool GrayLib::cNetAddrList::SelectAddrMod ( ITERATE_t  i)
inline

statistical distribution. feed a random number.

◆ SelectAddrNext()

bool GrayLib::cNetAddrList::SelectAddrNext ( )
inline

◆ UNITTEST_FRIEND()

GrayLib::cNetAddrList::UNITTEST_FRIEND ( cNetAddrList  )

Member Data Documentation

◆ m_nAddrCur

ITERATE_t GrayLib::cNetAddrList::m_nAddrCur
protected

The current selected address. Use this one and ignore the others until needed.


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