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

#include <Map.h>

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

Public Member Functions

 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 Types

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

 Map (ctor)
 
template<typename Compare >
void _sort (Compare func)
 
template<typename Compare >
void _quicksort (RandomAccessIterator start, RandomAccessIterator end, Compare func=Logical::less< I >)
 
- 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...
 

Additional Inherited Members

- 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
 

Member Enumeration Documentation

template<typename I, typename T>
enum Map::ctor
protected
Enumerator
null 

Constructor & Destructor Documentation

template<typename I , typename T >
Map< I, T >::Map ( void  )
template<typename I , typename T >
Map< I, T >::Map ( const Map< I, T > &  m)
template<typename I , typename T >
template<typename I2 , typename T2 >
Map< I, T >::Map ( const Map< I2, T2 > &  m)
template<typename I , typename T >
Map< I, T >::Map ( Map< I, T > &&  m)
template<typename I , typename T >
Map< I, T >::~Map ( void  )
template<typename I , typename T >
Map< I, T >::Map ( ctor  )
protected

Member Function Documentation

template<typename I , typename T >
template<typename Compare >
void Map< I, T >::_quicksort ( RandomAccessIterator  start,
RandomAccessIterator  end,
Compare  func = Logical::less<I> 
)
protected
template<typename I , typename T >
template<typename Compare >
void Map< I, T >::_sort ( Compare  func)
protected
template<typename I , typename T>
void Map< I, T >::eraseAll ( const T &  data)
template<typename I , typename T>
void Map< I, T >::eraseFirst ( const T &  data)
template<typename I, typename T >
void Map< I, T >::eraseIndexAll ( const I &  index)
template<typename I, typename T >
void Map< I, T >::eraseIndexFirst ( const I &  index)
template<typename I, typename T >
bool Map< I, T >::existsIndex ( const I &  index) const
template<typename I, typename T>
I& Map< I, T >::getIndexi ( Size  i)
template<typename I, typename T>
const I& Map< I, T >::getIndexi ( Size  i) const
template<typename I , typename T >
I & Map< I, T >::getIndexit ( RandomAccessIterator  i)
template<typename I , typename T >
const I & Map< I, T >::getIndexit ( RandomAccessIterator  i) const
template<typename I , typename T >
const T & Map< I, T >::getLastIndex ( ) const
template<typename I , typename T >
T & Map< I, T >::getLastIndex ( )
template<typename I , typename T >
const T & Map< I, T >::getLastValue ( ) const
template<typename I , typename T >
T & Map< I, T >::getLastValue ( )
template<typename I, typename T >
T * Map< I, T >::getValue ( const I &  index)
template<typename I , typename T >
T & Map< I, T >::getValuei ( Size  i)
template<typename I , typename T >
const T & Map< I, T >::getValuei ( Size  i) const
template<typename I , typename T >
T & Map< I, T >::getValueit ( RandomAccessIterator  i)
template<typename I , typename T >
const T & Map< I, T >::getValueit ( RandomAccessIterator  i) const
template<typename I, typename T>
void Map< I, T >::insert ( const I &  index,
const T &  data 
)
template<typename I, typename T>
MapObject<I, T>& Map< I, T >::operator() ( Size  i)
template<typename I, typename T>
const MapObject<I, T>& Map< I, T >::operator() ( Size  i) const
template<typename I, typename T>
Map< I, T > & Map< I, T >::operator= ( const Map< I, T > &  map)
template<typename I , typename T >
template<typename I2 , typename T2 >
Map< I, T > & Map< I, T >::operator= ( const Map< I2, T2 > &  map)
template<typename I, typename T>
Map< I, T > & Map< I, T >::operator= ( Map< I, T > &&  m)
template<typename I, typename T >
T * Map< I, T >::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 >
const T * Map< I, T >::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 >
Map< I, T >::Size Map< I, T >::searchIndex ( const I &  index) const
template<typename I, typename T>
void Map< I, T >::set ( Size  i,
const I &  index,
const T &  data 
)
template<typename I, typename T>
void Map< I, T >::setIndexi ( Size  i,
const I &  index 
)
template<typename I , typename T>
void Map< I, T >::setIndexit ( RandomAccessIterator  i,
const T &  index 
)
template<typename I , typename T>
void Map< I, T >::setValuei ( Size  i,
const T &  value 
)
template<typename I , typename T>
void Map< I, T >::setValueit ( RandomAccessIterator  i,
const T &  value 
)

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