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

EkMultiMapT Class Template Reference

EkMultiMapT is an implementation of the STL multimap container that can cross DLL boundaries. More...

#include <EkMapT.h>

Collaboration diagram for EkMultiMapT:

[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

 EkMultiMapT (const Pred &comp=Pred(), const A &al=A())
 EkMultiMapT (const EkMultiMapT &x)
 EkMultiMapT (const value_type *first, const value_type *last, const Pred &comp=Pred(), const A &al=A())
 ~EkMultiMapT ()
EkMultiMapT< K, V, Pred, A > & operator= (const EkMultiMapT< 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 ()
iterator 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 (EkMultiMapT &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 EkMultiMapT< K, V, Pred, A > &, const EkMultiMapT< K, V, Pred, A > &)
bool operator< (const EkMultiMapT< K, V, Pred, A > &, const EkMultiMapT< K, V, Pred, A > &)

Detailed Description

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

EkMultiMapT is an implementation of the STL multimap container that can cross DLL boundaries.

The STL multimap container is not able to cross DLL boundaries. The EkMultiMapT class bypasses this problem by providing an implementation equivalent to the STL multimap 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_MULTIMAP( k, v ). This macro will automatically switch between the STL multimap and EkMultiMapT depending on build flags.


Member Typedef Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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


Constructor & Destructor Documentation

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

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
EkMultiMapT< K, V, Pred, A >::EkMultiMapT 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>>
EkMultiMapT< K, V, Pred, A >::~EkMultiMapT   [inline]
 


Member Function Documentation

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

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

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

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

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

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

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
pair<const_iterator, const_iterator> EkMultiMapT< 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> EkMultiMapT< 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 EkMultiMapT< K, V, Pred, A >::erase const K &    key [inline]
 

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

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

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

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
void EkMultiMapT< 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 EkMultiMapT< 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>>
iterator EkMultiMapT< 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 EkMultiMapT< K, V, Pred, A >::key_comp   const [inline]
 

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMultiMapT< 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 EkMultiMapT< 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 EkMultiMapT< K, V, Pred, A >::max_size   const [inline]
 

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
data_type& EkMultiMapT< 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 EkMultiMapT< K, V, Pred, A >::rbegin   const [inline]
 

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

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

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

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

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
const_iterator EkMultiMapT< 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 EkMultiMapT< 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 EkMultiMapT< 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 EkMultiMapT< K, V, Pred, A > &   ,
const EkMultiMapT< K, V, Pred, A > &   
[friend]
 

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


Member Data Documentation

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

template<class K, class V, class Pred = less<K>, class A = allocator<V>>
list<value_type> EkMultiMapT::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.