Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LatticeLink Class Reference

#include <LatticeLink.h>

List of all members.

Public Types

typedef LatticeBase Lattice
typedef LatticeLeftNode LeftNode
typedef LatticeRightNode RightNode
typedef LatticeDef::LeftID LeftID
typedef LatticeDef::RightID RightID
typedef LatticeDef::VectorLeftID VectorLeftID
typedef LatticeDef::VectorRightID VectorRightID
typedef LatticeDef::LinkData LinkData

Public Member Functions

LinkDatalinkData ()
const LinkDatalinkData () const
const VectorLeftIDvLeftID () const
const VectorRightIDvRightID () const
const LeftIDleftID () const
const RightIDrightID () const
void show (ostream &) const

Private Member Functions

 LatticeLink (LeftNode *, RightNode *)
 LatticeLink (LeftNode *, RightNode *, const LinkData &)
 ~LatticeLink ()
 LatticeLink ()
 LatticeLink (const LatticeLink &)
const LatticeLinkoperator= (const LatticeLink &)

Private Attributes

LinkDatam_LinkData
VectorLeftIDm_VLeftID
VectorRightIDm_VRightID

Friends

class LatticeBase


Member Typedef Documentation

typedef LatticeBase LatticeLink::Lattice
 

Definition at line 62 of file LatticeLink.h.

typedef LatticeDef::LeftID LatticeLink::LeftID
 

Definition at line 66 of file LatticeLink.h.

typedef LatticeLeftNode LatticeLink::LeftNode
 

Definition at line 63 of file LatticeLink.h.

Referenced by LatticeLink().

typedef LatticeDef::LinkData LatticeLink::LinkData
 

Definition at line 71 of file LatticeLink.h.

Referenced by LatticeLink().

typedef LatticeDef::RightID LatticeLink::RightID
 

Definition at line 67 of file LatticeLink.h.

typedef LatticeRightNode LatticeLink::RightNode
 

Definition at line 64 of file LatticeLink.h.

Referenced by LatticeLink().

typedef LatticeDef::VectorLeftID LatticeLink::VectorLeftID
 

Definition at line 69 of file LatticeLink.h.

Referenced by show().

typedef LatticeDef::VectorRightID LatticeLink::VectorRightID
 

Definition at line 70 of file LatticeLink.h.

Referenced by show().


Constructor & Destructor Documentation

LatticeLink::LatticeLink LeftNode ,
RightNode
[private]
 

Definition at line 88 of file LatticeLink.cxx.

References LatticeRightNode::identifier(), LatticeLeftNode::identifier(), LeftNode, LinkData, m_VLeftID, m_VRightID, and RightNode.

00089      : m_LinkData(*new LinkData),
00090        m_VLeftID (*new VectorLeftID),
00091        m_VRightID(*new VectorRightID)
00092 {
00093   m_VLeftID .push_back(lNode->identifier());
00094   m_VRightID.push_back(rNode->identifier());
00095 }

LatticeLink::LatticeLink LeftNode ,
RightNode ,
const LinkData
[private]
 

Definition at line 98 of file LatticeLink.cxx.

References LatticeRightNode::identifier(), LatticeLeftNode::identifier(), LeftNode, LinkData, m_VLeftID, m_VRightID, and RightNode.

00099      : m_LinkData(*new LinkData(linkData)),
00100        m_VLeftID (*new VectorLeftID),
00101        m_VRightID(*new VectorRightID)
00102 {
00103   m_VLeftID .push_back(lNode->identifier());
00104   m_VRightID.push_back(rNode->identifier());
00105 }

LatticeLink::~LatticeLink  )  [private]
 

Definition at line 108 of file LatticeLink.cxx.

00109 {
00110   delete &m_LinkData;
00111   delete &m_VLeftID;
00112   delete &m_VRightID;
00113 }

LatticeLink::LatticeLink  )  [private]
 

LatticeLink::LatticeLink const LatticeLink  )  [private]
 


Member Function Documentation

const LatticeLink::LeftID * LatticeLink::leftID  )  const
 

Definition at line 150 of file LatticeLink.cxx.

References m_VLeftID.

00151 {
00152   return (1 != m_VLeftID.size()) ?  0 : &(m_VLeftID.front());
00153 }

const LatticeDef::LinkData & LatticeLink::linkData  )  const
 

Definition at line 132 of file LatticeLink.cxx.

00133 {
00134   return m_LinkData;
00135 }

LatticeDef::LinkData & LatticeLink::linkData  ) 
 

Definition at line 125 of file LatticeLink.cxx.

00126 {
00127   return m_LinkData;
00128 }

const LatticeLink& LatticeLink::operator= const LatticeLink  )  [private]
 

const LatticeLink::RightID * LatticeLink::rightID  )  const
 

Definition at line 156 of file LatticeLink.cxx.

References m_VRightID.

00157 {
00158   return (1 != m_VRightID.size()) ?  0 : &(m_VRightID.front());
00159 }

void LatticeLink::show ostream &   )  const
 

Definition at line 167 of file LatticeLink.cxx.

References VectorLeftID, VectorRightID, vLeftID(), and vRightID().

Referenced by LatticeBase::show(), and LatticeBase::showLink().

00168 {
00169   typedef LatticeLink::VectorLeftID
00170                                         VectorLeftID;
00171   typedef LatticeLink::VectorRightID
00172                                         VectorRightID;
00173   typedef VectorLeftID ::const_iterator LeftItr;
00174   typedef VectorRightID::const_iterator RightItr;
00175 
00176   const VectorLeftID&  ld = vLeftID();
00177   const VectorRightID& rd = vRightID();
00178   os << "  Link " << ld.size() << " left data items to "
00179                   << rd.size() << " right data items." <<endl 
00180      << "   Left  IDs:";
00181   for (LeftItr i = ld.begin();  i != ld.end();  ++i)
00182   {
00183     os << " " << *i;
00184   }
00185   os << endl << "   Right IDs:";
00186   for (RightItr j = rd.begin();  j != rd.end();  ++j)
00187   {
00188     os << " " << *j;
00189   }
00190   os << endl;
00191 }

const LatticeLink::VectorLeftID & LatticeLink::vLeftID  )  const
 

Definition at line 138 of file LatticeLink.cxx.

Referenced by show(), and LatticeBase::sLLshared().

00139 {
00140   return m_VLeftID;
00141 }

const LatticeLink::VectorRightID & LatticeLink::vRightID  )  const
 

Definition at line 144 of file LatticeLink.cxx.

Referenced by LatticeBase::cLshared(), show(), and LatticeBase::sLRshared().

00145 {
00146   return m_VRightID;
00147 }


Friends And Related Function Documentation

friend class LatticeBase [friend]
 

Definition at line 57 of file LatticeLink.h.


Member Data Documentation

LinkData& LatticeLink::m_LinkData [private]
 

Definition at line 114 of file LatticeLink.h.

VectorLeftID& LatticeLink::m_VLeftID [private]
 

Definition at line 115 of file LatticeLink.h.

Referenced by LatticeBase::addLeftNodeToLink(), LatticeBase::addRightNodeToLink(), LatticeBase::checkLLtopo(), LatticeBase::connect(), LatticeLink(), and leftID().

VectorRightID& LatticeLink::m_VRightID [private]
 

Definition at line 116 of file LatticeLink.h.

Referenced by LatticeBase::addLeftNodeToLink(), LatticeBase::addRightNodeToLink(), LatticeBase::checkRLtopo(), LatticeBase::connect(), LatticeLink(), and rightID().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:09:22 2010 for loon by  doxygen 1.3.9.1