Home | Download | Screen shots | Discussion | Documentation |
---|
A node reference array node field value. More...
#include <openvrml/field_value.h>
Public Types | |
typedef std::vector< boost::intrusive_ptr< node > > | value_type |
Type of value. More... | |
![]() |
Public Member Functions | |
mfnode (value_type::size_type n=0, const value_type::value_type &value=value_type::value_type()) throw ( std::bad_alloc ) | |
Construct. More... | |
mfnode (const value_type &value) throw ( std::bad_alloc ) | |
Construct. More... | |
mfnode (const mfnode &mfn) | |
Construct a copy. More... | |
virtual | ~mfnode () throw () |
Destroy. More... | |
mfnode & | operator= (const mfnode &mfn) throw ( std::bad_alloc ) |
Assign. More... | |
const value_type & | value () const throw () |
Access. More... | |
void | value (const value_type &val) throw ( std::bad_alloc ) |
Mutate. More... | |
void | swap (mfnode &mfn) throw () |
Swap. More... | |
![]() | |
virtual | ~field_value ()=0 throw () |
Destroy. More... | |
std::auto_ptr< field_value > | clone () const throw ( std::bad_alloc ) |
Polymorphically construct a copy. More... | |
field_value & | assign (const field_value &value) throw ( std::bad_cast , std::bad_alloc ) |
Virtual assignment. More... | |
type_id | type () const throw () |
Get the field type. More... | |
template<typename FieldValue > | |
const FieldValue::value_type & | value () const throw () |
Access. More... | |
template<typename FieldValue > | |
void | value (const typename FieldValue::value_type &val) throw ( std::bad_alloc ) |
Mutate. More... | |
template<typename FieldValue > | |
void | swap (FieldValue &val) throw () |
Swap. More... | |
Static Public Attributes | |
static const type_id | field_value_type_id = mfnode_id |
field_value::type_id for this class. More... | |
Private Member Functions | |
virtual std::auto_ptr< field_value > | do_clone () const throw ( std::bad_alloc ) |
Polymorphically construct a copy. More... | |
virtual mfnode & | do_assign (const field_value &value) throw ( std::bad_cast , std::bad_alloc ) |
Virtual assignment. More... | |
virtual type_id | do_type () const throw () |
Get the field_value::type_id associated with this class. More... | |
virtual void | print (std::ostream &) const |
Print to an output stream. More... | |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const mfnode &lhs, const mfnode &rhs) throw() |
Compare for equality. More... | |
bool | operator!= (const mfnode &lhs, const mfnode &rhs) throw() |
Compare for inequality. More... | |
template<> void | swap (openvrml::mfnode &a, openvrml::mfnode &b) |
Swap the values of a and b . More... | |
![]() | |
std::ostream & | operator<< (std::ostream &out, const field_value &value) |
Stream output. More... | |
std::ostream & | operator<< (std::ostream &out, const field_value::type_id type_id) |
Stream output. More... | |
std::istream & | operator>> (std::istream &in, field_value::type_id &type_id) |
Stream input. More... | |
Additional Inherited Members | |
![]() | |
static std::auto_ptr< field_value > | create (type_id type) throw ( std::bad_alloc ) |
Create a default instance of the type specified by type . More... | |
![]() | |
template<typename ValueType > | |
field_value (const ValueType &value, const value_type_constructor_tag &) throw ( std::bad_alloc ) | |
Construct. More... | |
field_value (const field_value &value) throw ( std::bad_alloc ) | |
Construct a copy. More... | |
template<typename FieldValue > | |
FieldValue & | operator= (const FieldValue &fv) throw ( std::bad_alloc ) |
Assignment operator. More... | |
A node reference array node field value.
Type of value.
|
explicit |
Construct.
Creates an mfnode
with n
copies of value
.
[in] | n | the number elements in the mfnode . |
[in] | value | used to initialize the mfnode . |
std::bad_alloc | if memory allocation fails. |
n
. Every element is a copy of value
.
|
inlineexplicit |
Construct.
[in] | value | initial value. |
std::bad_alloc | if memory allocation fails. |
openvrml::mfnode::mfnode | ( | const mfnode & | mfn | ) |
Construct a copy.
[in] | mfn | the instance to copy. |
|
virtual |
Destroy.
Each of the mfnode
's value elements is destroyed, and memory allocated for them (if any) is deallocated.
openvrml::mfnode & openvrml::mfnode::operator= | ( | const mfnode & | mfn | ) | |
throw | ( | std::bad_alloc | |||
) |
Assign.
[in] | mfn | the value to assign. |
std::bad_alloc | if memory allocation fails. |
const openvrml::mfnode::value_type & openvrml::mfnode::value | ( | ) | const | |
throw | ( | |||
) |
Access.
void openvrml::mfnode::value | ( | const value_type & | val | ) | |
throw | ( | std::bad_alloc | |||
) |
Mutate.
[in] | val | the new value. |
std::bad_alloc | if memory allocation fails. |
void openvrml::mfnode::swap | ( | mfnode & | mfn | ) | |
throw | ( | ||||
) |
Swap.
[in,out] | mfn | the value to swap with this one. |
|
privatevirtual |
Polymorphically construct a copy.
std::bad_alloc | if memory allocation fails. |
Implements openvrml::field_value.
|
privatevirtual |
Virtual assignment.
std::bad_cast | if value is not an mfnode object. |
std::bad_alloc | if memory allocation fails. |
Implements openvrml::field_value.
|
privatevirtual |
Get the field_value::type_id
associated with this class.
field_value::mfnode_id
. Implements openvrml::field_value.
|
privatevirtual |
Print to an output stream.
Any null elements in the mfnode will not get printed; VRML97 syntax does not accommodate NULL in an mfnode.
[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.
|
related |
Swap the values of a
and b
.
Does not throw.
[in,out] | a | |
[in,out] | b |
|
static |
field_value::type_id
for this class.