torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::generic::_impl::Copier< class PortReference > Class Template Referenceabstract

#include <Cloning.hpp>

+ Inheritance diagram for torc::generic::_impl::Copier< class PortReference >:
+ Collaboration diagram for torc::generic::_impl::Copier< class PortReference >:

Public Types

typedef PortReference Type
 
typedef boost::shared_ptr< TypePointer
 

Public Member Functions

Pointer operator() (const Pointer &inSource, const ObjectFactorySharedPtr &inFactory) throw (Error)
 
void visit (ScalarPortReference &inPortReference) throw (Error)
 
void visit (VectorPortReference &inPortReference) throw (Error)
 
void visit (PortBundleReference &inPortReference) throw (Error)
 
 Copier ()
 
 ~Copier () throw ()
 
virtual void visit (_Tp &client)=0 throw (Error)
 

Private Attributes

ObjectFactorySharedPtr mFactory
 
Pointer mReturnVal
 

Detailed Description

template<>
class torc::generic::_impl::Copier< class PortReference >

Definition at line 2094 of file Cloning.hpp.

Member Typedef Documentation

typedef boost::shared_ptr<Type> torc::generic::_impl::Copier< class PortReference >::Pointer

Definition at line 2098 of file Cloning.hpp.

Definition at line 2097 of file Cloning.hpp.

Constructor & Destructor Documentation

torc::generic::_impl::Copier< class PortReference >::~Copier ( )
throw (
)
inline

Definition at line 2138 of file Cloning.hpp.

2138  {
2139  }

Member Function Documentation

Pointer torc::generic::_impl::Copier< class PortReference >::operator() ( const Pointer inSource,
const ObjectFactorySharedPtr inFactory 
)
throw (Error
)
inline

Definition at line 2100 of file Cloning.hpp.

2101  {
2102  mFactory = inFactory;
2103  inSource->accept(*this);
2104  return mReturnVal;
2105  }
template<typename _Tp >
virtual void torc::generic::VisitorType< _Tp >::visit ( _Tp &  client)
throw (Error
)
pure virtualinherited

Visit the target object. This will typically be a derived leaf type.

Parameters
[in,out]clientA reference to the target object
Exceptions
ErrorException generated by any of the functions called from inside visit()

+ Here is the caller graph for this function:

void torc::generic::_impl::Copier< class PortReference >::visit ( ScalarPortReference inPortReference)
throw (Error
)
inline

Definition at line 2107 of file Cloning.hpp.

2107  {
2108  try {
2109  copyObject(inPortReference, mFactory, mReturnVal);
2110  } catch(Error& e) {
2111  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2112  throw;
2113  }
2114  }
void copyObject(ScalarPort &inPort, ObjectFactorySharedPtr &inFactory, _PointerType &outPointer)
Definition: Cloning.hpp:993

+ Here is the call graph for this function:

void torc::generic::_impl::Copier< class PortReference >::visit ( VectorPortReference inPortReference)
throw (Error
)
inline

Definition at line 2116 of file Cloning.hpp.

2116  {
2117  try {
2118  copyObject(inPortReference, mFactory, mReturnVal);
2119  } catch(Error& e) {
2120  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2121  throw;
2122  }
2123  }
void copyObject(ScalarPort &inPort, ObjectFactorySharedPtr &inFactory, _PointerType &outPointer)
Definition: Cloning.hpp:993

+ Here is the call graph for this function:

void torc::generic::_impl::Copier< class PortReference >::visit ( PortBundleReference inPortReference)
throw (Error
)
inline

Definition at line 2125 of file Cloning.hpp.

2125  {
2126  try {
2127  copyObject(inPortReference, mFactory, mReturnVal);
2128  } catch(Error& e) {
2129  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2130  throw;
2131  }
2132  }
void copyObject(ScalarPort &inPort, ObjectFactorySharedPtr &inFactory, _PointerType &outPointer)
Definition: Cloning.hpp:993

+ Here is the call graph for this function:

Field Documentation

Definition at line 2142 of file Cloning.hpp.

Pointer torc::generic::_impl::Copier< class PortReference >::mReturnVal
private

Definition at line 2143 of file Cloning.hpp.


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