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

Detailed Description

Definition at line 49 of file LatticeLink.h.


Member Typedef Documentation

Definition at line 62 of file LatticeLink.h.

Definition at line 66 of file LatticeLink.h.

Definition at line 63 of file LatticeLink.h.

Definition at line 71 of file LatticeLink.h.

Definition at line 67 of file LatticeLink.h.

Definition at line 64 of file LatticeLink.h.

Definition at line 69 of file LatticeLink.h.

Definition at line 70 of file LatticeLink.h.


Constructor & Destructor Documentation

LatticeLink::LatticeLink ( LeftNode lNode,
RightNode rNode 
) [private]

Definition at line 88 of file LatticeLink.cxx.

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

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 lNode,
RightNode rNode,
const LinkData linkData 
) [private]

Definition at line 98 of file LatticeLink.cxx.

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

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.

References m_LinkData, m_VLeftID, and m_VRightID.

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.

References m_LinkData.

00133 {
00134   return m_LinkData;
00135 }

LatticeDef::LinkData & LatticeLink::linkData (  ) 

Definition at line 125 of file LatticeLink.cxx.

References m_LinkData.

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 &  os  )  const

Definition at line 167 of file LatticeLink.cxx.

References vLeftID(), and vRightID().

Referenced by 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.

References m_VLeftID.

Referenced by show().

00139 {
00140   return m_VLeftID;
00141 }

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

Definition at line 144 of file LatticeLink.cxx.

References m_VRightID.

Referenced by show().

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

Definition at line 114 of file LatticeLink.h.

Referenced by linkData(), and ~LatticeLink().


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

Generated on 2 Nov 2017 for loon by  doxygen 1.6.1