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

#include <Cloning.hpp>

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

Public Types

typedef Net Type
 
typedef boost::shared_ptr< TypePointer
 

Public Member Functions

Pointer operator() (const Pointer &inSource, const ObjectFactorySharedPtr &inFactory) throw (Error)
 
void visit (ScalarNet &inNet) throw (Error)
 
void visit (VectorNet &inNet) throw (Error)
 
void visit (NetBundle &inNet) 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 Net >

Definition at line 2146 of file Cloning.hpp.

Member Typedef Documentation

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

Definition at line 2150 of file Cloning.hpp.

Definition at line 2149 of file Cloning.hpp.

Constructor & Destructor Documentation

torc::generic::_impl::Copier< class Net >::Copier ( )
inline

Definition at line 2186 of file Cloning.hpp.

2187  mReturnVal() {
2188  }
VisitorType< VectorNet > Visitor
Definition: VectorNet.hpp:50
VisitorType< ScalarNet > Visitor
Definition: ScalarNet.hpp:49
VisitorType< NetBundle > Visitor
Definition: NetBundle.hpp:50
torc::generic::_impl::Copier< class Net >::~Copier ( )
throw (
)
inline

Definition at line 2190 of file Cloning.hpp.

2190  {
2191  }

Member Function Documentation

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

Definition at line 2152 of file Cloning.hpp.

2153  {
2154  mFactory = inFactory;
2155  inSource->accept(*this);
2156  return mReturnVal;
2157  }
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 Net >::visit ( ScalarNet inNet)
throw (Error
)
inline

Definition at line 2159 of file Cloning.hpp.

2159  {
2160  try {
2161  copyObject(inNet, mFactory, mReturnVal);
2162  } catch(Error& e) {
2163  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2164  throw;
2165  }
2166  }
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 Net >::visit ( VectorNet inNet)
throw (Error
)
inline

Definition at line 2168 of file Cloning.hpp.

2168  {
2169  try {
2170  copyObject(inNet, mFactory, mReturnVal);
2171  } catch(Error& e) {
2172  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2173  throw;
2174  }
2175  }
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 Net >::visit ( NetBundle inNet)
throw (Error
)
inline

Definition at line 2177 of file Cloning.hpp.

2177  {
2178  try {
2179  copyObject(inNet, mFactory, mReturnVal);
2180  } catch(Error& e) {
2181  e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
2182  throw;
2183  }
2184  }
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 2194 of file Cloning.hpp.

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

Definition at line 2195 of file Cloning.hpp.


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