Node< Dom, OrigDom > Class Template Reference

Node is a quite simple object which stores information about where a subdomain should be located. More...

#include <Node.h>

Inheritance diagram for Node< Dom, OrigDom >:

Inheritance graph
[legend]
Collaboration diagram for Node< Dom, OrigDom >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef Dom Domain_t
typedef OrigDom AllocatedDomain_t
typedef int Context_t
typedef int ID_t
typedef Node< Dom, OrigDom > This_t

Public Member Functions

 Node ()
 Node (const Domain_t &owned, const AllocatedDomain_t &allocated, Context_t c, ID_t gid, ID_t lid=(-1))
 Node (const Domain_t &d, Context_t c, ID_t gid, ID_t lid=(-1))
 Node (int affinity, const Domain_t &owned, const AllocatedDomain_t &allocated, Context_t c, ID_t gid, ID_t lid=(-1))
 Node (int affinity, const Domain_t &d, Context_t c, ID_t gid, ID_t lid=(-1))
 Node (const This_t &n)
template<class ODom , class OAlloc >
 Node (const Node< ODom, OAlloc > &n)
void initialize (const Domain_t &owned, const AllocatedDomain_t &allocated, Context_t c, ID_t gid, ID_t lid=(-1))
void initialize (const Domain_t &d, Context_t c, ID_t gid, ID_t lid=(-1))
 ~Node ()
const Domain_tdomain () const
const AllocatedDomain_tallocated () const
Context_t context () const
ID_t localID () const
ID_t globalID () const
bool isLocal () const
int affinity () const
int & affinity ()
int & context ()
int & localID ()
void setDomain (const Domain_t &dom)
Domain_tdomain ()
void setAllocated (const AllocatedDomain_t &dom)
AllocatedDomain_tallocated ()
This_toperator= (const This_t &n)
template<class ODom , class OAlloc >
This_toperator= (const Node< ODom, OAlloc > &n)
This_toperator= (const Domain_t &d)
template<class Out >
void print (Out &o) const


Detailed Description

template<class Dom, class OrigDom = Dom>
class Node< Dom, OrigDom >

Node is a quite simple object which stores information about where a subdomain should be located.

It is templated on the type of domains it is locating. It stores domains describing the owned and allocated domains of the patch, the latter being in reference to the actual underlying layout domain, the context where the patch should be stored, and two ID values:

  1. a global ID, which, for a set of N subdomains partitioned across ALL the contexts, should be a unique value from 0 ... N-1
  2. a local ID, which, for a set of M subdomains all located on a single context, should be a unique value from 0 ... M-1.

The entities that create Node objects must assign the ID values to the Nodes. This object is pooled for faster creation/destruction time, since many Node objects are created and destroyed.


Member Typedef Documentation

template<class Dom, class OrigDom = Dom>
typedef Dom Node< Dom, OrigDom >::Domain_t

template<class Dom, class OrigDom = Dom>
typedef OrigDom Node< Dom, OrigDom >::AllocatedDomain_t

template<class Dom, class OrigDom = Dom>
typedef int Node< Dom, OrigDom >::Context_t

template<class Dom, class OrigDom = Dom>
typedef int Node< Dom, OrigDom >::ID_t

template<class Dom, class OrigDom = Dom>
typedef Node<Dom,OrigDom> Node< Dom, OrigDom >::This_t


Constructor & Destructor Documentation

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node (  )  [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node ( const Domain_t owned,
const AllocatedDomain_t allocated,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node ( const Domain_t d,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node ( int  affinity,
const Domain_t owned,
const AllocatedDomain_t allocated,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node ( int  affinity,
const Domain_t d,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::Node ( const This_t n  )  [inline]

template<class Dom, class OrigDom = Dom>
template<class ODom , class OAlloc >
Node< Dom, OrigDom >::Node ( const Node< ODom, OAlloc > &  n  )  [inline]

template<class Dom, class OrigDom = Dom>
Node< Dom, OrigDom >::~Node (  )  [inline]


Member Function Documentation

template<class Dom, class OrigDom = Dom>
void Node< Dom, OrigDom >::initialize ( const Domain_t owned,
const AllocatedDomain_t allocated,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
void Node< Dom, OrigDom >::initialize ( const Domain_t d,
Context_t  c,
ID_t  gid,
ID_t  lid = (-1) 
) [inline]

template<class Dom, class OrigDom = Dom>
const Domain_t& Node< Dom, OrigDom >::domain (  )  const [inline]

template<class Dom, class OrigDom = Dom>
const AllocatedDomain_t& Node< Dom, OrigDom >::allocated (  )  const [inline]

template<class Dom, class OrigDom = Dom>
Context_t Node< Dom, OrigDom >::context (  )  const [inline]

template<class Dom, class OrigDom = Dom>
ID_t Node< Dom, OrigDom >::localID (  )  const [inline]

template<class Dom, class OrigDom = Dom>
ID_t Node< Dom, OrigDom >::globalID (  )  const [inline]

template<class Dom, class OrigDom = Dom>
bool Node< Dom, OrigDom >::isLocal (  )  const [inline]

template<class Dom, class OrigDom = Dom>
int Node< Dom, OrigDom >::affinity (  )  const [inline]

template<class Dom, class OrigDom = Dom>
int& Node< Dom, OrigDom >::affinity (  )  [inline]

template<class Dom, class OrigDom = Dom>
int& Node< Dom, OrigDom >::context (  )  [inline]

template<class Dom, class OrigDom = Dom>
int& Node< Dom, OrigDom >::localID (  )  [inline]

template<class Dom, class OrigDom = Dom>
void Node< Dom, OrigDom >::setDomain ( const Domain_t dom  )  [inline]

template<class Dom, class OrigDom = Dom>
Domain_t& Node< Dom, OrigDom >::domain (  )  [inline]

template<class Dom, class OrigDom = Dom>
void Node< Dom, OrigDom >::setAllocated ( const AllocatedDomain_t dom  )  [inline]

template<class Dom, class OrigDom = Dom>
AllocatedDomain_t& Node< Dom, OrigDom >::allocated (  )  [inline]

template<class Dom, class OrigDom = Dom>
This_t& Node< Dom, OrigDom >::operator= ( const This_t n  )  [inline]

template<class Dom, class OrigDom = Dom>
template<class ODom , class OAlloc >
This_t& Node< Dom, OrigDom >::operator= ( const Node< ODom, OAlloc > &  n  )  [inline]

template<class Dom, class OrigDom = Dom>
This_t& Node< Dom, OrigDom >::operator= ( const Domain_t d  )  [inline]

template<class Dom, class OrigDom = Dom>
template<class Out >
void Node< Dom, OrigDom >::print ( Out &  o  )  const [inline]


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

Generated on Wed Mar 16 06:20:22 2011 for FreePOOMA by  doxygen 1.5.9