Simple++
Powerfull and lightning fast C++ Library
Public Member Functions | List of all members
OrderedMap< I, T, Compare > Class Template Reference

#include <OrderedMap.h>

Inheritance diagram for OrderedMap< I, T, Compare >:
Map< I, T > Vector< MapObject< I, T > > BasicSimpleIO

Public Member Functions

 OrderedMap (const Compare &compareFunc=Compare())
 
 OrderedMap (const OrderedMap &map)
 
 OrderedMap (OrderedMap &&map)
 
 ~OrderedMap (void)
 
T * operator[] (const I &index)
 Operator [] return the value for a specified index (can be NULL if the value is not found) More...
 
const T * operator[] (const I &index) const
 Operator [] return the value for a specified index (can be NULL if the value is not found) More...
 
T * getValue (const I &index)
 
const T * getValue (const I &index) const
 
OrderedMapoperator= (const OrderedMap &map)
 
OrderedMapoperator= (OrderedMap &&map)
 
void eraseIndex (const I &index)
 
void insert (const I &index, const T &data)
 
void insertFast (const I &index, const T &data)
 
bool existsIndex (const I &index)
 
Size searchIndex (const I &index)
 
Size getNumEntriesIndex (const I &index)
 
bool read (std::fstream *fileStream)
 read from a file stream More...
 
bool write (std::fstream *fileStream) const
 write this object as binary into a file stream More...
 

Additional Inherited Members

- Protected Types inherited from Map< I, T >
enum  ctor { null }
 
- Protected Types inherited from Vector< MapObject< I, T > >
enum  ctor
 
typedef MapObject< I, T > * RandomAccessIterator
 
typedef MapObject< I, T > elemType
 
typedef unsigned long long Size
 
- Protected Member Functions inherited from Map< I, T >
 Map (ctor)
 
template<typename Compare >
void _sort (Compare func)
 
template<typename Compare >
void _quicksort (RandomAccessIterator start, RandomAccessIterator end, Compare func=Logical::less< I >)
 
 Map (void)
 
 Map (const Map &m)
 
template<typename I2 , typename T2 >
 Map (const Map< I2, T2 > &m)
 
 Map (Map &&m)
 
 ~Map (void)
 
Map< I, T > & operator= (const Map< I, T > &map)
 
template<typename I2 , typename T2 >
Map< I, T > & operator= (const Map< I2, T2 > &map)
 
Map< I, T > & operator= (Map &&m)
 
T * operator[] (const I &index)
 Operator [] return the value for a specified index (can be NULL if the value is not found) More...
 
const T * operator[] (const I &index) const
 Operator [] return the value for a specified index (can be NULL if the value is not found) More...
 
MapObject< I, T > & operator() (Size i)
 
const MapObject< I, T > & operator() (Size i) const
 
I & getIndexi (Size i)
 
const I & getIndexi (Size i) const
 
I & getIndexit (RandomAccessIterator i)
 
const I & getIndexit (RandomAccessIterator i) const
 
void setIndexi (Size i, const I &index)
 
void setIndexit (RandomAccessIterator i, const T &index)
 
void setValuei (Size i, const T &value)
 
void setValueit (RandomAccessIterator i, const T &value)
 
T & getValueit (RandomAccessIterator i)
 
const T & getValueit (RandomAccessIterator i) const
 
T & getValuei (Size i)
 
const T & getValuei (Size i) const
 
T * getValue (const I &index)
 
const T & getLastValue () const
 
T & getLastValue ()
 
const T & getLastIndex () const
 
T & getLastIndex ()
 
void set (Size i, const I &index, const T &data)
 
void insert (const I &index, const T &data)
 
bool existsIndex (const I &index) const
 
void eraseFirst (const T &data)
 
void eraseAll (const T &data)
 
void eraseIndexFirst (const I &index)
 
void eraseIndexAll (const I &index)
 
Size searchIndex (const I &index) const
 
- Protected Member Functions inherited from Vector< MapObject< I, T > >
 Vector (ctor)
 
void _allocateNoNull (const Size &newMax)
 
void _allocateNoNullDelete (const Size &newMax)
 
void _extendBuffer (const Size &newSizeNeeded)
 
void swap (Size index1, Size index2)
 
void swap (RandomAccessIterator index1, RandomAccessIterator index2)
 
void assign (Size index1, Size index2)
 
void _updateIterators ()
 
void _erasei (Size index)
 
void _eraseit (RandomAccessIterator it)
 
 Vector (void)
 
 Vector (Size size, Size maxSize)
 
 Vector (Size maxSize)
 
 Vector (const Vector &vector)
 
 Vector (const Vector< C > &vector)
 
 Vector (Vector &&v)
 
 Vector (const C(&data)[N])
 
 Vector (const C *data, Size maxSize)
 
 Vector (const C *data, Size size, Size maxSize)
 
 ~Vector (void)
 
