| Home | Download | Screen shots | Discussion | Documentation |
|---|
A node field value to hold a single node reference. More...
#include <openvrml/field_value.h>

Public Types | |
| typedef boost::intrusive_ptr < node > | value_type |
| Type of value. | |
Public Member Functions | |
| sfnode (const value_type &node=value_type(0)) throw () | |
| Construct. | |
| sfnode (const sfnode &sfn) | |
| Construct a copy. | |
| virtual | ~sfnode () throw () |
| Destroy. | |
| sfnode & | operator= (const sfnode &sfn) throw ( std::bad_alloc ) |
| Assign. | |
| const value_type & | value () const throw () |
| Access. | |
| void | value (const value_type &val) throw ( std::bad_alloc ) |
| Mutate. | |
| void | swap (sfnode &sfn) throw () |
| Swap. | |
Static Public Attributes | |
| static const type_id | field_value_type_id = sfnode_id |
field_value::type_id for this class. | |
Private Member Functions | |
| virtual std::auto_ptr < field_value > | do_clone () const throw ( std::bad_alloc ) |
| Polymorphically construct a copy. | |
| virtual sfnode & | do_assign (const field_value &value) throw ( std::bad_cast ) |
| Virtual assignment. | |
| virtual type_id | do_type () const throw () |
| Get the field_value::type_id associated with this class. | |
| virtual void | print (std::ostream &) const |
| Print to an output stream. | |
Related Functions | |
(Note that these are not member functions.) | |
| bool | operator== (const sfnode &lhs, const sfnode &rhs) throw() |
| Compare for equality. | |
| bool | operator!= (const sfnode &lhs, const sfnode &rhs) throw() |
| Compare for inequality. | |
| template<> void | swap (openvrml::sfnode &a, openvrml::sfnode &b) |
Swap the values of a and b. | |
A node field value to hold a single node reference.
Type of value.
| openvrml::sfnode::sfnode | ( | const value_type & | node = value_type(0) | ) | throw () [explicit] |
Construct.
| [in] | node | a pointer to a node. |
| openvrml::sfnode::sfnode | ( | const sfnode & | sfn | ) |
Construct a copy.
| [in] | sfn | the instance to copy. |
| openvrml::sfnode::~sfnode | ( | ) | throw () [virtual] |
Destroy.
| openvrml::sfnode & openvrml::sfnode::operator= | ( | const sfnode & | sfn | ) | throw ( std::bad_alloc ) |
Assign.
| [in] | sfn | the value to assign. |
| std::bad_alloc | if memory allocation fails. |
| const openvrml::sfnode::value_type & openvrml::sfnode::value | ( | ) | const throw () |
| void openvrml::sfnode::value | ( | const value_type & | val | ) | throw ( std::bad_alloc ) |
Mutate.
| [in] | val | the new value. |
| std::bad_alloc | if memory allocation fails. |
| void openvrml::sfnode::swap | ( | sfnode & | sfn | ) | throw () |
Swap.
| [in,out] | sfn | the value to swap with this one. |
| std::auto_ptr< openvrml::field_value > openvrml::sfnode::do_clone | ( | ) | const throw ( std::bad_alloc ) [private, virtual] |
Polymorphically construct a copy.
| std::bad_alloc | if memory allocation fails. |
Implements openvrml::field_value.
Reimplemented in openvrml::node_impl_util::abstract_node< Derived >::exposedfield< sfnode >.
| openvrml::sfnode & openvrml::sfnode::do_assign | ( | const field_value & | value | ) | throw ( std::bad_cast ) [private, virtual] |
Virtual assignment.
| [in] | value | the new value to give the object. |
| std::bad_cast | if value is not an sfnode. |
Implements openvrml::field_value.
| openvrml::field_value::type_id openvrml::sfnode::do_type | ( | ) | const throw () [private, virtual] |
Get the field_value::type_id associated with this class.
field_value::sfnode. Implements openvrml::field_value.
| void openvrml::sfnode::print | ( | std::ostream & | out | ) | const [private, virtual] |
Print to an output stream.
| [in,out] | out | an output stream. |
Implements openvrml::field_value.
Compare for equality.
| [in] | lhs | left-hand operand. |
| [in] | rhs | right-hand operand. |
true if lhs and rhs have the same value; false otherwise. Compare for inequality.
| [in] | lhs | left-hand operand. |
| [in] | rhs | right-hand operand. |
true if lhs and rhs do not have the same value; false otherwise. | template<> void swap | ( | openvrml::sfnode & | a, |
| openvrml::sfnode & | b | ||
| ) | [related] |
Swap the values of a and b.
Does not throw.
| [in,out] | a | |
| [in,out] | b |
const openvrml::field_value::type_id openvrml::sfnode::field_value_type_id = sfnode_id [static] |
field_value::type_id for this class.