Rheolef
7.2
an efficient C++ finite element environment
|
forward decl
Definition at line 290 of file disarray.h.
Classes | |
struct | message_type |
struct | remove_const_in_pair |
struct | remove_const_in_pair< std::pair< T1, T2 > > |
struct | stash_traits |
struct | stash_traits< U, std::false_type > |
struct | stash_traits< U, std::true_type > |
Public Types | |
using | base = disarray_rep< T, sequential, A > |
using | size_type = typename base::size_type |
using | value_type = typename base::value_type |
using | memory_type = distributed |
using | iterator = typename base::iterator |
using | const_iterator = typename base::const_iterator |
using | reference = typename base::reference |
using | const_reference = typename base::const_reference |
using | difference_type = typename base::difference_type |
using | communicator_type = distributor::communicator_type |
using | scatter_map_type = std::map< size_type, T > |
using | dis_reference = disarray_dis_reference< T, A > |
typedef details::is_container_of_mpi_datatype< T >::type | is_container |
typedef stash_traits< T, is_container >::mapped_type | stash_value |
typedef stash_traits< T, is_container >::map_type | stash_map_type |
![]() | |
typedef T | value_type |
typedef A | allocator_type |
typedef A::difference_type | difference_type |
typedef std::vector< T > | base |
typedef base::size_type | size_type |
typedef base::iterator | iterator |
typedef base::const_iterator | const_iterator |
typedef base::const_reference | const_reference |
typedef base::reference | reference |
typedef reference | dis_reference |
typedef distributor::communicator_type | communicator_type |
typedef sequential | memory_type |
Public Member Functions | |
disarray_rep (const distributor &ownership, const T &init_val=T(), const A &alloc=A()) | |
void | resize (const distributor &ownership, const T &init_val=T()) |
disarray_rep (const disarray_rep< T, distributed, A > &x) | |
A | get_allocator () const |
size_type | size () const |
const_iterator | begin () const |
const_iterator | end () const |
iterator | begin () |
iterator | end () |
const distributor & | ownership () const |
const mpi::communicator & | comm () const |
size_type | first_index () const |
size_type | last_index () const |
size_type | dis_size () const |
dis_reference | dis_entry (size_type dis_i) |
template<class SetOp = typename details::default_set_op_traits<T>::type> | |
void | dis_entry_assembly_begin (SetOp my_set_op=SetOp()) |
template<class SetOp = typename details::default_set_op_traits<T>::type> | |
void | dis_entry_assembly_end (SetOp my_set_op=SetOp()) |
template<class SetOp = typename details::default_set_op_traits<T>::type> | |
void | dis_entry_assembly (SetOp my_set_op=SetOp()) |
template<class Set , class Map > | |
void | append_dis_entry (const Set &ext_idx_set, Map &ext_idx_map) const |
get values from ext_idx_set, that are managed by another proc More... | |
template<class Set , class Map > | |
void | get_dis_entry (const Set &ext_idx_set, Map &ext_idx_map) const |
template<class Set > | |
void | append_dis_indexes (const Set &ext_idx_set) const |
template<class Set > | |
void | set_dis_indexes (const Set &ext_idx_set) const |
void | get_dis_indexes (std::set< size_type > &ext_idx_set) const |
void | reset_dis_indexes () const |
const_reference | dis_at (size_type dis_i) const |
const scatter_map_type & | get_dis_map_entries () const |
template<class A2 > | |
void | repartition (const disarray_rep< size_type, distributed, A2 > &partition, disarray_rep< T, distributed, A > &new_disarray, disarray_rep< size_type, distributed, A2 > &old_numbering, disarray_rep< size_type, distributed, A2 > &new_numbering) const |
template<class A2 > | |
void | permutation_apply (const disarray_rep< size_type, distributed, A2 > &new_numbering, disarray_rep< T, distributed, A > &new_disarray) const |
template<class A2 > | |
void | reverse_permutation (disarray_rep< size_type, distributed, A2 > &inew2dis_iold) const |
idiststream & | get_values (idiststream &s) |
odiststream & | put_values (odiststream &s) const |
odiststream & | put_matlab (odiststream &s) const |
template<class GetFunction > | |
idiststream & | get_values (idiststream &ips, GetFunction get_element) |
template<class PutFunction > | |
odiststream & | put_values (odiststream &ops, PutFunction put_element) const |
template<class PutFunction , class A2 > | |
odiststream & | permuted_put_values (odiststream &ops, const disarray_rep< size_type, distributed, A2 > &perm, PutFunction put_element) const |
void | dump (std::string name) const |
template<class U , class SetOp > | |
void | set_dis_entry (size_type dis_i, const U &val, const SetOp &set_op) |
template<class Set , class Map > | |
void | append_dis_entry (const Set &ext_idx_set, Map &ext_idx_map, std::true_type) const |
get values from ext_idx_set, that are managed by another proc; here T=container type More... | |
template<class Set , class Map > | |
void | append_dis_entry (const Set &ext_idx_set, Map &ext_idx_map, std::false_type) const |
get values from ext_idx_set, that are managed by another proc; here T=simple type More... | |
![]() | |
disarray_rep (const A &alloc=A()) | |
disarray_rep (const distributor &ownership, const T &init_val=T(), const A &alloc=A()) | |
void | resize (const distributor &ownership, const T &init_val=T()) |
disarray_rep (size_type loc_size=0, const T &init_val=T(), const A &alloc=A()) | |
void | resize (size_type loc_size=0, const T &init_val=T()) |
disarray_rep (const disarray_rep< T, sequential, A > &x) | |
A | get_allocator () const |
size_type | size () const |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
const distributor & | ownership () const |
reference | operator[] (size_type i) |
const_reference | operator[] (size_type i) const |
const_reference | dis_at (size_type dis_i) const |
size_type | dis_size () const |
size_type | first_index () const |
size_type | last_index () const |
reference | dis_entry (size_type dis_i) |
void | get_dis_indexes (std::set< size_type > &ext_idx_set) const |
void | reset_dis_indexes () const |
template<class SetOp = typename details::default_set_op_traits<T>::type> | |
void | dis_entry_assembly_begin (SetOp=SetOp()) |
template<class SetOp = typename details::default_set_op_traits<T>::type> | |
void | dis_entry_assembly_end (SetOp=SetOp()) |
void | repartition (const disarray_rep< size_type, sequential, A > &partition, disarray_rep< T, sequential, A > &new_disarray, disarray_rep< size_type, sequential, A > &old_numbering, disarray_rep< size_type, sequential, A > &new_numbering) const |
template<class A2 > | |
void | reverse_permutation (disarray_rep< size_type, sequential, A2 > &inew2dis_iold) const |
idiststream & | get_values (idiststream &s) |
odiststream & | put_values (odiststream &s) const |
odiststream & | put_matlab (odiststream &s) const |
template<class GetFunction > | |
idiststream & | get_values (idiststream &ips, GetFunction get_element) |
template<class PutFunction > | |
odiststream & | put_values (odiststream &ops, PutFunction put_element) const |
void | dump (std::string name) const |
Public Attributes | |
stash_map_type | _stash |
message_type | _send |
message_type | _receive |
size_type | _receive_max_size |
scatter_map_type | _ext_x |
Additional Inherited Members | |
![]() | |
distributor | _ownership |
using base = disarray_rep<T,sequential,A> |
Definition at line 295 of file disarray.h.
using size_type = typename base::size_type |
Definition at line 296 of file disarray.h.
using value_type = typename base::value_type |
Definition at line 297 of file disarray.h.
using memory_type = distributed |
Definition at line 298 of file disarray.h.
using iterator = typename base::iterator |
Definition at line 299 of file disarray.h.
using const_iterator = typename base::const_iterator |
Definition at line 300 of file disarray.h.
using reference = typename base::reference |
Definition at line 301 of file disarray.h.
using const_reference = typename base::const_reference |
Definition at line 302 of file disarray.h.
using difference_type = typename base::difference_type |
Definition at line 303 of file disarray.h.
Definition at line 304 of file disarray.h.
using scatter_map_type = std::map <size_type, T> |
Definition at line 305 of file disarray.h.
using dis_reference = disarray_dis_reference<T,A> |
Definition at line 306 of file disarray.h.
Definition at line 416 of file disarray.h.
typedef stash_traits<T,is_container>::mapped_type stash_value |
Definition at line 417 of file disarray.h.
typedef stash_traits<T,is_container>::map_type stash_map_type |
Definition at line 418 of file disarray.h.
disarray_rep | ( | const distributor & | ownership, |
const T & | init_val = T() , |
||
const A & | alloc = A() |
||
) |
Definition at line 55 of file disarray_mpi.icc.
disarray_rep | ( | const disarray_rep< T, distributed, A > & | x | ) |
Definition at line 41 of file disarray_mpi.icc.
void resize | ( | const distributor & | ownership, |
const T & | init_val = T() |
||
) |
Definition at line 69 of file disarray_mpi.icc.
A get_allocator | ( | ) | const |
Definition at line 314 of file disarray.h.
size_type size | ( | ) | const |
Definition at line 315 of file disarray.h.
const_iterator begin | ( | ) | const |
Definition at line 316 of file disarray.h.
const_iterator end | ( | ) | const |
Definition at line 317 of file disarray.h.
iterator begin | ( | ) |
Definition at line 318 of file disarray.h.
iterator end | ( | ) |
Definition at line 319 of file disarray.h.
const distributor & ownership | ( | ) | const |
Definition at line 321 of file disarray.h.
const mpi::communicator & comm | ( | ) | const |
Definition at line 322 of file disarray.h.
size_type first_index | ( | ) | const |
Definition at line 323 of file disarray.h.
size_type last_index | ( | ) | const |
Definition at line 324 of file disarray.h.
size_type dis_size | ( | ) | const |
Definition at line 325 of file disarray.h.
dis_reference dis_entry | ( | size_type | dis_i | ) |
Definition at line 327 of file disarray.h.
void dis_entry_assembly_begin | ( | SetOp | my_set_op = SetOp() | ) |
Definition at line 220 of file disarray_mpi.icc.
void dis_entry_assembly_end | ( | SetOp | my_set_op = SetOp() | ) |
Definition at line 235 of file disarray_mpi.icc.
void dis_entry_assembly | ( | SetOp | my_set_op = SetOp() | ) |
Definition at line 334 of file disarray.h.
void append_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map | ||
) | const |
get values from ext_idx_set, that are managed by another proc
Definition at line 509 of file disarray_mpi.icc.
void get_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map | ||
) | const |
Definition at line 341 of file disarray.h.
void append_dis_indexes | ( | const Set & | ext_idx_set | ) | const |
Definition at line 347 of file disarray.h.
void set_dis_indexes | ( | const Set & | ext_idx_set | ) | const |
Definition at line 350 of file disarray.h.
void get_dis_indexes | ( | std::set< size_type > & | ext_idx_set | ) | const |
Definition at line 527 of file disarray_mpi.icc.
void reset_dis_indexes |
Definition at line 402 of file disarray_mpi.icc.
disarray_rep< T, distributed, A >::const_reference dis_at | ( | size_type | dis_i | ) | const |
Definition at line 515 of file disarray_mpi.icc.
const scatter_map_type & get_dis_map_entries | ( | ) | const |
Definition at line 357 of file disarray.h.
void repartition | ( | const disarray_rep< size_type, distributed, A2 > & | partition, |
disarray_rep< T, distributed, A > & | new_disarray, | ||
disarray_rep< size_type, distributed, A2 > & | old_numbering, | ||
disarray_rep< size_type, distributed, A2 > & | new_numbering | ||
) | const |
Definition at line 259 of file disarray_mpi.icc.
void permutation_apply | ( | const disarray_rep< size_type, distributed, A2 > & | new_numbering, |
disarray_rep< T, distributed, A > & | new_disarray | ||
) | const |
Definition at line 326 of file disarray_mpi.icc.
void reverse_permutation | ( | disarray_rep< size_type, distributed, A2 > & | inew2dis_iold | ) | const |
Definition at line 310 of file disarray_mpi.icc.
idiststream & get_values | ( | idiststream & | s | ) |
Definition at line 655 of file disarray_mpi.icc.
odiststream & put_values | ( | odiststream & | s | ) | const |
Definition at line 580 of file disarray_mpi.icc.
odiststream & put_matlab | ( | odiststream & | s | ) | const |
Definition at line 586 of file disarray_mpi.icc.
idiststream & get_values | ( | idiststream & | ips, |
GetFunction | get_element | ||
) |
Definition at line 615 of file disarray_mpi.icc.
odiststream & put_values | ( | odiststream & | ops, |
PutFunction | put_element | ||
) | const |
Definition at line 540 of file disarray_mpi.icc.
odiststream & permuted_put_values | ( | odiststream & | ops, |
const disarray_rep< size_type, distributed, A2 > & | perm, | ||
PutFunction | put_element | ||
) | const |
Definition at line 595 of file disarray_mpi.icc.
void dump | ( | std::string | name | ) | const |
Definition at line 661 of file disarray_mpi.icc.
void set_dis_entry | ( | size_type | dis_i, |
const U & | val, | ||
const SetOp & | set_op | ||
) |
Definition at line 147 of file disarray_mpi.icc.
void append_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map, | ||
std::true_type | |||
) | const |
get values from ext_idx_set, that are managed by another proc; here T=container type
3) scatter (get_entry): specialized versions for T=container and T=simple type
Definition at line 414 of file disarray_mpi.icc.
void append_dis_entry | ( | const Set & | ext_idx_set, |
Map & | ext_idx_map, | ||
std::false_type | |||
) | const |
get values from ext_idx_set, that are managed by another proc; here T=simple type
Definition at line 345 of file disarray_mpi.icc.
stash_map_type _stash |
Definition at line 435 of file disarray.h.
message_type _send |
Definition at line 436 of file disarray.h.
message_type _receive |
Definition at line 437 of file disarray.h.
size_type _receive_max_size |
Definition at line 438 of file disarray.h.
|
mutable |
Definition at line 439 of file disarray.h.