bool iterate (RandomAccessIterator *it, elemType **e)
 
void reserve (Size newMax)
 
void allocate (Size newMax)
 
void resize (Size newSize)
 
const MapObject< I, T > & operator[] (Size index) const
 
MapObject< I, T > & operator[] (Size index)
 
MapObject< I, T > & getValuei (Size i)
 
const MapObject< I, T > & getValuei (Size i) const
 
MapObject< I, T > & getValueit (RandomAccessIterator i)
 
const MapObject< I, T > & getValueit (RandomAccessIterator i) const
 
void setValuei (Size i, const MapObject< I, T > &data)
 
void setValueit (RandomAccessIterator i, const MapObject< I, T > &data)
 
RandomAccessIterator getBegin () const
 
RandomAccessIterator getEnd () const
 
RandomAccessIterator begin () const
 
RandomAccessIterator end () const
 
bool operator== (const Vector< MapObject< I, T > > &v) const
 
bool operator== (const MapObject< I, T > &v) const
 
bool operator!= (const Vector< MapObject< I, T > > &v) const
 
bool operator!= (const MapObject< I, T > &v) const
 
bool operator< (const Vector< MapObject< I, T > > &v) const
 
bool operator< (const MapObject< I, T > &v) const
 
bool operator> (const Vector< MapObject< I, T > > &v) const
 
bool operator> (const MapObject< I, T > &v) const
 
bool operator<= (const Vector< MapObject< I, T > > &v) const
 
bool operator<= (const MapObject< I, T > &v) const
 
bool operator>= (const Vector< MapObject< I, T > > &v) const
 
bool operator>= (const MapObject< I, T > &v) const
 
Vector< MapObject< I, T > > & operator= (const Vector< MapObject< I, T > > &vector)
 
Vector< MapObject< I, T > > & operator= (Vector &&v)
 
Vector< MapObject< I, T > > & operator= (const Vector< C > &vector)
 
Vector< MapObject< I, T > > & operator+= (const Vector< MapObject< I, T > > &vector)
 
void push (const MapObject< I, T > &data)
 insert a new data in the vector getSize() will be incremented and the memory auto managed. More...
 
MapObject< I, T > & pop ()
 retrieve the last inserted object and decrement getSize(); More...
 
void fill (const MapObject< I, T > &data)
 Fill the complete vector with the specified data. More...
 
Size getSize () const
 
Size getSizeBytes () const
 
Size getMaxSize () const
 
void clear ()
 
void reset ()
 
const MapObject< I, T > & getLast () const
 
MapObject< I, T > & getLast ()
 
const MapObject< I, T > & getFirst () const
 
MapObject< I, T > & getFirst ()
 
const MapObject< I, T > * data () const
 
MapObject< I, T > * data ()
 
const MapObject< I, T > * getData () const
 
MapObject< I, T > * getData ()
 
bool exists (const MapObject< I, T > &value) const
 
void createFromData (const MapObject< I, T > *dataTable, Size size)
 
void createFromData (const C *dataTable, Size size)
 
void replaceFirst (const MapObject< I, T > &search, const MapObject< I, T > &data)
 
void replaceAll (const MapObject< I, T > &search, const MapObject< I, T > &data)
 
void eraseFirst (const MapObject< I, T > &value)
 
void eraseAll (const MapObject< I, T > &value)
 
void eraseIndex (Size index)
 
void sortDesc ()
 
void sortAsc ()
 
void sort (Func functor)
 sort the elements of this vector using the quicksort algorithm More...
 
void copy (Vector vector, Size indexSrc, Size indexDest, Size size)
 
void copy (Vector< C > vector, typename Vector< C >::Size indexSrc, Size indexDest, typename Vector< C >::Size size)
 
void copy (const C *datas, Size index, Size size)
 
void copy (const C *datas, Size size)
 
bool read (std::fstream *fileStream)
 read from a file stream More...
 
bool write (std::fstream *fileStream) const
 write this object as binary into a file stream More...
 
Size search (const MapObject< I, T > &data) const
 
void quicksort (RandomAccessIterator start, RandomAccessIterator end, Compare func=Logical::less< MapObject< I, T > >)
 
- Protected Member Functions inherited from BasicSimpleIO
bool read (std::fstream *fileStream)
 read from a file stream More...
 
bool write (std::fstream *fileStream) const
 write this object as binary into a file stream More...
 
- Static Protected Member Functions inherited from Vector< MapObject< I, T > >
static void copy (C *destinationBuffer, const D *sourceBuffer, const Size &size)
 
