SourceForge.net Logo
Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EkMapT Class Template Reference

EkMapT is an implementation of the STL map container that can cross DLL boundaries. More...

#include <EkMapT.h>

Collaboration diagram for EkMapT:

[legend]
List of all members.

Public Types

typedef K key_type
typedef V data_type
typedef Pred key_compare
typedef A allocator_type
typedef pair< K, V > value_type
typedef V & reference
typedef const V & const_reference
typedef list< value_type
>::iterator 
iterator
typedef list< value_type
>::const_iterator 
const_iterator
typedef list< value_type
>::reverse_iterator 
reverse_iterator
typedef list< value_type
>::const_reverse_iterator 
const_reverse_iterator
typedef pair< iterator, bool > _Pairib
typedef list< value_type
>::size_type 
size_type

Public Methods

 EkMapT (const Pred &comp=Pred(), const A &al=A())
 EkMapT (const EkMapT &x)
 EkMapT (const value_type *first, const value_type *last, const Pred &comp=Pred(), const A &al=A())
 ~EkMapT ()
EkMapT< K, V, Pred, A > & operator= (const EkMapT< K, V, Pred, A > &fromMap)
data_type & operator[] (const K &key)
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
void clear ()
size_type count (const K &key)
pair< iterator, iterator > equal_range (const K &key)
pair< const_iterator, const_iterator > equal_range (const K &key) const
iterator erase (iterator it)
iterator erase (iterator first, iterator last)
size_type erase (const K &key)
iterator find (const K &key)
const_iterator find (const K &key) const
bool empty ()
_Pairib insert (const value_type &vt)
iterator insert (iterator it, const value_type &vt)
void insert (const value_type *first, const value_type *last)
key_compare key_comp () const
size_type max_size () const
iterator lower_bound (const K &key)
const_iterator lower_bound (const K &key) const
size_type size () const
void swap (EkMapT &smap)
iterator upper_bound (const K &key)
const_iterator upper_bound (const K &key) const
value_compare value_comp () const

Protected Attributes

list< value_type > vMap
key_compare key_cmp

Friends

bool operator== (const EkMapT< K, V, Pred, A > &, const EkMapT< K, V, Pred, A > &)
bool operator< (const EkMapT< K, V, Pred, A > &, const EkMapT< K, V, Pred, A > &)

Detailed Description

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
class EkMapT< K, V, Pred, A >

EkMapT is an implementation of the STL map container that can cross DLL boundaries.

The STL map container is not able to cross DLL boundaries. The EkMapT class bypasses this problem by providing an implementation equivalent to the STL map container, but is implemented with the STL list container. This is intended to only be used when building DLLs. To assist in this, the EkCompiler.h header contains the macro EK_DLL_MAP( k, v ). This macro will automatically switch between the STL map and EkMapT depending on build flags.


Member Typedef Documentation

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef pair<iterator, bool> EkMapT::_Pairib
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef A EkMapT::allocator_type
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef list<value_type>::const_iterator EkMapT::const_iterator
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef const V& EkMapT::const_reference
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef list<value_type>::const_reverse_iterator EkMapT::const_reverse_iterator
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef V EkMapT::data_type
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef list<value_type>::iterator EkMapT::iterator
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef Pred EkMapT::key_compare
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef K EkMapT::key_type
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef V& EkMapT::reference
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef list<value_type>::reverse_iterator EkMapT::reverse_iterator
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef list<value_type>::size_type EkMapT::size_type
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
typedef pair<K, V > EkMapT::value_type
 


Constructor & Destructor Documentation

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMapT< K, V, Pred, A >::EkMapT (  const Pred &    comp = Pred(),
const A &    al = A()
)  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMapT< K, V, Pred, A >::EkMapT (  const EkMapT< K, V, Pred, A > &    x )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMapT< K, V, Pred, A >::EkMapT (  const value_type *    first,
const value_type *    last,
const Pred &    comp = Pred(),
const A &    al = A()
)  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMapT< K, V, Pred, A >::~EkMapT (    )  [inline]
 


Member Function Documentation

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMapT< K, V, Pred, A >::begin (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::begin (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
void EkMapT< K, V, Pred, A >::clear (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
size_type EkMapT< K, V, Pred, A >::count (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
bool EkMapT< K, V, Pred, A >::empty (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMapT< K, V, Pred, A >::end (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::end (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
pair<const_iterator, const_iterator> EkMapT< K, V, Pred, A >::equal_range (  const K &    key )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
pair<iterator, iterator> EkMapT< K, V, Pred, A >::equal_range (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
size_type EkMapT< K, V, Pred, A >::erase (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::erase (  iterator    first,
iterator    last
)  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::erase (  iterator    it )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMapT< K, V, Pred, A >::find (  const K &    key )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::find (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
void EkMapT< K, V, Pred, A >::insert (  const value_type *    first,
const value_type *    last
)  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::insert (  iterator    it,
const value_type &    vt
)  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
_Pairib EkMapT< K, V, Pred, A >::insert (  const value_type &    vt )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
key_compare EkMapT< K, V, Pred, A >::key_comp (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMapT< K, V, Pred, A >::lower_bound (  const K &    key )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::lower_bound (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
size_type EkMapT< K, V, Pred, A >::max_size (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMapT<K, V, Pred, A>& EkMapT< K, V, Pred, A >::operator= (  const EkMapT< K, V, Pred, A > &    fromMap )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
data_type& EkMapT< K, V, Pred, A >::operator[] (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_reverse_iterator EkMapT< K, V, Pred, A >::rbegin (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
reverse_iterator EkMapT< K, V, Pred, A >::rbegin (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_reverse_iterator EkMapT< K, V, Pred, A >::rend (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
reverse_iterator EkMapT< K, V, Pred, A >::rend (    )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
size_type EkMapT< K, V, Pred, A >::size (    )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
void EkMapT< K, V, Pred, A >::swap (  EkMapT< K, V, Pred, A > &    smap )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMapT< K, V, Pred, A >::upper_bound (  const K &    key )  const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
iterator EkMapT< K, V, Pred, A >::upper_bound (  const K &    key )  [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
value_compare EkMapT< K, V, Pred, A >::value_comp (    )  const [inline]
 


Friends And Related Function Documentation

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
bool operator< (  const EkMapT< K, V, Pred, A > &   ,
const EkMapT< K, V, Pred, A > &   
)  [friend]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
bool operator== (  const EkMapT< K, V, Pred, A > &   ,
const EkMapT< K, V, Pred, A > &   
)  [friend]
 


Member Data Documentation

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
key_compare EkMapT::key_cmp [protected]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
list<value_type> EkMapT::vMap [protected]
 


The documentation for this class was generated from the following file:
Last Updated: March 12, 2003 (rlr)
Copyright © 2003 Eastman Kodak Company All Rights Reserved.