Public Types | Public Member Functions | List of all members
WireCell::ISourceNode< OutputType > Class Template Referenceabstract

#include <ISourceNode.h>

Inheritance diagram for WireCell::ISourceNode< OutputType >:
WireCell::ISourceNodeBase WireCell::INode WireCell::IComponent< INode > WireCell::Interface

Public Types

typedef OutputType output_type
 
typedef ISourceNode< OutputType > signature_type
 
typedef std::shared_ptr< signature_typepointer
 
typedef std::shared_ptr< const OutputType > output_pointer
 
- Public Types inherited from WireCell::ISourceNodeBase
typedef std::shared_ptr< ISourceNodeBasepointer
 
- 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
 

Public Member Functions

virtual ~ISourceNode ()
 
virtual NodeCategory category ()
 Return the behavior category type. More...
 
virtual std::string signature ()
 Set the signature for all subclasses. More...
 
virtual bool operator() (boost::any &anyout)
 
virtual bool operator() (output_pointer &out)=0
 The calling signature: More...
 
virtual std::vector< std::stringoutput_types ()
 
- Public Member Functions inherited from WireCell::ISourceNodeBase
virtual ~ISourceNodeBase ()
 
- Public Member Functions inherited from WireCell::INode
virtual ~INode ()
 
virtual int concurrency ()
 
virtual std::vector< std::stringinput_types ()
 
virtual void reset ()
 
- Public Member Functions inherited from WireCell::IComponent< INode >
virtual ~IComponent ()
 
- Public Member Functions inherited from WireCell::Interface
virtual ~Interface ()
 

Detailed Description

template<typename OutputType>
class WireCell::ISourceNode< OutputType >

Definition at line 30 of file ISourceNode.h.

Member Typedef Documentation

template<typename OutputType>
typedef std::shared_ptr<const OutputType> WireCell::ISourceNode< OutputType >::output_pointer

Definition at line 38 of file ISourceNode.h.

template<typename OutputType>
typedef OutputType WireCell::ISourceNode< OutputType >::output_type

Definition at line 33 of file ISourceNode.h.

template<typename OutputType>
typedef std::shared_ptr<signature_type> WireCell::ISourceNode< OutputType >::pointer

Definition at line 36 of file ISourceNode.h.

template<typename OutputType>
typedef ISourceNode<OutputType> WireCell::ISourceNode< OutputType >::signature_type

Definition at line 35 of file ISourceNode.h.

Constructor & Destructor Documentation

template<typename OutputType>
virtual WireCell::ISourceNode< OutputType >::~ISourceNode ( )
inlinevirtual

Definition at line 40 of file ISourceNode.h.

40 {}

Member Function Documentation

template<typename OutputType>
virtual NodeCategory WireCell::ISourceNode< OutputType >::category ( )
inlinevirtual

Return the behavior category type.

Reimplemented from WireCell::ISourceNodeBase.

Definition at line 42 of file ISourceNode.h.

42  {
43  return sourceNode;
44  }
template<typename OutputType>
virtual bool WireCell::ISourceNode< OutputType >::operator() ( boost::any &  anyout)
inlinevirtual

Implements WireCell::ISourceNodeBase.

Definition at line 51 of file ISourceNode.h.

51  {
52  output_pointer out;
53  bool ok = (*this)(out);
54  if (!ok) return false;
55  anyout = out;
56 
57  return true;
58  }
std::shared_ptr< const OutputType > output_pointer
Definition: ISourceNode.h:38
template<typename OutputType>
virtual bool WireCell::ISourceNode< OutputType >::operator() ( output_pointer out)
pure virtual
template<typename OutputType>
virtual std::vector<std::string> WireCell::ISourceNode< OutputType >::output_types ( )
inlinevirtual

Reimplemented from WireCell::INode.

Definition at line 64 of file ISourceNode.h.

64  {
65  return std::vector<std::string>{typeid(output_type).name()};
66  }
static QCString name
Definition: declinfo.cpp:673
OutputType output_type
Definition: ISourceNode.h:33
template<typename OutputType>
virtual std::string WireCell::ISourceNode< OutputType >::signature ( )
inlinevirtual

Set the signature for all subclasses.

Implements WireCell::INode.

Reimplemented in WireCell::IDepoSource, and WireCell::IWireSource.

Definition at line 47 of file ISourceNode.h.

47  {
48  return typeid(signature_type).name();
49  }
static QCString name
Definition: declinfo.cpp:673
ISourceNode< OutputType > signature_type
Definition: ISourceNode.h:35

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