torc-master
|
Represents an instantiation of a cell view in the view of another cell. More...
#include <Instance.hpp>
Data Structures | |
struct | MasterData |
Public Types | |
typedef Instance | Type |
typedef boost::shared_ptr< Type > | Pointer |
typedef boost::weak_ptr< Type > | WeakPointer |
typedef std::vector< Pointer > | List |
typedef size_t | SizeType |
typedef std::string | Name |
Public Member Functions | |
virtual ParameterContext | getParameterContext () const |
virtual ParameterMapSharedPtr | getParameters () const throw (Error) |
ViewSharedPtr | getMaster () const |
virtual void | bindToMasterView (const ViewSharedPtr &inMaster, bool inMapPortReferences=true) throw (Error) |
virtual void | addPortReference (const PortReferenceSharedPtr &inPortRef) throw (Error) |
virtual PortReferenceSharedPtr | findPortReference (const std::string &inPortRef) throw (Error) |
virtual NetReferenceSharedPtr | findNetReference (const std::string &inNetRef) throw (Error) |
virtual void | removePortReference (const std::string &inName) throw (Error) |
virtual void | getPortReferences (std::vector< PortReferenceSharedPtr > &) const |
virtual void | setPortReferences (const std::vector< PortReferenceSharedPtr > &inSource) throw (Error) |
template<typename _Action > | |
void | applyOnAllPortReferences (const _Action &action) throw (Error) |
const std::string | getDesignator () const |
void | setDesignator (const std::string &inSource) |
const TimingSharedPtr | getTiming () const |
void | setTiming (const TimingSharedPtr &inSource) |
Instance () | |
virtual | ~Instance () throw () |
virtual CompositionType | getCompositionType () const =0 |
virtual size_t | getSize () const =0 |
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) |
virtual Pointer | getParentCollection () const |
void | setWeakThis (const WeakPointer &inWeakThis) |
Pointer | getSharedThis () const |
void | addComment (const std::string &comment) |
const std::vector< std::string > & | getComments () const |
void | setComments (const std::vector< std::string > &inSource) |
virtual const std::string | getName () const |
void | setName (const std::string &inSource) throw (Error) |
PropertySharedPtr | getProperty (const std::string &inName) |
bool | setProperty (const std::string &inName, const PropertySharedPtr &inProperty) |
void | getProperties (std::map< std::string, PropertySharedPtr > &outProperties) const |
void | setProperties (const std::map< std::string, PropertySharedPtr > &inSource) |
template<typename _Action > | |
void | applyOnAllProperties (const _Action &action) throw (Error) |
virtual Name | getOriginalName () const |
virtual void | setOriginalName (const Name &inSource) |
virtual void | accept (BaseVisitor &inoutVisitor)=0 throw (Error) |
const boost::shared_ptr< View > | getParent () const |
virtual void | setParent (const boost::shared_ptr< View > &inSource) |
void | getUserData (std::list< std::string > &outUserData) const |
void | setUserData (const std::list< std::string > &inSource) |
void | addUserData (const std::string &inSource) |
Protected Member Functions | |
void | setMaster (const ViewSharedPtr &inMaster) |
Private Member Functions | |
Instance (const Instance &source) | |
Instance & | operator= (const Instance &source) |
Private Attributes | |
ViewSharedPtr | mMaster |
SymTab< std::string, PortReferenceSharedPtr > | mPortReferences |
ParameterContext | mMyContext |
std::string | mDesignator |
TimingSharedPtr | mTiming |
SymTab< std::string, NetReferenceSharedPtr > | mNetReferences |
Represents an instantiation of a cell view in the view of another cell.
The Instance class is used to represent the use of a cell in another cell. EDIF supports single instances and instance arrays. The Instance acts as a base class for these the actual scalar and vector representations of instances. Parameters defined in a cell declaration can be overridden in an Instance.
Definition at line 56 of file generic/Instance.hpp.
|
inherited |
List of Shared Pointers to objects of type Type
Definition at line 61 of file Composite.hpp.
|
inherited |
Definition at line 40 of file generic/Renamable.hpp.
|
inherited |
Shared Pointer to object of type Type
Definition at line 55 of file Composite.hpp.
|
inherited |
Definition at line 62 of file Composite.hpp.
|
inherited |
Definition at line 50 of file Composite.hpp.
|
inherited |
Definition at line 56 of file Composite.hpp.
torc::generic::Instance::Instance | ( | ) |
Definition at line 260 of file generic/Instance.cpp.
|
virtual |
Definition at line 271 of file generic/Instance.cpp.
|
private |
|
pure virtualinherited |
Receive an inoutVisitor to this class. The visit method of the inoutVisitor is called and a reference to this object is passed as a parameter. It has to be noted however, that a dynamic_cast is performed inside this method. If the cast fails, an appropriate exception is thrown by this method. This situation can arise when the passed Visitor object does not inherit from the appropriate inoutVisitor specialization. See Visitor documentation for more details.
[in,out] | inoutVisitor | A reference to the inoutVisitor object |
Error | Visitor type inappropriate for visiting this object or any other error thrown by the Visitor::throw() method. |
Implemented in torc::generic::Root, torc::generic::Permutable, torc::generic::PortBundle, torc::generic::Status, torc::generic::VectorPort, torc::generic::View, torc::generic::InterfaceJoinedInfo, torc::generic::LogicElement, torc::generic::ParameterArray, torc::generic::InstanceArray, torc::generic::Cell, torc::generic::VectorPortReference, torc::generic::VectorNet, torc::generic::Library, torc::generic::LogicValue, torc::generic::Simulate, torc::generic::Property, torc::generic::SingleParameter, torc::generic::Design, torc::generic::SimulationInfo, torc::generic::NetBundle, torc::generic::PortBundleReference, torc::generic::ScalarPort, torc::generic::ScalarNet, torc::generic::ScalarPortReference, torc::generic::SingleInstance, torc::generic::LogicalResponse, torc::generic::InstanceArrayMember, torc::generic::ParameterArrayElement, torc::generic::Event, torc::generic::VectorNetBit, torc::generic::VectorPortBit, torc::generic::Timing, torc::generic::ForbiddenEvent, torc::generic::VectorPortBitReference, and torc::generic::Apply.
|
inherited |
Add a comment to the object
[in] | comment | The comment to add to an existing list of comments |
Definition at line 36 of file Commentable.cpp.
|
virtual |
Add a port reference to this master. When a master is set using the set_master(), the list of port references is not created. It has to be extrinsically set.
[in] | inPortRef | A port reference. |
Error | The port ref could not be added, because PortReference name is empty
|
Error | The port ref could not be added, because PortReference name is already exists
|
Add a port reference to this master. When a master is set using the set_master(), the list of port references is not created. It has to be extrinsically set.
[in] | inPortRef | A port reference. |
Error | The port ref could not be added. |
Reimplemented in torc::generic::InstanceArray.
Definition at line 159 of file generic/Instance.cpp.
|
inherited |
Add an user data to the list of user data
[in] | inSource | An user data as string |
Definition at line 34 of file UserDataContainer.cpp.
|
inline |
Apply action on all PortReferences.
[in] | action | Action to be applied |
Definition at line 292 of file generic/Instance.hpp.
|
inlineinherited |
Apply action on all properties.
[in] | action | Action to be applied |
Definition at line 113 of file PropertyContainer.hpp.
|
virtual |
Bind an instance to it's master. Instance binding consists of two steps:
[in] | inMaster | Source Master view for this instance. |
[in] | inMapPortReferences | Whether port references are to be mapped to ports of the new master |
Error | If there is any kind of mismatch between ports etc. |
Bind an instance to it's master. Instance binding consists of two steps:
[in] | inMaster | Source Master view for this instance. |
Error | If there is any kind of mismatch between ports etc. |
Reimplemented in torc::generic::InstanceArray.
Definition at line 103 of file generic/Instance.cpp.
|
virtual |
Find a Net reference.
[in] | inName | String containing the name of the Net. |
Definition at line 191 of file generic/Instance.cpp.
|
virtual |
Find a port reference.
[in] | inName | String containing the name of the port. |
Reimplemented in torc::generic::InstanceArray.
Definition at line 180 of file generic/Instance.cpp.
|
pure virtualinherited |
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 |
Implemented in torc::generic::Vector< Instance, InstanceArrayMember, InstanceArrayMember::Factory, false >, torc::generic::VectorBit< Instance >, and torc::generic::Scalar< Instance >.
|
pure virtualinherited |
Get children of this composition.
[out] | outChildren | A list of all children for this composition |
Implemented in torc::generic::Vector< Instance, InstanceArrayMember, InstanceArrayMember::Factory, false >, torc::generic::Scalar< Instance >, and torc::generic::VectorBit< Instance >.
|
inlineinherited |
Get the list of all comments
Definition at line 85 of file Commentable.hpp.
|
pure virtualinherited |
Get the type of this composition.
Implemented in torc::generic::Vector< Instance, InstanceArrayMember, InstanceArrayMember::Factory, false >, torc::generic::VectorBit< Instance >, and torc::generic::Scalar< Instance >.
|
inline |
Get the designated number.
Definition at line 302 of file generic/Instance.hpp.
|
inline |
Get the master view for this instance.
Definition at line 283 of file generic/Instance.hpp.
|
inlinevirtualinherited |
Get the object name
Definition at line 89 of file Nameable.hpp.
|
inlinevirtualinherited |
Get the new name provided for the object.
Definition at line 78 of file generic/Renamable.hpp.
|
virtual |
Returns the context that will be used to get parameters from the parameter map. For an unbound instance, this will return an invalid value
Reimplemented in torc::generic::InstanceArrayMember.
Definition at line 78 of file generic/Instance.cpp.
|
virtual |
Get the ParameterMap corresponding to this instance and it's master
Reimplemented in torc::generic::InstanceArrayMember.
Definition at line 82 of file generic/Instance.cpp.
|
inlineinherited |
Get a pointer to the parent object
|
inlinevirtualinherited |
Get a pointer to the parent collection
|
virtual |
Get list of all port references.
Get list of all port references.
[out] | outPortRefs | List of port references |
Reimplemented in torc::generic::InstanceArray.
Definition at line 224 of file generic/Instance.cpp.
|
inlineinherited |
Get the map of all properties
[out] | outProperties | The map of properties |
Get the map of all properties
Definition at line 107 of file PropertyContainer.hpp.
|
inherited |
Get a property
[in] | inName | Name of the property to be retreived |
Get a property
[in] | name | Name of the property to be retreived |
Definition at line 37 of file PropertyContainer.cpp.
|
inlineinherited |
Get a shared pointer to this object. A valid pointer is returned if weakThis was set. Otherwise this returns a NULL pointer. For Vector types, the second scenario is an exception condition and should be treated as such.
Get a shared pointer to this object. A valid pointer is returned if weakThis was set. Otherwise this returns a NULL pointer. For Vector types, the second scenario is an exception condition and should be treated as such.
[out] | ptr | Set to a shared pointer to this object |
|
pure virtualinherited |
Get the total number of bits of the composition
Implemented in torc::generic::Vector< Instance, InstanceArrayMember, InstanceArrayMember::Factory, false >, torc::generic::VectorBit< Instance >, and torc::generic::Scalar< Instance >.
|
inline |
Get the pointer to the timing object
Definition at line 311 of file generic/Instance.hpp.
|
inlineinherited |
Get the list of all userData
[out] | outUserData | The list of all userData |
Definition at line 78 of file UserDataContainer.hpp.
|
virtual |
Remove a given port reference.
inName | Name of the object to be delete |
Error | PortReference name is empty
|
Error | PortReference name could not be found
|
Remove a given port reference.
inName | Name of the object to be delete |
Error | PortReference name is empty |
Error | PortReference name could not be found |
Reimplemented in torc::generic::InstanceArray.
Definition at line 205 of file generic/Instance.cpp.
|
inherited |
Get the list of all comments
[in] | inSource | A list of all comments to be set on this object |
Definition at line 45 of file Commentable.cpp.
void torc::generic::Instance::setDesignator | ( | const std::string & | inSource | ) |
Set the designated number.
[in] | inSource | std::string representing designated number of a view interface. |
Definition at line 247 of file generic/Instance.cpp.
|
protected |
Definition at line 148 of file generic/Instance.cpp.
|
inherited |
Set a name for this object
[in] | inSource | Name of the object |
Error | Could not set name, because name is empty (Will be used by array members)
|
Set a name for this object
[in] | inSource | Name of the object |
Error | Could not set name, because name is empty (Will be used by array members) |
Definition at line 41 of file Nameable.cpp.
|
virtualinherited |
Set the new name provided for the object.
[in] | inSource | Name of the object |
Definition at line 35 of file generic/Renamable.cpp.
|
virtualinherited |
Set a pointer to the parent
[in] | inSource | Set a pointer to the parent |
|
inlinevirtualinherited |
Set a pointer to a parnt composition.
[in] | inParentCollection | pointer to the parent collection (Vector/Bundle) |
Set a pointer to a parnt composition.
[in] | parentCollection | pointer to the parent collection (Vector/Bundle) |
|
virtual |
Set list of all port references.
[in] | inSource | List of port references |
Reimplemented in torc::generic::InstanceArray.
Definition at line 233 of file generic/Instance.cpp.
|
inherited |
Set the map of properties
[in] | inSource | The map of properties |
Definition at line 66 of file PropertyContainer.cpp.
|
inherited |
Save the inSource of a property
[in] | inName | Name of the property to be saved |
[in] | inProperty | Pointer to the property object if present, empty pointer otherwise. |
Save the inSource of a property
[in] | inName | Name of the property to be saved |
[in] | inPoperty | Pointer to the property object if present, empty pointer otherwise. |
Definition at line 53 of file PropertyContainer.cpp.
void torc::generic::Instance::setTiming | ( | const TimingSharedPtr & | inSource | ) |
Set the pointer to the timing object
[in] | inSource | Pointer to the timing object |
Definition at line 256 of file generic/Instance.cpp.
|
inherited |
Set the list of userData
[in] | inSource | The list of UserData |
Definition at line 26 of file UserDataContainer.cpp.
|
inlineinherited |
Set a weak pointer to this object. This will be used later to get a shared pointer to this object from within other member methods if required. This should be called by the Factory creating the object.
[in] | weakThis | A weak pointer to this object |
|
private |
Definition at line 273 of file generic/Instance.hpp.
|
private |
Definition at line 270 of file generic/Instance.hpp.
|
mutableprivate |
Definition at line 272 of file generic/Instance.hpp.
|
private |
Definition at line 275 of file generic/Instance.hpp.
|
private |
Definition at line 271 of file generic/Instance.hpp.
|
private |
Definition at line 274 of file generic/Instance.hpp.