torc::generic::Cell Class Reference

Represents an EDIF cell. More...

#include <Cell.hpp>

Inheritance diagram for torc::generic::Cell:

Inheritance graph
[legend]
Collaboration diagram for torc::generic::Cell:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type { eTypeTie = 0, eTypeRipper, eTypeGeneric }
typedef VisitorType< CellVisitor

Public Member Functions

virtual void accept (BaseVisitor &inoutVisitor) throw (Error)
const Type getType () const throw ()
void setType (const Type &inSource) throw ()
void addView (const ViewSharedPtr &inView) throw (Error)
ViewSharedPtr findView (const std::string &inName) throw ()
void removeView (const std::string &inName) throw (Error)
void getViews (std::vector< ViewSharedPtr > &outViews) const throw ()
template<typename _Action>
void applyOnAllViews (const _Action &action) throw (Error)

Private Member Functions

 Cell (const Cell &rhs)
Celloperator= (const Cell &rhs)

Private Attributes

SymTab< std::string,
ViewSharedPtr > 
mViewSymTab
Type mType
ParameterMapSharedPtr mParameters

Friends

class FactoryType< Cell >

Classes

class  Factory


Detailed Description

Represents an EDIF cell.

The Cell class is used to implement an EDIF cell object. It contains the different views of a cell. A cell can be concrete or extern (black-box).

Note:
Currently parser performs semantic checks for GENERIC type only. Programattic creation may be achieved. However, a warning may be emitted when cell type is set to TIE or RIPPER.

Definition at line 57 of file Cell.hpp.


Member Typedef Documentation

Convenience class to visit a Cell.

Definition at line 92 of file Cell.hpp.


Member Enumeration Documentation

Type of cell.

Definition at line 82 of file Cell.hpp.


Member Function Documentation

void torc::generic::Cell::accept ( BaseVisitor inoutVisitor  )  throw (Error) [virtual]

Recive a 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 sitation can arise when the passed Visitor object does not inherit from the appropriate inoutVisitor specialization. See Visitor documentation for more details.

Parameters:
[in,out] inoutVisitor A reference to the inoutVisitor object
Exceptions:
Error Visitor type inappropriate for visiting this object or any other error thrown by the Visitor::throw() method.

Implements torc::generic::Visitable.

Definition at line 100 of file Cell.cpp.

const Cell::Type torc::generic::Cell::getType ( void   )  const throw () [inline]

Get the type of cell

Returns:
Type of cell

Definition at line 246 of file Cell.hpp.

void torc::generic::Cell::setType ( const Type inSource  )  throw ()

Set the type of cell

Parameters:
[in] inSource Type of cell

Definition at line 119 of file Cell.cpp.

void torc::generic::Cell::addView ( const ViewSharedPtr &  inView  )  throw (Error)

Add a view to the list of views. An empty pointer will be ignored. If an view already exists in EDIF file in same cell, parser ignores the view.

Parameters:
[in] inView Pointer to a view.
Exceptions:
Error Empty View type
  • Id : eMessageIdErrorEmptyItemName
Error View name already exists
  • Id : eMessageIdErrorItemAlreadyExists
Add a view to the list of views. An empty pointer will be ignored.

Parameters:
[in] inView Pointer to a view.
Exceptions:
Error Empty View type
Error View name already exists

Definition at line 133 of file Cell.cpp.

ViewSharedPtr torc::generic::Cell::findView ( const std::string &  inName  )  throw ()

Find a view by name.

Parameters:
[in] inName Name of the cell to be found.
Returns:
Pointer to cell if found, empty pointer otherwise.
Exceptions:
Error Empty Cell name
  • Id : eMessageIdErrorEmptyItemName
  • Context Data
    • Cell name - String
Find a view by name.

Parameters:
[in] inName Name of the cell to be found.
Returns:
Pointer to cell if found, empty pointer otherwise.

Definition at line 164 of file Cell.cpp.

void torc::generic::Cell::removeView ( const std::string &  inName  )  throw (Error)

Remove the specified pointer from the view. Empty pointer is ignored.

Parameters:
[in] inName name of the object to be removed
Exceptions:
Error View is not a member of the views list.
Remove the specified pointer from the view. Empty pointer is ignored.

Parameters:
[in] inName name of object to be removed
Exceptions:
Error View is not a member of the views list.

Definition at line 185 of file Cell.cpp.

void torc::generic::Cell::getViews ( std::vector< ViewSharedPtr > &  outViews  )  const throw () [inline]

Get the views of this cell.

Parameters:
[out] outViews List of views to be appended to
Get the views of this cell.

Returns:
A list of views of this cell.

Definition at line 256 of file Cell.hpp.

template<typename _Action>
void torc::generic::Cell::applyOnAllViews ( const _Action &  action  )  throw (Error) [inline]

Apply action on all Views.

Parameters:
[in] action Action to be applied

Definition at line 263 of file Cell.hpp.


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

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