OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
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, SplitDomainMap_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_iteratortouch_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 71 of file DomainMap.h.

Member Typedef Documentation

◆ DomainMap_t

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 74 of file DomainMap.h.

◆ key_type

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

Definition at line 77 of file DomainMap.h.

◆ mapped_type

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

Definition at line 78 of file DomainMap.h.

◆ size_type

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

Definition at line 75 of file DomainMap.h.

Constructor & Destructor Documentation

◆ DomainMap() [1/3]

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 478 of file DomainMap.h.

◆ DomainMap() [2/3]

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

Definition at line 483 of file DomainMap.h.

◆ DomainMap() [3/3]

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)

◆ ~DomainMap()

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

Definition at line 493 of file DomainMap.h.

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

Member Function Documentation

◆ begin() [1/2]

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

◆ begin() [2/2]

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

◆ end() [1/2]

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

◆ end() [2/2]

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

◆ insert()

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 
)

◆ insert_noupdate()

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

◆ operator=()

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)

Definition at line 167 of file DomainMap.hpp.

References a.

◆ size()

template<class Key , class T , class Touches , class Contains , class Split >
size_type DomainMap< Key, T, Touches, Contains, Split >::size ( void  ) const
inline

◆ touch_range()

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

◆ update_leftmost()

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

◆ const_iterator

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

◆ iterator

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

◆ Node

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

Definition at line 220 of file DomainMap.h.

◆ touch_iterator

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

Definition at line 515 of file DomainMap.h.

Member Data Documentation

◆ contains

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

Definition at line 518 of file DomainMap.h.

◆ Leftmost

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

Definition at line 522 of file DomainMap.h.

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

◆ Root

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

◆ Size

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

◆ split

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

Definition at line 519 of file DomainMap.h.

◆ touches

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

Definition at line 517 of file DomainMap.h.


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