#include <Composite.hpp>
Public Types | |
typedef _Type | Type |
typedef boost::shared_ptr< Type > | Pointer |
typedef boost::weak_ptr< Type > | WeakPointer |
typedef std::vector< Pointer > | List |
typedef size_t | SizeType |
Public Member Functions | |
virtual CompositionType | getCompositionType () const =0 throw () |
virtual size_t | getSize () const =0 throw () |
virtual void | getChildren (List &outChildren) const =0 throw (Error) |
virtual const Pointer | get (const std::vector< SizeType > &inIndices) const =0 throw (Error) |
virtual void | setParentCollection (const Pointer &inParentCollection) throw () |
virtual Pointer | getParentCollection () const throw () |
Private Member Functions | |
Composite (const Composite< _Type > &rhs) throw () | |
Composite< _Type > & | operator= (const Composite< _Type > &rhs) throw () |
Private Attributes | |
WeakPointer | mParentCollection |
The Composite class defines an interface for objects that can occur singly (Scalar), as Arrays (Vector) or bundles (Bundle). This class defines polymorphic methods that will be overridden by subsequent implementations.
Definition at line 48 of file Composite.hpp.
typedef boost::shared_ptr<Type> torc::generic::Composite< _Type >::Pointer |
Shared Pointer to object of type Type
Reimplemented in torc::generic::Bundle< _Type >, torc::generic::Scalar< _Type >, torc::generic::Vector< _Type, _ChildType, _ChildFactoryType, cPreserve >, torc::generic::VectorBit< _Type >, torc::generic::Bundle< torc::generic::PortReference >, torc::generic::Bundle< torc::generic::Net >, torc::generic::Bundle< _BaseType >, torc::generic::Bundle< torc::generic::Port >, torc::generic::Scalar< torc::generic::PortReference >, torc::generic::Scalar< torc::generic::Net >, torc::generic::Scalar< torc::generic::Parameter >, torc::generic::Scalar< torc::generic::Instance >, torc::generic::Scalar< torc::generic::Port >, torc::generic::Vector< torc::generic::PortReference, torc::generic::VectorPortBitReference, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Instance, torc::generic::InstanceArrayMember, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Net, torc::generic::VectorNetBit, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Parameter, torc::generic::ParameterArrayElement, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Port, torc::generic::VectorPortBit, torc::generic::FactoryType, true >, torc::generic::VectorBit< torc::generic::PortReference >, torc::generic::VectorBit< torc::generic::Net >, torc::generic::VectorBit< torc::generic::Parameter >, torc::generic::VectorBit< torc::generic::Instance >, and torc::generic::VectorBit< torc::generic::Port >.
Definition at line 59 of file Composite.hpp.
typedef std::vector<Pointer> torc::generic::Composite< _Type >::List |
List of Shared Pointers to objects of type Type
Reimplemented in torc::generic::Bundle< _Type >, torc::generic::Scalar< _Type >, torc::generic::Vector< _Type, _ChildType, _ChildFactoryType, cPreserve >, torc::generic::VectorBit< _Type >, torc::generic::Bundle< torc::generic::PortReference >, torc::generic::Bundle< torc::generic::Net >, torc::generic::Bundle< _BaseType >, torc::generic::Bundle< torc::generic::Port >, torc::generic::Scalar< torc::generic::PortReference >, torc::generic::Scalar< torc::generic::Net >, torc::generic::Scalar< torc::generic::Parameter >, torc::generic::Scalar< torc::generic::Instance >, torc::generic::Scalar< torc::generic::Port >, torc::generic::Vector< torc::generic::PortReference, torc::generic::VectorPortBitReference, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Instance, torc::generic::InstanceArrayMember, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Net, torc::generic::VectorNetBit, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Parameter, torc::generic::ParameterArrayElement, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Port, torc::generic::VectorPortBit, torc::generic::FactoryType, true >, torc::generic::VectorBit< torc::generic::PortReference >, torc::generic::VectorBit< torc::generic::Net >, torc::generic::VectorBit< torc::generic::Parameter >, torc::generic::VectorBit< torc::generic::Instance >, and torc::generic::VectorBit< torc::generic::Port >.
Definition at line 65 of file Composite.hpp.
virtual CompositionType torc::generic::Composite< _Type >::getCompositionType | ( | ) | const throw () [pure virtual] |
Get the type of this composition.
Implemented in torc::generic::Bundle< _Type >, torc::generic::Scalar< _Type >, torc::generic::Vector< _Type, _ChildType, _ChildFactoryType, cPreserve >, torc::generic::VectorBit< _Type >, torc::generic::Bundle< torc::generic::PortReference >, torc::generic::Bundle< torc::generic::Net >, torc::generic::Bundle< _BaseType >, torc::generic::Bundle< torc::generic::Port >, torc::generic::Scalar< torc::generic::PortReference >, torc::generic::Scalar< torc::generic::Net >, torc::generic::Scalar< torc::generic::Parameter >, torc::generic::Scalar< torc::generic::Instance >, torc::generic::Scalar< torc::generic::Port >, torc::generic::Vector< torc::generic::PortReference, torc::generic::VectorPortBitReference, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Instance, torc::generic::InstanceArrayMember, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Net, torc::generic::VectorNetBit, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Parameter, torc::generic::ParameterArrayElement, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Port, torc::generic::VectorPortBit, torc::generic::FactoryType, true >, torc::generic::VectorBit< torc::generic::PortReference >, torc::generic::VectorBit< torc::generic::Net >, torc::generic::VectorBit< torc::generic::Parameter >, torc::generic::VectorBit< torc::generic::Instance >, and torc::generic::VectorBit< torc::generic::Port >.
virtual size_t torc::generic::Composite< _Type >::getSize | ( | ) | const throw () [pure virtual] |
Get the total number of bits of the composition
Implemented in torc::generic::Bundle< _Type >, torc::generic::Scalar< _Type >, torc::generic::Vector< _Type, _ChildType, _ChildFactoryType, cPreserve >, torc::generic::VectorBit< _Type >, torc::generic::Bundle< torc::generic::PortReference >, torc::generic::Bundle< torc::generic::Net >, torc::generic::Bundle< _BaseType >, torc::generic::Bundle< torc::generic::Port >, torc::generic::Scalar< torc::generic::PortReference >, torc::generic::Scalar< torc::generic::Net >, torc::generic::Scalar< torc::generic::Parameter >, torc::generic::Scalar< torc::generic::Instance >, torc::generic::Scalar< torc::generic::Port >, torc::generic::Vector< torc::generic::PortReference, torc::generic::VectorPortBitReference, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Instance, torc::generic::InstanceArrayMember, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Net, torc::generic::VectorNetBit, torc::generic::FactoryType, true >, torc::generic::Vector< torc::generic::Parameter, torc::generic::ParameterArrayElement, torc::generic::FactoryType, false >, torc::generic::Vector< torc::generic::Port, torc::generic::VectorPortBit, torc::generic::FactoryType, true >, torc::generic::VectorBit< torc::generic::PortReference >, torc::generic::VectorBit< torc::generic::Net >, torc::generic::VectorBit< torc::generic::Parameter >, torc::generic::VectorBit< torc::generic::Instance >, and torc::generic::VectorBit< torc::generic::Port >.
virtual void torc::generic::Composite< _Type >::getChildren | ( | List & | outChildren | ) | const throw (Error) [pure virtual] |
virtual const Pointer torc::generic::Composite< _Type >::get | ( | const std::vector< SizeType > & | inIndices | ) | const throw (Error) [pure virtual] |
Get a specific member of this composition.
[in] | inIndices | A list of indices to be accessed. The number of indices must be equal to the number of dimensions. |
Error | Index dimensions mismatch |
virtual void torc::generic::Composite< _Type >::setParentCollection | ( | const Pointer & | inParentCollection | ) | throw () [inline, virtual] |
Set a pointer to a parnt composition.
[in] | inParentCollection | pointer to the parent collection (Vector/Bundle) |
Composite< _Type >::Pointer torc::generic::Composite< _Type >::getParentCollection | ( | ) | const throw () [inline, virtual] |
Get a pointer to the parent collection
Definition at line 174 of file Composite.hpp.