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_typeoperator[] (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, iteratorequal_range (const K &key)
pair< const_iterator, const_iteratorequal_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_typevMap
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.