Public Member Functions | Private Attributes | List of all members
TbbDepoSink Class Reference
Inheritance diagram for TbbDepoSink:
ITbbNode WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Member Functions

 TbbDepoSink (IDepoSink::pointer snk)
 
 TbbDepoSink (const TbbDepoSink &other)
 
virtual ~TbbDepoSink ()
 
void operator= (const TbbDepoSink &other)
 
bool operator() (const IDepo::pointer &out)
 
tbb::flow::graph_node * make_node (tbb::flow::graph &graph, int concurency=1)
 
virtual void connect (tbb::flow::graph_node &head, tbb::flow::graph_node &tail)
 
- Public Member Functions inherited from ITbbNode
virtual ~ITbbNode ()
 
virtual tbb::flow::graph_node * tbb_node (tbb::flow::graph &graph)=0
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual NodeCategory category ()=0
 Return the behavior category type. More...
 
virtual std::string signature ()=0
 
virtual int concurrency ()
 
virtual std::vector< std::stringinput_types ()
 
virtual std::vector< std::stringoutput_types ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 

Private Attributes

IDepoSink::pointer m_snk
 

Additional Inherited Members

- Public Types inherited from WireCell::INode
enum  NodeCategory {
  unknown, sourceNode, sinkNode, functionNode,
  queuedoutNode, joinNode, splitNode, faninNode,
  fanoutNode, multioutNode, hydraNode
}
 
- Public Types inherited from WireCell::IComponent< INode >
typedef std::shared_ptr< INodepointer
 Access subclass facet by pointer. More...
 
typedef std::vector< pointervector
 Vector of shared pointers. More...
 
- Public Types inherited from WireCell::Interface
typedef std::shared_ptr< Interfacepointer
 

Detailed Description

Definition at line 82 of file _test_onion.cxx.

Constructor & Destructor Documentation

TbbDepoSink::TbbDepoSink ( IDepoSink::pointer  snk)
inline

Definition at line 85 of file _test_onion.cxx.

85 : m_snk(snk) { }
IDepoSink::pointer m_snk
Definition: _test_onion.cxx:83
TbbDepoSink::TbbDepoSink ( const TbbDepoSink other)
inline

Definition at line 86 of file _test_onion.cxx.

86 : m_snk(other.m_snk) {}
IDepoSink::pointer m_snk
Definition: _test_onion.cxx:83
virtual TbbDepoSink::~TbbDepoSink ( )
inlinevirtual

Definition at line 87 of file _test_onion.cxx.

87 {}

Member Function Documentation

virtual void TbbDepoSink::connect ( tbb::flow::graph_node &  head,
tbb::flow::graph_node &  tail 
)
inlinevirtual

Definition at line 95 of file _test_onion.cxx.

95  {
96  tbb::flow::sender<IDepo::pointer>* myhead = dynamic_cast<tbb::flow::sender<IDepo::pointer>*>(&head);
97  Assert(myhead);
98  tbb::flow::receiver<IDepo::pointer>* mytail = dynamic_cast<tbb::flow::receiver<IDepo::pointer>*>(&tail);
99  Assert(mytail);
100  make_edge(*myhead, *mytail);
101  }
#define Assert
Definition: Testing.h:7
tbb::flow::graph_node* TbbDepoSink::make_node ( tbb::flow::graph &  graph,
int  concurency = 1 
)
inline

Definition at line 92 of file _test_onion.cxx.

92  {
93  return new tbb::flow::function_node<IDepo::pointer>(graph, concurency, *this);
94  }
def graph(desc, maker=maker)
Definition: apa.py:294
bool TbbDepoSink::operator() ( const IDepo::pointer out)
inline

Definition at line 90 of file _test_onion.cxx.

90 { return (*m_snk)(out); }
IDepoSink::pointer m_snk
Definition: _test_onion.cxx:83
void TbbDepoSink::operator= ( const TbbDepoSink other)
inline

Definition at line 88 of file _test_onion.cxx.

88 { m_snk = other.m_snk; }
IDepoSink::pointer m_snk
Definition: _test_onion.cxx:83

Member Data Documentation

IDepoSink::pointer TbbDepoSink::m_snk
private

Definition at line 83 of file _test_onion.cxx.


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