| Home | Download | Screen shots | Discussion | Documentation |
|---|
Registry for node_metatypes.
More...
#include <openvrml/browser.h>
Public Member Functions | |
| ~node_metatype_registry () throw () | |
| Destroy. | |
| void | register_node_metatype (const std::string &id, const boost::shared_ptr< node_metatype > &metatype) throw ( std::invalid_argument , std::bad_alloc ) |
Register a node_metatype. | |
Friends | |
| bool | operator== (const node_type &, const node_type &) throw () |
| Compare for equality. | |
Registry for node_metatypes.
| openvrml::node_metatype_registry::~node_metatype_registry | ( | ) | throw () |
Destroy.
| void openvrml::node_metatype_registry::register_node_metatype | ( | const std::string & | id, |
| const boost::shared_ptr< node_metatype > & | metatype | ||
| ) | throw ( std::invalid_argument , std::bad_alloc ) |
Register a node_metatype.
This operation is destructive; that is, if a node_metatype is already registered under id, metatype will replace it in the registry.
| [in] | id | the string identifier associated with metatype. |
| [in] | metatype | a node_metatype. |
| std::invalid_argument | if metatype is null. |
| std::bad_alloc | if memory allocation fails. |
Compare for equality.
Two node_types t and u are considered equal if all of the following are true:
t.id() == u.id()t.interfaces() == u.interfaces()t.metatype().id() is in the set of identifiers associated with u in the browser's node_metatype map.Note that the latter requirement makes this comparison a rather expensive operation.
| [in] | lhs | |
| [in] | rhs |
true if lhs and rhs are equal; false otherwise.