OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
DomainMap< Key, T, Touches, Contains, Split > Class Template Reference

#include <DomainMap.h>

Collaboration diagram for DomainMap< Key, T, Touches, Contains, Split >:
Collaboration graph
[legend]

Classes

class  const_iterator
 
class  iterator
 
class  Node
 
class  touch_iterator
 
struct  value_type
 

Public Types

typedef DomainMap< Key, T,
Touches, Contains, Split
DomainMap_t
 
typedef unsigned size_type
 
typedef Key key_type
 
typedef T mapped_type
 

Public Member Functions

 DomainMap (const Key &d)
 
 DomainMap ()
 
 DomainMap (const DomainMap< Key, T, Touches, Contains, Split > &)
 
void operator= (const DomainMap< Key, T, Touches, Contains, Split > &)
 
 ~DomainMap ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
void insert (const value_type &d, bool noSplit=false)
 
std::pair< touch_iterator,
touch_iterator
touch_range (const Key &t) const
 
size_type size () const
 

Private Member Functions

void insert_noupdate (const value_type &d)
 
void update_leftmost ()
 

Private Attributes

Touches touches
 
Contains contains
 
Split split
 
NodeRoot
 
iterator Leftmost
 
unsigned Size
 

Friends

class Node
 
class iterator
 
class const_iterator
 
class touch_iterator
 

Detailed Description

template<class Key, class T, class Touches, class Contains, class Split>
class DomainMap< Key, T, Touches, Contains, Split >

Definition at line 75 of file DomainMap.h.

Member Typedef Documentation

template<class Key, class T, class Touches, class Contains, class Split>
typedef DomainMap<Key,T,Touches,Contains,Split> DomainMap< Key, T, Touches, Contains, Split >::DomainMap_t

Definition at line 78 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
typedef Key DomainMap< Key, T, Touches, Contains, Split >::key_type

Definition at line 81 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
typedef T DomainMap< Key, T, Touches, Contains, Split >::mapped_type

Definition at line 82 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
typedef unsigned DomainMap< Key, T, Touches, Contains, Split >::size_type

Definition at line 79 of file DomainMap.h.

Constructor & Destructor Documentation

template<class Key, class T, class Touches, class Contains, class Split>
DomainMap< Key, T, Touches, Contains, Split >::DomainMap ( const Key &  d)
inline

Definition at line 483 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
DomainMap< Key, T, Touches, Contains, Split >::DomainMap ( )
inline

Definition at line 488 of file DomainMap.h.

template<class Key , class T , class Touches , class Contains , class Split >
DomainMap< Key, T, Touches, Contains, Split >::DomainMap ( const DomainMap< Key, T, Touches, Contains, Split > &  a)
template<class Key, class T, class Touches, class Contains, class Split>
DomainMap< Key, T, Touches, Contains, Split >::~DomainMap ( )
inline

Definition at line 498 of file DomainMap.h.

References DomainMap< Key, T, Touches, Contains, Split >::Root.

Member Function Documentation

template<class Key, class T, class Touches, class Contains, class Split>
iterator DomainMap< Key, T, Touches, Contains, Split >::begin ( )
inline
template<class Key, class T, class Touches, class Contains, class Split>
const_iterator DomainMap< Key, T, Touches, Contains, Split >::begin ( ) const
inline
template<class Key, class T, class Touches, class Contains, class Split>
iterator DomainMap< Key, T, Touches, Contains, Split >::end ( )
inline
template<class Key, class T, class Touches, class Contains, class Split>
const_iterator DomainMap< Key, T, Touches, Contains, Split >::end ( ) const
inline
template<class Key , class T , class Touches , class Contains , class Split >
void DomainMap< Key, T, Touches, Contains, Split >::insert ( const value_type d,
bool  noSplit = false 
)
template<class Key, class T, class Touches, class Contains, class Split>
void DomainMap< Key, T, Touches, Contains, Split >::insert_noupdate ( const value_type d)
inlineprivate
template<class Key , class T , class Touches , class Contains , class Split >
void DomainMap< Key, T, Touches, Contains, Split >::operator= ( const DomainMap< Key, T, Touches, Contains, Split > &  a)
template<class Key, class T, class Touches, class Contains, class Split>
size_type DomainMap< Key, T, Touches, Contains, Split >::size ( void  ) const
inline
template<class Key , class T , class Touches , class Contains , class Split >
std::pair< typename DomainMap< Key, T, Touches, Contains, Split >::touch_iterator, typename DomainMap< Key, T, Touches, Contains, Split >::touch_iterator > DomainMap< Key, T, Touches, Contains, Split >::touch_range ( const Key &  t) const
template<class Key , class T , class Touches , class Contains , class Split >
void DomainMap< Key, T, Touches, Contains, Split >::update_leftmost ( )
private

Friends And Related Function Documentation

template<class Key, class T, class Touches, class Contains, class Split>
friend class const_iterator
friend
template<class Key, class T, class Touches, class Contains, class Split>
friend class iterator
friend
template<class Key, class T, class Touches, class Contains, class Split>
friend class Node
friend

Definition at line 225 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
friend class touch_iterator
friend

Definition at line 520 of file DomainMap.h.

Member Data Documentation

template<class Key, class T, class Touches, class Contains, class Split>
Contains DomainMap< Key, T, Touches, Contains, Split >::contains
private

Definition at line 523 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
iterator DomainMap< Key, T, Touches, Contains, Split >::Leftmost
private

Definition at line 527 of file DomainMap.h.

Referenced by DomainMap< Key, T, Touches, Contains, Split >::begin().

template<class Key, class T, class Touches, class Contains, class Split>
Node* DomainMap< Key, T, Touches, Contains, Split >::Root
private
template<class Key, class T, class Touches, class Contains, class Split>
unsigned DomainMap< Key, T, Touches, Contains, Split >::Size
private
template<class Key, class T, class Touches, class Contains, class Split>
Split DomainMap< Key, T, Touches, Contains, Split >::split
private

Definition at line 524 of file DomainMap.h.

template<class Key, class T, class Touches, class Contains, class Split>
Touches DomainMap< Key, T, Touches, Contains, Split >::touches
private

Definition at line 522 of file DomainMap.h.


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