| Home | Download | Screen shots | Discussion | Documentation |
|---|
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... | |
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.