static void copy (char *destinationBuffer, const char *sourceBuffer, const Size &size)
 
static void copy (unsigned char *destinationBuffer, const unsigned char *sourceBuffer, const Size &size)
 
static void copy (short *destinationBuffer, const short *sourceBuffer, const Size &size)
 
static void copy (unsigned short *destinationBuffer, const unsigned short *sourceBuffer, const Size &size)
 
static void copy (int *destinationBuffer, const int *sourceBuffer, const Size &size)
 
static void copy (unsigned int *destinationBuffer, const unsigned int *sourceBuffer, const Size &size)
 
static void copy (long *destinationBuffer, const long *sourceBuffer, const Size &size)
 
static void copy (unsigned long *destinationBuffer, const unsigned long *sourceBuffer, const Size &size)
 
static void copy (long long *destinationBuffer, const long long *sourceBuffer, const Size &size)
 
static void copy (unsigned long long *destinationBuffer, const unsigned long long *sourceBuffer, const Size &size)
 
static void copy (float *destinationBuffer, const float *sourceBuffer, const Size &size)
 
static void copy (double *destinationBuffer, const double *sourceBuffer, const Size &size)
 
static void copy (wchar_t *destinationBuffer, const wchar_t *sourceBuffer, const Size &size)
 
- Protected Attributes inherited from Vector< MapObject< I, T > >
Size size
 
Size maxSize
 
MapObject< I, T > * dataTable
 
RandomAccessIterator iteratorEnd
 
- Static Protected Attributes inherited from Vector< MapObject< I, T > >
static Size overflow
 

Constructor & Destructor Documentation

template<typename I , typename T , typename Compare>
OrderedMap< I, T, Compare >::OrderedMap ( const Compare &  compareFunc = Compare())
template<typename I , typename T , typename Compare>
OrderedMap< I, T, Compare >::OrderedMap ( const OrderedMap< I, T, Compare > &  map)
template<typename I , typename T , typename Compare>
OrderedMap< I, T, Compare >::OrderedMap ( OrderedMap< I, T, Compare > &&  map)
template<typename I , typename T , typename Compare >
OrderedMap< I, T, Compare >::~OrderedMap ( void  )

Member Function Documentation

template<typename I, typename T , typename Compare >
void OrderedMap< I, T, Compare >::eraseIndex ( const I &  index)
template<typename I, typename T , typename Compare >
bool OrderedMap< I, T, Compare >::existsIndex ( const I &  index)
template<typename I, typename T , typename Compare >
OrderedMap< I, T, Compare >::Size OrderedMap< I, T, Compare >::getNumEntriesIndex ( const I &  index)
template<typename I, typename T , typename Compare >
T * OrderedMap< I, T, Compare >::getValue ( const I &  index)
template<typename I, typename T , typename Compare >
const T * OrderedMap< I, T, Compare >::getValue ( const I &  index) const
template<typename I, typename T, typename Compare >
void OrderedMap< I, T, Compare >::insert ( const I &  index,
const T &  data 
)
template<typename I, typename T, typename Compare >
void OrderedMap< I, T, Compare >::insertFast ( const I &  index,
const T &  data 
)
template<typename I , typename T , typename Compare >
OrderedMap< I, T, Compare > & OrderedMap< I, T, Compare >::operator= ( const OrderedMap< I, T, Compare > &  map)
template<typename I, typename T, typename Compare = Logical::less<I>>
OrderedMap& OrderedMap< I, T, Compare >::operator= ( OrderedMap< I, T, Compare > &&  map)
template<typename I, typename T , typename Compare >
T * OrderedMap< I, T, Compare >::operator[] ( const I &  index)

Operator [] return the value for a specified index (can be NULL if the value is not found)

Parameters
indexIndex
Returns
pointer to the value we are looking for (NULL if not found)
template<typename I, typename T , typename Compare >
const T * OrderedMap< I, T, Compare >::operator[] ( const I &  index) const

Operator [] return the value for a specified index (can be NULL if the value is not found)

Parameters
indexIndex
Returns
pointer to the value we are looking for (NULL if not found)
template<typename I , typename T , typename Compare >
bool OrderedMap< I, T, Compare >::read ( std::fstream *  fileStream)

read from a file stream

Parameters
fileStreamstream used to read load this object
Returns
boolean to know if the operation is a success of not.
template<typename I, typename T , typename Compare >
OrderedMap< I, T, Compare >::Size OrderedMap< I, T, Compare >::searchIndex ( const I &  index)
template<typename I , typename T , typename Compare >
bool OrderedMap< I, T, Compare >::write ( std::fstream *  fileStream) const

write this object as binary into a file stream

Parameters
fileStreamstream used to write this object
Returns
boolean to know if the operation is a success of not.

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