COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ComponentWrapperImpl< ComponentT, TagT > Class Template Reference

#include <ComponentWrapper.hpp>

Public Types

typedef TagT tag_type
 

Public Member Functions

 ComponentWrapperImpl (ComponentT &component)
 
 ComponentWrapperImpl (common::Option &component_option)
 Construction using an option that will point to the actual component. More...
 
ComponentT & component ()
 Return the wrapped component. More...
 

Private Member Functions

void trigger_component ()
 

Private Attributes

boost::shared_ptr< Handle< ComponentT > > m_component
 
ComponentT * m_cached_component
 

Detailed Description

template<typename ComponentT, typename TagT>
class cf3::solver::actions::Proto::ComponentWrapperImpl< ComponentT, TagT >

Gives access to a component, obtained aither through a linked option or a direct reference in the constructor. Uses a weak pointer internally Implementation class, use the proto-ready terminal type defined below TagT provides an extra tag that can be used by proto to distinguish wrappers of the same type at compile time

Definition at line 30 of file ComponentWrapper.hpp.

Member Typedef Documentation

typedef TagT tag_type

Definition at line 34 of file ComponentWrapper.hpp.

Constructor & Destructor Documentation

ComponentWrapperImpl ( ComponentT &  component)
inline

Construction using references to the actual component (mainly useful in utests or other non-dynamic code) Using this constructor does not use dynamic configuration through options

Definition at line 38 of file ComponentWrapper.hpp.

ComponentWrapperImpl ( common::Option component_option)
inline

Construction using an option that will point to the actual component.

Definition at line 45 of file ComponentWrapper.hpp.

Member Function Documentation

ComponentT& component ( )
inline

Return the wrapped component.

Definition at line 53 of file ComponentWrapper.hpp.

void trigger_component ( )
inlineprivate

Definition at line 67 of file ComponentWrapper.hpp.

Member Data Documentation

ComponentT* m_cached_component
private

Definition at line 65 of file ComponentWrapper.hpp.

boost::shared_ptr< Handle<ComponentT> > m_component
private

Points to the wrapped component, if any The shared_ptr wraps the weak_ptr so the link is always OK

Definition at line 64 of file ComponentWrapper.hpp.


The documentation for this class was generated from the following file:
Send comments to:
COOLFluiD Web Admin