OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
DomainMap< Key, T, Touches, Contains, Split > Class Template Reference

#include <DomainMap.h>

Inheritance diagram for DomainMap< Key, T, Touches, Contains, Split >:
Collaboration diagram for DomainMap< Key, T, Touches, Contains, Split >:

Classes

struct  value_type
class  Node
class  iterator
class  const_iterator
class  touch_iterator

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.

Referenced by DomainMap(), and operator=().

◆ 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)

Definition at line 153 of file DomainMap.hpp.

References a, DomainMap(), insert_noupdate(), Root, Size, and update_leftmost().

Here is the call graph for this function:

◆ ~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.

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

Definition at line 498 of file DomainMap.h.

◆ 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

Definition at line 499 of file DomainMap.h.

◆ 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 )

Definition at line 42 of file DomainMap.hpp.

References Root, Size, and update_leftmost().

Referenced by FieldLayout< Dim >::FieldLayout(), FieldLayout< Dim >::FieldLayout(), FieldLayout< Dim >::new_gc_layout(), FieldLayout< Dim >::setup(), and FieldLayout< Dim >::setup().

Here is the call graph for this function:

◆ 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

Definition at line 526 of file DomainMap.h.

Referenced by DomainMap(), and operator=().

◆ 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, DomainMap(), insert_noupdate(), Root, Size, and update_leftmost().

Here is the call graph for this function:

◆ size()

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

Definition at line 509 of file DomainMap.h.

Referenced by FieldLayout< Dim >::write().

◆ touch_range()

◆ update_leftmost()

◆ const_iterator

◆ iterator

◆ Node

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

◆ 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 update_leftmost().

◆ Root

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

Definition at line 521 of file DomainMap.h.

Referenced by DomainMap(), insert(), operator=(), touch_range(), and update_leftmost().

◆ Size

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

Definition at line 523 of file DomainMap.h.

Referenced by DomainMap(), insert(), and operator=().

◆ 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: