Home | Download | Screen shots | Discussion | Documentation |
---|
node_metatypes
.
More...
#include <openvrml/browser.h>
Public Member Functions | |
~node_metatype_registry () throw () | |
Destroy. | |
openvrml::browser & | browser () const throw () |
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 . | |
Private Member Functions | |
node_metatype_registry (openvrml::browser &b) | |
Construct. | |
Private Attributes | |
boost::scoped_ptr < local::node_metatype_registry_impl > | impl_ |
A pointer to the implementation object. | |
Friends | |
class | browser |
The browser . | |
bool | operator== (const node_type &, const node_type &) throw () |
Compare for equality. |
node_metatypes
. openvrml::node_metatype_registry::node_metatype_registry | ( | openvrml::browser & | b | ) | [explicit, private] |
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. |
openvrml::browser & openvrml::node_metatype_registry::browser [friend] |
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.
boost::scoped_ptr< openvrml::local::node_metatype_registry_impl > openvrml::node_metatype_registry::impl_ [private] |
A pointer to the implementation object.