Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > > Class Template Reference

Distributed vector property map. More...

#include <vector_property_map.hpp>

Inheritance diagram for boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > >:
Collaboration diagram for boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > >:

Public Types

typedef property_traits
< GlobalMap >::key_type 
key_type
 The key type of the property map. More...
 
typedef property_traits
< vector_property_map< T,
StorageMap > >::value_type 
value_type
 The value type of the property map. More...
 
typedef property_traits
< vector_property_map< T,
StorageMap > >::reference 
reference
 
typedef ProcessGroup process_group_type
 
typedef
multi_index::multi_index_container
< std::pair< key_type,
value_type >
, multi_index::indexed_by
< multi_index::sequenced
<>, multi_index::hashed_unique
< pair_first_extractor
< key_type, value_type > > > > 
ghost_cells_type
 The type of the ghost cells. More...
 
typedef ghost_cells_type::iterator iterator
 Iterator into the ghost cells. More...
 
typedef
ghost_cells_type::template
nth_index< 1 >::type 
ghost_cells_key_index_type
 Key-based index into the ghost cells. More...
 
typedef
ghost_cells_key_index_type::iterator 
key_iterator
 Iterator into the ghost cells (by key) More...
 
typedef
detail::make_nonlvalue_property_map
< (is_base_and_derived
< lvalue_property_map_tag,
local_category >::value||is_same
< lvalue_property_map_tag,
local_category >::value)>
::template apply
< local_category >::type 
category
 The property map category. More...
 

Public Member Functions

 vector_property_map (const index_map_type &index=index_map_type())
 
 vector_property_map (unsigned inital_size, const index_map_type &index=index_map_type())
 
void set_reduce (const Reduce &reduce)
 Set the reduce operation of the distributed property map. More...
 
void set_consistency_model (int model)
 
int get_consistency_model () const
 
void set_max_ghost_cells (std::size_t max_ghost_cells)
 
void clear ()
 
void reset ()
 
void flush ()
 
reference operator[] (const key_type &key) const
 
process_group_type process_group () const
 
vector_property_map< T,
StorageMap > & 
base ()
 
const vector_property_map< T,
StorageMap > & 
base () const
 
void request_put (process_id_type p, const key_type &k, const value_type &v) const
 Sends a "put" request. More...
 
value_typecell (const key_type &k, bool request_if_missing=true) const
 Access the ghost cell for the given key. More...
 
void do_synchronize ()
 Perform synchronization. More...
 
const GlobalMap & global () const
 
GlobalMap & global ()
 

Public Attributes

shared_ptr< data_tdata
 

Detailed Description

template<typename T, typename ProcessGroup, typename GlobalMap, typename StorageMap>
class boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > >

Distributed vector property map.

This specialization of vector_property_map builds a distributed vector property map given the local index maps generated by distributed graph types that automatically have index properties.

This specialization is useful when creating external distributed property maps via the same syntax used to create external sequential property maps.

Member Typedef Documentation

typedef detail::make_nonlvalue_property_map< (is_base_and_derived<lvalue_property_map_tag, local_category>::value || is_same<lvalue_property_map_tag, local_category>::value)>::template apply<local_category>::type boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::category
inherited

The property map category.

A distributed property map cannot be an Lvalue Property Map, because values on remote processes cannot be addresses.

typedef ghost_cells_type::template nth_index<1>::type boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::ghost_cells_key_index_type
inherited

Key-based index into the ghost cells.

The type of the ghost cells.

typedef ghost_cells_type::iterator boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::iterator
inherited

Iterator into the ghost cells.

typedef ghost_cells_key_index_type::iterator boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::key_iterator
inherited

Iterator into the ghost cells (by key)

typedef property_traits<GlobalMap>::key_type boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::key_type
inherited

The key type of the property map.

typedef ProcessGroup boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::process_group_type
inherited
typedef property_traits<vector_property_map< T, StorageMap > >::reference boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::reference
inherited
typedef property_traits<vector_property_map< T, StorageMap > >::value_type boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::value_type
inherited

The value type of the property map.

Constructor & Destructor Documentation

template<typename T , typename ProcessGroup , typename GlobalMap , typename StorageMap >
boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > >::vector_property_map ( const index_map_type index = index_map_type())
inline
template<typename T , typename ProcessGroup , typename GlobalMap , typename StorageMap >
boost::vector_property_map< T, local_property_map< ProcessGroup, GlobalMap, StorageMap > >::vector_property_map ( unsigned  inital_size,
const index_map_type index = index_map_type() 
)
inline

Member Function Documentation

const vector_property_map< T, StorageMap > & boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::base ( ) const
inlineinherited
value_type& boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::cell ( const key_type k,
bool  request_if_missing = true 
) const
inherited

Access the ghost cell for the given key.

void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::clear ( void  )
inherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::do_synchronize ( )
inherited

Perform synchronization.

void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::flush ( )
inherited
int boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::get_consistency_model ( ) const
inlineinherited
const GlobalMap& boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::global ( ) const
inlineinherited
GlobalMap& boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::global ( )
inlineinherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::request_put ( process_id_type  p,
const key_type k,
const value_type v 
) const
inlineinherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::reset ( void  )
inherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::set_consistency_model ( int  model)
inherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::set_max_ghost_cells ( std::size_t  max_ghost_cells)
inherited
void boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::set_reduce ( const Reduce &  reduce)
inherited

Set the reduce operation of the distributed property map.

Member Data Documentation

shared_ptr<data_t> boost::parallel::distributed_property_map< ProcessGroup, GlobalMap, vector_property_map< T, StorageMap > >::data
inherited

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