MADNESS  version 0.9
Public Types | Public Member Functions | Friends | List of all members
madness::WorldContainerImpl< keyT, valueT, hashfunT > Class Template Reference

Internal implementation of distributed container to facilitate shallow copy. More...

#include <worlddc.h>

Inheritance diagram for madness::WorldContainerImpl< keyT, valueT, hashfunT >:
Inheritance graph
[legend]
Collaboration diagram for madness::WorldContainerImpl< keyT, valueT, hashfunT >:
Collaboration graph
[legend]

Public Types

typedef std::pair< const keyT,
valueT > 
pairT
 
typedef const pairT const_pairT
 
typedef WorldContainerImpl
< keyT, valueT, hashfunT > 
implT
 
typedef ConcurrentHashMap
< keyT, valueT, hashfunT > 
internal_containerT
 
typedef
internal_containerT::iterator 
internal_iteratorT
 
typedef
internal_containerT::const_iterator 
internal_const_iteratorT
 
typedef
internal_containerT::accessor 
accessor
 
typedef
internal_containerT::const_accessor 
const_accessor
 
typedef WorldContainerIterator
< internal_iteratorT
iteratorT
 
typedef WorldContainerIterator
< internal_iteratorT
iterator
 
typedef WorldContainerIterator
< internal_const_iteratorT
const_iteratorT
 
typedef WorldContainerIterator
< internal_const_iteratorT
const_iterator
 

Public Member Functions

 WorldContainerImpl (World &world, const std::shared_ptr< WorldDCPmapInterface< keyT > > &pm, bool do_pending, const hashfunT &hf)
 
virtual ~WorldContainerImpl ()
 
const std::shared_ptr
< WorldDCPmapInterface< keyT > > & 
get_pmap () const
 
hashfunT & get_hash () const
 
bool is_local (const keyT &key) const
 
ProcessID owner (const keyT &key) const
 
bool probe (const keyT &key) const
 
std::size_t size () const
 
Void insert (const pairT &datum)
 
bool insert_acc (accessor &acc, const keyT &key)
 
bool insert_const_acc (const_accessor &acc, const keyT &key)
 
void clear ()
 
Void erase (const keyT &key)
 
template<typename InIter >
void erase (InIter it)
 
template<typename InIter >
void erase (InIter first, InIter last)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
Future< const_iteratorfind (const keyT &key) const
 
Future< iteratorfind (const keyT &key)
 
bool find (accessor &acc, const keyT &key)
 
bool find (const_accessor &acc, const keyT &key) const
 
template<typename memfunT >
 itemfun (const keyT &key, memfunT memfun)
 
template<typename memfunT , typename arg1T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1)
 
template<typename memfunT , typename arg1T , typename arg2T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2)
 
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2, const arg3T &arg3)
 
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2, const arg3T &arg3, const arg4T &arg4)
 
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2, const arg3T &arg3, const arg4T &arg4, const arg5T &arg5)
 
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T , typename arg6T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2, const arg3T &arg3, const arg4T &arg4, const arg5T &arg5, const arg6T &arg6)
 
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T , typename arg6T , typename arg7T >
 itemfun (const keyT &key, memfunT memfun, const arg1T &arg1, const arg2T &arg2, const arg3T &arg3, const arg4T &arg4, const arg5T &arg5, const arg6T &arg6, const arg7T &arg7)
 
void redistribute_phase1 (const std::shared_ptr< WorldDCPmapInterface< keyT > > &newpmap)
 
void redistribute_phase2 ()
 
- Public Member Functions inherited from madness::WorldObject< WorldContainerImpl< keyT, valueT, hashfunT > >
 WorldObject (World &world)
 Associates object with globally unique ID. More...
 
const uniqueidTid () const
 Returns the globally unique object ID. More...
 
Worldget_world () const
 Returns a reference to the world. More...
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9)". More...
 
virtual ~WorldObject ()
 
- Public Member Functions inherited from madness::WorldDCRedistributeInterface< keyT >
virtual ~WorldDCRedistributeInterface ()
 

Friends

class WorldContainer< keyT, valueT, hashfunT >
 

Additional Inherited Members

- Public Attributes inherited from madness::WorldObject< WorldContainerImpl< keyT, valueT, hashfunT > >
Worldworld
 Think globally act locally. More...
 
- Protected Member Functions inherited from madness::WorldObject< WorldContainerImpl< keyT, valueT, hashfunT > >
void process_pending ()
 To be called from derived constructor to process pending messages. More...
 

Detailed Description

template<typename keyT, typename valueT, typename hashfunT>
class madness::WorldContainerImpl< keyT, valueT, hashfunT >

Internal implementation of distributed container to facilitate shallow copy.

Member Typedef Documentation

