AFEPack
公有类型 | 公有成员 | 公有属性
MPI::Transmit_map< T, SHARED_TYPE_FILTER >模板结构参考

#include <MPI.h>

类MPI::Transmit_map< T, SHARED_TYPE_FILTER >继承关系图:
map

所有成员的列表。

公有类型

typedef std::list< std::pair
< T *, T * > > 
value_t
typedef std::pair< int, value_tpair_t
typedef std::map< int, pair_t_Base
typedef SHARED_TYPE_FILTER type_filter_t

公有成员

template<class CONTAINER >
void build (const CONTAINER &shlist)
template<class CONTAINER >
void build (const CONTAINER &shlist, bool(*filter)(T *))
template<class CONTAINER , class DATA_PACKER >
void build (const CONTAINER &shlist, DATA_PACKER &data_packer, bool(DATA_PACKER::*filter)(T *))
template<class CONTAINER , class DATA_PACKER >
void build (const CONTAINER &shlist, const DATA_PACKER &data_packer, bool(DATA_PACKER::*filter)(T *) const)
template<class ITERATOR >
void build (ITERATOR &begin, ITERATOR &end)
void add_object (const Shared_object< T > &obj, bool is_add_entry=true)

公有属性

type_filter_t type_filter

详细描述

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
struct MPI::Transmit_map< T, SHARED_TYPE_FILTER >

数据发送映射图表。其中数据的意义为:

std::map<秩, std::pair<信息条数, std::list<std::pair< 本地指针,远程指针>=""> > > >


成员类型定义文档

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
typedef std::map<int, pair_t> MPI::Transmit_map< T, SHARED_TYPE_FILTER >::_Base
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
typedef std::pair<int, value_t> MPI::Transmit_map< T, SHARED_TYPE_FILTER >::pair_t
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
typedef SHARED_TYPE_FILTER MPI::Transmit_map< T, SHARED_TYPE_FILTER >::type_filter_t
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
typedef std::list<std::pair<T*, T*> > MPI::Transmit_map< T, SHARED_TYPE_FILTER >::value_t

成员函数文档

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::add_object ( const Shared_object< T > &  obj,
bool  is_add_entry = true 
) [inline]

加入一个共享对象。主要作私有用途。

如果不加入条目,rank一定需要加上去,否则会导致通讯死锁。

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
template<class CONTAINER >
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::build ( const CONTAINER &  shlist) [inline]

基于一个共享数据表创建数据发送接收映像图,要求 CONTAINER 的遍历 器的值类型为 Shared_object<T>。

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
template<class CONTAINER >
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::build ( const CONTAINER &  shlist,
bool(*)(T *)  filter 
) [inline]
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
template<class CONTAINER , class DATA_PACKER >
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::build ( const CONTAINER &  shlist,
DATA_PACKER &  data_packer,
bool(DATA_PACKER::*)(T *)  filter 
) [inline]
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
template<class CONTAINER , class DATA_PACKER >
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::build ( const CONTAINER &  shlist,
const DATA_PACKER &  data_packer,
bool(DATA_PACKER::*)(T *) const  filter 
) [inline]
template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
template<class ITERATOR >
void MPI::Transmit_map< T, SHARED_TYPE_FILTER >::build ( ITERATOR &  begin,
ITERATOR &  end 
) [inline]

基于一个遍历器创建数据发送接收映像图,要求 ITERATOR 的值类型为 Shared_object<T>。


成员数据文档

template<class T, class SHARED_TYPE_FILTER = Shared_type_filter::all>
type_filter_t MPI::Transmit_map< T, SHARED_TYPE_FILTER >::type_filter

该结构的文档由以下文件生成: