Home | Download | Screen shots | Discussion | Documentation |
---|
Utility classes to facilitate node implementations. More...
Classes | |
class | ptr_to_polymorphic_mem |
Abstract base class for a pointer-to-polymorphic-member type. More... | |
class | ptr_to_polymorphic_mem_impl |
Concrete pointer-to-polymorphic-member type. More... | |
class | abstract_node_type |
Abstract base for openvrml::node_type subclasses. More... | |
class | node_type_impl |
A template for concrete node_types . More... | |
class | event_listener_base |
Abstract base for event_listener implementations. More... | |
class | event_emitter_base |
Abstract base for event_emitter implementations. More... | |
class | abstract_node |
Abstract base class for node implementations. More... | |
struct | BindableNodeConcept |
Concept checking class to validate that a template parameter is a model of the Bindable Node concept. More... | |
class | bound_node_stack |
A stack of bindable nodes. More... |
Utility classes to facilitate node implementations.
While the API comprising the members of the openvrml
namespace provides everything necessary to implement nodes, node implementation can be very verbose. The members of the openvrml::node_impl_util
namespace can make node implementation more concise by abstracting and providing code that many node implementations are likely to have in common.
In particular, node_type_impl
centralizes the logic for generalized field access. By using an instance of this class template for your openvrml::node_type
implementation you can avoid a lot of tedious and repetitive code to implement openvrml::node::do_field
, openvrml::node::do_event_listener
, and openvrml::node::do_event_emitter
.