torc::physical::Progenitor< T > Class Template Reference

Concept for any object that may have children. More...

#include <Progenitor.hpp>

Inheritance diagram for torc::physical::Progenitor< T >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

const WeakPtrTypegetSelfWeakPtr (void) const
 Returns a weak pointer to this object.

Protected Types

typedef boost::weak_ptr< T > WeakPtrType
 Weak pointer of our own type.
typedef boost::shared_ptr< T > SharedPtrType
 Shared pointer of our own type.

Protected Member Functions

void setSelfWeakPtr (WeakPtrType inSelfPtr)
 Sets the weak pointer to this object.

Protected Attributes

WeakPtrType mSelfWeakPtr
 Weak pointer this object.

Friends

class Factory
 The Factory class has direct access to our internals.
class torc::physical::physical::ProgenitorUnitTest
 Our unit test has direct access to our internals.
class torc::physical::physical::ProgenyUnitTest
 The Progeny<T> unit test has direct access to our internals.


Detailed Description

template<class T>
class torc::physical::Progenitor< T >

Concept for any object that may have children.

Todo:
Rename Progenitor to SelfReferent, since some childless objects need to refer to themselves. c.f. InstancePin.

Definition at line 36 of file Progenitor.hpp.


Member Typedef Documentation

template<class T>
typedef boost::weak_ptr<T> torc::physical::Progenitor< T >::WeakPtrType [protected]

Weak pointer of our own type.

Definition at line 50 of file Progenitor.hpp.

template<class T>
typedef boost::shared_ptr<T> torc::physical::Progenitor< T >::SharedPtrType [protected]

Shared pointer of our own type.

Definition at line 52 of file Progenitor.hpp.


Member Function Documentation

template<class T>
void torc::physical::Progenitor< T >::setSelfWeakPtr ( WeakPtrType  inSelfPtr  )  [inline, protected]

Sets the weak pointer to this object.

Definition at line 59 of file Progenitor.hpp.

template<class T>
const WeakPtrType& torc::physical::Progenitor< T >::getSelfWeakPtr ( void   )  const [inline]

Returns a weak pointer to this object.

Definition at line 68 of file Progenitor.hpp.


Friends And Related Function Documentation

template<class T>
friend class Factory [friend]

The Factory class has direct access to our internals.

The Factory class needs access so that it can set this object's self weak pointer after constructing it. This object can in turn share its weak pointer with its children, allowing them to link back.

Reimplemented in torc::physical::Design, torc::physical::Instance, torc::physical::InstancePin, torc::physical::Module, and torc::physical::Net.

Definition at line 42 of file Progenitor.hpp.

template<class T>
friend class torc::physical::physical::ProgenitorUnitTest [friend]

Our unit test has direct access to our internals.

Definition at line 44 of file Progenitor.hpp.

template<class T>
friend class torc::physical::physical::ProgenyUnitTest [friend]

The Progeny<T> unit test has direct access to our internals.

Definition at line 46 of file Progenitor.hpp.


Member Data Documentation

template<class T>
WeakPtrType torc::physical::Progenitor< T >::mSelfWeakPtr [protected]

Weak pointer this object.

This weak pointer is kept here to be passed along to our children, allowing them to point back to us without the strong dependency of a shared pointer.

Definition at line 57 of file Progenitor.hpp.


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

Generated on Thu Oct 13 16:50:48 2011 for TORC by  doxygen 1.5.6