template<typename keyT , typename valueT , typename hashfunT >
typedef internal_containerT::accessor madness::WorldContainerImpl< keyT, valueT, hashfunT >::accessor
template<typename keyT , typename valueT , typename hashfunT >
typedef internal_containerT::const_accessor madness::WorldContainerImpl< keyT, valueT, hashfunT >::const_accessor
template<typename keyT , typename valueT , typename hashfunT >
typedef WorldContainerIterator<internal_const_iteratorT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::const_iterator
template<typename keyT , typename valueT , typename hashfunT >
typedef WorldContainerIterator<internal_const_iteratorT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::const_iteratorT
template<typename keyT , typename valueT , typename hashfunT >
typedef const pairT madness::WorldContainerImpl< keyT, valueT, hashfunT >::const_pairT
template<typename keyT , typename valueT , typename hashfunT >
typedef WorldContainerImpl<keyT,valueT,hashfunT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::implT
template<typename keyT , typename valueT , typename hashfunT >
typedef internal_containerT::const_iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::internal_const_iteratorT
template<typename keyT , typename valueT , typename hashfunT >
typedef ConcurrentHashMap< keyT,valueT,hashfunT > madness::WorldContainerImpl< keyT, valueT, hashfunT >::internal_containerT
template<typename keyT , typename valueT , typename hashfunT >
typedef internal_containerT::iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::internal_iteratorT
template<typename keyT , typename valueT , typename hashfunT >
typedef WorldContainerIterator<internal_iteratorT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::iterator
template<typename keyT , typename valueT , typename hashfunT >
typedef WorldContainerIterator<internal_iteratorT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::iteratorT
template<typename keyT , typename valueT , typename hashfunT >
typedef std::pair<const keyT,valueT> madness::WorldContainerImpl< keyT, valueT, hashfunT >::pairT

Constructor & Destructor Documentation

template<typename keyT , typename valueT , typename hashfunT >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::WorldContainerImpl ( World world,
const std::shared_ptr< WorldDCPmapInterface< keyT > > &  pm,
bool  do_pending,
const hashfunT &  hf 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
virtual madness::WorldContainerImpl< keyT, valueT, hashfunT >::~WorldContainerImpl ( )
inlinevirtual

Member Function Documentation

template<typename keyT , typename valueT , typename hashfunT >
iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::begin ( )
inline
template<typename keyT , typename valueT , typename hashfunT >
const_iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::begin ( ) const
inline
template<typename keyT , typename valueT , typename hashfunT >
void madness::WorldContainerImpl< keyT, valueT, hashfunT >::clear ( )
inline
template<typename keyT , typename valueT , typename hashfunT >
iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::end ( )
inline
template<typename keyT , typename valueT , typename hashfunT >
const_iterator madness::WorldContainerImpl< keyT, valueT, hashfunT >::end ( ) const
inline
template<typename keyT , typename valueT , typename hashfunT >
Void madness::WorldContainerImpl< keyT, valueT, hashfunT >::erase ( const keyT &  key)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename InIter >
void madness::WorldContainerImpl< keyT, valueT, hashfunT >::erase ( InIter  it)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename InIter >
void madness::WorldContainerImpl< keyT, valueT, hashfunT >::erase ( InIter  first,
InIter  last 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
Future<const_iterator> madness::WorldContainerImpl< keyT, valueT, hashfunT >::find ( const keyT &  key) const
inline
template<typename keyT , typename valueT , typename hashfunT >
Future<iterator> madness::WorldContainerImpl< keyT, valueT, hashfunT >::find ( const keyT &  key)
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::find ( accessor acc,
const keyT &  key 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::find ( const_accessor acc,
const keyT &  key 
) const
inline
template<typename keyT , typename valueT , typename hashfunT >
hashfunT& madness::WorldContainerImpl< keyT, valueT, hashfunT >::get_hash ( ) const
inline
template<typename keyT , typename valueT , typename hashfunT >
const std::shared_ptr< WorldDCPmapInterface<keyT> >& madness::WorldContainerImpl< keyT, valueT, hashfunT >::get_pmap ( ) const
inline
template<typename keyT , typename valueT , typename hashfunT >
Void madness::WorldContainerImpl< keyT, valueT, hashfunT >::insert ( const pairT datum)
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::insert_acc ( accessor acc,
const keyT &  key 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::insert_const_acc ( const_accessor acc,
const keyT &  key 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::is_local ( const keyT &  key) const
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2,
const arg3T &  arg3 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2,
const arg3T &  arg3,
const arg4T &  arg4 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2,
const arg3T &  arg3,
const arg4T &  arg4,
const arg5T &  arg5 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T , typename arg6T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2,
const arg3T &  arg3,
const arg4T &  arg4,
const arg5T &  arg5,
const arg6T &  arg6 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
template<typename memfunT , typename arg1T , typename arg2T , typename arg3T , typename arg4T , typename arg5T , typename arg6T , typename arg7T >
madness::WorldContainerImpl< keyT, valueT, hashfunT >::itemfun ( const keyT &  key,
memfunT  memfun,
const arg1T &  arg1,
const arg2T &  arg2,
const arg3T &  arg3,
const arg4T &  arg4,
const arg5T &  arg5,
const arg6T &  arg6,
const arg7T &  arg7 
)
inline
template<typename keyT , typename valueT , typename hashfunT >
ProcessID madness::WorldContainerImpl< keyT, valueT, hashfunT >::owner ( const keyT &  key) const
inline
template<typename keyT , typename valueT , typename hashfunT >
bool madness::WorldContainerImpl< keyT, valueT, hashfunT >::probe ( const keyT &  key) const
inline
template<typename keyT , typename valueT , typename hashfunT >
void madness::WorldContainerImpl< keyT, valueT, hashfunT >::redistribute_phase1 ( const std::shared_ptr< WorldDCPmapInterface< keyT > > &  newpmap)
inlinevirtual
template<typename keyT , typename valueT , typename hashfunT >
void madness::WorldContainerImpl< keyT, valueT, hashfunT >::redistribute_phase2 ( )
inlinevirtual
template<typename keyT , typename valueT , typename hashfunT >
std::size_t madness::WorldContainerImpl< keyT, valueT, hashfunT >::size ( ) const
inline

Friends And Related Function Documentation

template<typename keyT , typename valueT , typename hashfunT >
friend class WorldContainer< keyT, valueT, hashfunT >
friend

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