Rheolef  7.2
an efficient C++ finite element environment
Loading...
Searching...
No Matches
distributor

Detailed Description

see the distributor page for the full documentation

Definition at line 69 of file distributor.h.

Inheritance diagram for distributor:

Public Types

typedef std::allocator< int >::size_type size_type
typedef Vector< size_type_base
typedef _base::iterator iterator
typedef _base::const_iterator const_iterator
typedef int tag_type
typedef communicator communicator_type
Public Types inherited from Vector< std::allocator< int >::size_type >
typedef vector_rep< std::allocator< int >::size_typeDATA
typedef DATA::iterator iterator
typedef DATA::const_iterator const_iterator
typedef DATA::pointer pointer
typedef DATA::reference reference
typedef DATA::const_reference const_reference
typedef DATA::size_type size_type
typedef DATA::difference_type difference_type
typedef std::allocator< int >::size_type value_type
typedef DATA::reverse_iterator reverse_iterator
typedef DATA::const_reverse_iterator const_reverse_iterator
Public Types inherited from smart_pointer< vector_rep< std::allocator< int >::size_type > >
typedef vector_rep< std::allocator< int >::size_typehandled_type
typedef base::internal internal

Public Member Functions

 distributor (size_type dis_size=0, const communicator_type &c=communicator_type(), size_type loc_size=decide)
 distributor (const distributor &)
 ~distributor ()
void resize (size_type dis_size=0, const communicator_type &c=communicator_type(), size_type loc_size=decide)
const communicator_typecomm () const
size_type dis_size () const
 global and local sizes
size_type process () const
 current process id
size_type n_process () const
 number of processes
size_type find_owner (size_type dis_i) const
 find iproc associated to a global index dis_i: CPU=log(nproc)
size_type first_index (size_type iproc) const
 global index range and local size owned by ip-th process
size_type last_index (size_type iproc) const
size_type size (size_type iproc) const
size_type first_index () const
 global index range and local size owned by current process
size_type last_index () const
size_type size () const
bool is_owned (size_type dis_i, size_type iproc) const
 true when dis_i in [first_index(iproc):last_index(iproc)[
bool is_owned (size_type dis_i) const
bool operator== (const distributor &) const
bool operator!= (const distributor &) const
Public Member Functions inherited from Vector< std::allocator< int >::size_type >
 Vector (size_type n=0, const std::allocator< int >::size_type &value=std::allocator< int >::size_type())
void reserve (size_type n)
void swap (Vector< std::allocator< int >::size_type > &x)
iterator begin ()
iterator end ()
reverse_iterator rbegin ()
reverse_iterator rend ()
size_type size () const
size_type max_size () const
size_type capacity () const
bool empty () const
void resize (size_type sz, std::allocator< int >::size_type v=std::allocator< int >::size_type())
const_reference operator[] (size_type n) const
const_reference at (size_type n) const
reference front ()
reference back ()
void push_back (const std::allocator< int >::size_type &x)
iterator insert (iterator position, const std::allocator< int >::size_type &x=std::allocator< int >::size_type())
void pop_back ()
void erase (iterator position)
Public Member Functions inherited from smart_pointer< vector_rep< std::allocator< int >::size_type > >
 smart_pointer (vector_rep< std::allocator< int >::size_type > *p=0)
smart_pointer< vector_rep< std::allocator< int >::size_type > > & operator= (const smart_pointer< vector_rep< std::allocator< int >::size_type > > &x)
 ~smart_pointer ()
Public Member Functions inherited from smart_pointer_base< vector_rep< std::allocator< int >::size_type >, details::constructor_copy< vector_rep< std::allocator< int >::size_type > > >
 smart_pointer_base (vector_rep< std::allocator< int >::size_type > *p=0)
smart_pointer_base< vector_rep< std::allocator< int >::size_type >, details::constructor_copy< vector_rep< std::allocator< int >::size_type > > > & operator= (const smart_pointer_base< vector_rep< std::allocator< int >::size_type >, details::constructor_copy< vector_rep< std::allocator< int >::size_type > > > &)
 ~smart_pointer_base ()
const vector_rep< std::allocator< int >::size_type > * pointer () const
const vector_rep< std::allocator< int >::size_type > & data () const
const vector_rep< std::allocator< int >::size_type > * operator-> () const
const vector_rep< std::allocator< int >::size_type > & operator* () const
int reference_counter () const
counter * get_count () const

Static Public Member Functions

static tag_type get_new_tag ()
 returns a new tag

Static Public Attributes

static const size_type decide = size_type(-1)

Protected Attributes

communicator_type _comm

Member Typedef Documentation

◆ size_type

typedef std::allocator<int>::size_type size_type

Definition at line 74 of file distributor.h.

◆ _base

Definition at line 75 of file distributor.h.

◆ iterator

Definition at line 76 of file distributor.h.

◆ const_iterator

Definition at line 77 of file distributor.h.

◆ tag_type

typedef int tag_type

Definition at line 78 of file distributor.h.

◆ communicator_type

Definition at line 79 of file distributor.h.

Constructor & Destructor Documentation

◆ distributor() [1/2]

distributor ( size_type dis_size = 0,
const communicator_type & c = communicator_type(),
size_type loc_size = decide )

Definition at line 88 of file distributor.cc.

◆ distributor() [2/2]

distributor ( const distributor & ownership)

Definition at line 97 of file distributor.cc.

◆ ~distributor()

Definition at line 102 of file distributor.cc.

Member Function Documentation

◆ resize()

void resize ( size_type dis_size = 0,
const communicator_type & c = communicator_type(),
size_type loc_size = decide )

Definition at line 30 of file distributor.cc.

◆ comm()

const distributor::communicator_type & comm ( ) const

Definition at line 152 of file distributor.h.

◆ dis_size()

distributor::size_type dis_size ( ) const

global and local sizes

Definition at line 214 of file distributor.h.

◆ process()

distributor::size_type process ( ) const

current process id

Definition at line 186 of file distributor.h.

◆ n_process()

distributor::size_type n_process ( ) const

number of processes

Definition at line 176 of file distributor.h.

◆ find_owner()

distributor::size_type find_owner ( size_type dis_i) const

find iproc associated to a global index dis_i: CPU=log(nproc)

Definition at line 106 of file distributor.cc.

◆ first_index() [1/2]

distributor::size_type first_index ( size_type iproc) const

global index range and local size owned by ip-th process

Definition at line 158 of file distributor.h.

◆ last_index() [1/2]

distributor::size_type last_index ( size_type iproc) const

Definition at line 164 of file distributor.h.

◆ size() [1/2]

distributor::size_type size ( size_type iproc) const

Definition at line 170 of file distributor.h.

◆ first_index() [2/2]

distributor::size_type first_index ( ) const

global index range and local size owned by current process

Definition at line 196 of file distributor.h.

◆ last_index() [2/2]

distributor::size_type last_index ( ) const

Definition at line 202 of file distributor.h.

◆ size() [2/2]

distributor::size_type size ( ) const

Definition at line 208 of file distributor.h.

◆ is_owned() [1/2]

bool is_owned ( size_type dis_i,
size_type iproc ) const

true when dis_i in [first_index(iproc):last_index(iproc)[

Definition at line 220 of file distributor.h.

◆ is_owned() [2/2]

bool is_owned ( size_type dis_i) const

Definition at line 226 of file distributor.h.

◆ get_new_tag()

int get_new_tag ( )
static

returns a new tag

Definition at line 133 of file distributor.cc.

◆ operator==()

bool operator== ( const distributor & x) const

Definition at line 238 of file distributor.h.

◆ operator!=()

bool operator!= ( const distributor & x) const

Definition at line 232 of file distributor.h.

Member Data Documentation

◆ decide

const size_type decide = size_type(-1)
static

Definition at line 83 of file distributor.h.

◆ _comm

communicator_type _comm
protected

Definition at line 144 of file distributor.h.


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