Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members | Related Pages

proto_node::proto_eventout< FieldValue > Class Template Reference

Inheritance diagram for proto_node::proto_eventout< FieldValue >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<typename FieldValue>
class proto_node::proto_eventout< FieldValue >

PROTO eventOut handler class template.

For internal use only.


Public Types

typedef FieldValue field_value_type
 Field value type.
typedef field_value_emitter<
FieldValue > 
event_emitter_type
 Event emitter type.
typedef field_value_listener<
FieldValue > 
event_listener_type
 Event listener type.

Public Member Functions

 proto_eventout (proto_node &node, const FieldValue &initial_value=FieldValue())
 Construct.
virtual ~proto_eventout () throw ()
 Destroy.
bool is (event_emitter_type &emitter) throw (std::bad_alloc)
 Create an IS mapping.

Protected Attributes

class {
 listener_t (proto_eventout &emitter, proto_node &node, const FieldValue &initial_value)
 Construct.
virtual ~listener_t () throw ()
 Destroy.
FieldValue value
 The value of the most recently emitted event.
virtual void do_process_event (const FieldValue &value, double timestamp) throw (std::bad_alloc)
 Process event.
proto_eventoutemitter
 Reference to the outer proto_eventout class.
proto_node & node
 Reference to the proto_node instance.
listener
 Listens for events emitted from nodes in the PROTO implementation in order to propagate them out of the PROTO instance.

Classes

class  listener_t
 Listens for events emitted from nodes in the PROTO implementation in order to propagate them out of the PROTO instance. More...

Member Typedef Documentation

template<typename FieldValue>
proto_node::proto_eventout< FieldValue >::field_value_type
 

Field value type.

template<typename FieldValue>
proto_node::proto_eventout< FieldValue >::event_emitter_type
 

Event emitter type.

template<typename FieldValue>
proto_node::proto_eventout< FieldValue >::event_listener_type
 

Event listener type.


Constructor & Destructor Documentation

template<typename FieldValue>
proto_node::proto_eventout< FieldValue >::proto_eventout proto_node &  node,
const FieldValue &  initial_value = FieldValue()
 

Construct.

Parameters:
node proto_node.
initial_value initial value. This is used by proto_exposedfield<FieldValue>

template<typename FieldValue>
proto_node::proto_eventout< FieldValue >::~proto_eventout  )  throw () [virtual]
 

Destroy.


Member Function Documentation

template<typename FieldValue>
bool proto_node::proto_eventout< FieldValue >::is event_emitter_type emitter  )  throw (std::bad_alloc)
 

Create an IS mapping.

Parameters:
emitter the event_emitter from a node in the PROTO implementation.
Returns:
true if the IS mapping is created successfully; false otherwise (i.e., if it already exists).
Exceptions:
std::bad_alloc if memory allocation fails.

Member Data Documentation

template<typename FieldValue>
proto_node::proto_eventout::listener_t proto_node::proto_eventout< FieldValue >::listener [protected]
 

Listens for events emitted from nodes in the PROTO implementation in order to propagate them out of the PROTO instance.