| Home | Download | Screen shots | Discussion | Documentation |
|---|
Abstract base class for the VRML field types. More...
#include <openvrml/field_value.h>

Classes | |
| class | value_type_constructor_tag |
This struct exists only to disambiguate field_value's constructor template from its copy constructor. More... | |
Public Types | |
| enum | type_id { invalid_type_id, sfbool_id, sfcolor_id, sfcolorrgba_id, sffloat_id, sfdouble_id, sfimage_id, sfint32_id, sfnode_id, sfrotation_id, sfstring_id, sftime_id, sfvec2f_id, sfvec2d_id, sfvec3f_id, sfvec3d_id, mfbool_id, mfcolor_id, mfcolorrgba_id, mffloat_id, mfdouble_id, mfimage_id, mfint32_id, mfnode_id, mfrotation_id, mfstring_id, mftime_id, mfvec2f_id, mfvec2d_id, mfvec3f_id, mfvec3d_id } |
| Used to identify field_value types. More... | |
Public Member Functions | |
| 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 Member Functions | |
| 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... | |
Protected Member Functions | |
| 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... | |
Private Member Functions | |
| virtual std::auto_ptr < field_value > | do_clone () const =0 throw ( std::bad_alloc ) |
| Polymorphically construct a copy. More... | |
| virtual field_value & | do_assign (const field_value &value)=0 throw ( std::bad_cast , std::bad_alloc ) |
| Virtual assignment. More... | |
| virtual type_id | do_type () const =0 throw () |
| Get the field type. More... | |
| virtual void | print (std::ostream &out) const =0 |
| Print to an output stream. More... | |
Related Functions | |
(Note that these are not member functions.) | |
| 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... | |
Abstract base class for the VRML field types.
Subclasses of field_value are models of Field Value. These subclasses have copy-on-write semantics.
Used to identify field_value types.
These tags are typically used to designate an expected type or to avoid a dynamic_cast.
| Enumerator | |
|---|---|
| invalid_type_id |
Zero value typically used to indicate failure. |
| sfbool_id |
Designates an |
| sfcolor_id |
Designates an |
| sfcolorrgba_id |
Designates an |
| sffloat_id |
Designates an |
| sfdouble_id |
Designates an |
| sfimage_id |
Designates an |
| sfint32_id |
Designates an |
| sfnode_id |
Designates an |
| sfrotation_id |
Designates an |
| sfstring_id |
Designates an |
| sftime_id |
Designates an |
| sfvec2f_id |
Designates an |
| sfvec2d_id |
Designates an |
| sfvec3f_id |
Designates an |
| sfvec3d_id |
Designates an |
| mfbool_id |
Designates an |
| mfcolor_id |
Designates an |
| mfcolorrgba_id |
Designates an |
| mffloat_id |
Designates an |
| mfdouble_id |
Designates an |
| mfimage_id |
Designates an |
| mfint32_id |
Designates an |
| mfnode_id |
Designates an |
| mfrotation_id |
Designates an |
| mfstring_id |
Designates an |
| mftime_id |
Designates an |
| mfvec2f_id |
Designates an |
| mfvec2d_id |
Designates an |
| mfvec3f_id |
Designates an |
| mfvec3d_id |
Designates an |
|
pure virtual | |||||||||||||
Destroy.
|
protected | ||||||||||||||||||||
Construct.
| ValueType | a Field Value value_type. |
| [in] | value | initial value. |
| std::bad_alloc | if memory allocation fails. |
|
protected | ||||||||||||||
Construct a copy.
| [in] | fv | field value to copy. |
| std::bad_alloc | if memory allocation fails. |
|
static | ||||||||||||||
Create a default instance of the type specified by type.
| [in] | type | field value type identifier. |
type.| std::bad_alloc | if memory allocation fails. |
| std::auto_ptr< openvrml::field_value > openvrml::field_value::clone | ( | ) | const | |
| throw | ( | std::bad_alloc | ||
| ) | ||||
Polymorphically construct a copy.
This function delegates to field_value::do_clone.
field_value identical to this one.| std::bad_alloc | if memory allocation fails. |
| openvrml::field_value & openvrml::field_value::assign | ( | const field_value & | value | ) | |
| throw | ( | std::bad_cast , | |||
| std::bad_alloc | |||||
| ) | |||||
Virtual assignment.
Thus function delegates to field_value::do_assign.
| [in] | value | the value to assign to the object. |
| openvrml::field_value::type_id openvrml::field_value::type | ( | ) | const | |
| throw | ( | |||
| ) | ||||
Get the field type.
This function delegates to field_value::do_type.
type_id enumerant corresponding to the field_value's type. | const FieldValue::value_type & openvrml::field_value::value | ( | ) | const | |
| throw | ( | |||
| ) | ||||
| void openvrml::field_value::value | ( | const typename FieldValue::value_type & | val | ) | |
| throw | ( | std::bad_alloc | |||
| ) | |||||
Mutate.
| FieldValue | a Field Value. |
| [in] | val | new value. |
| std::bad_alloc | if memory allocation fails. |
| void openvrml::field_value::swap | ( | FieldValue & | val | ) | |
| throw | ( | ||||
| ) | |||||
Swap.
| FieldValue | a Field Value. |
| [in,out] | val | the value to swap with this one. |
|
protected | ||||||||||||||
Assignment operator.
| FieldValue | a Field Value. |
| [in] | fv | field value to assign. |
|
privatepure virtual | |||||||||||||
Polymorphically construct a copy.
| std::bad_alloc | if memory allocation fails. |
Implemented in openvrml::mfvec3d, openvrml::mfvec3f, openvrml::mfvec2d, openvrml::mfvec2f, openvrml::mftime, openvrml::mfstring, openvrml::mfrotation, openvrml::mfnode, openvrml::mfint32, openvrml::mfimage, openvrml::mfdouble, openvrml::mffloat, openvrml::mfcolorrgba, openvrml::mfcolor, openvrml::mfbool, openvrml::sfvec3d, openvrml::sfvec3f, openvrml::sfvec2d, openvrml::sfvec2f, openvrml::sftime, openvrml::sfstring, openvrml::sfrotation, openvrml::sfnode, openvrml::sfint32, openvrml::node_impl_util::abstract_node< Derived >::exposedfield< openvrml::sfnode >, openvrml::sfimage, openvrml::sfdouble, openvrml::sffloat, openvrml::sfcolorrgba, openvrml::sfcolor, and openvrml::sfbool.
|
privatepure virtual | ||||||||||||||||||
Virtual assignment.
| [in] | value | the value to assign to the object. |
| std::bad_cast | if value is not of the same concrete type as this object. |
| std::bad_alloc | if memory allocation fails. |
Implemented in openvrml::mfvec3d, openvrml::mfvec3f, openvrml::mfvec2d, openvrml::mfvec2f, openvrml::mftime, openvrml::mfstring, openvrml::mfrotation, openvrml::mfnode, openvrml::mfint32, openvrml::mfimage, openvrml::mfdouble, openvrml::mffloat, openvrml::mfcolorrgba, openvrml::mfcolor, openvrml::mfbool, openvrml::sfvec3d, openvrml::sfvec3f, openvrml::sfvec2d, openvrml::sfvec2f, openvrml::sftime, openvrml::sfstring, openvrml::sfrotation, openvrml::sfnode, openvrml::sfint32, openvrml::sfimage, openvrml::sfdouble, openvrml::sffloat, openvrml::sfcolorrgba, openvrml::sfcolor, and openvrml::sfbool.
|
privatepure virtual | |||||||||||||
Get the field type.
type_id enumerant corresponding to the field_value's type. Implemented in openvrml::mfvec3d, openvrml::mfvec3f, openvrml::mfvec2d, openvrml::mfvec2f, openvrml::mftime, openvrml::mfstring, openvrml::mfrotation, openvrml::mfnode, openvrml::mfint32, openvrml::mfimage, openvrml::mfdouble, openvrml::mffloat, openvrml::mfcolorrgba, openvrml::mfcolor, openvrml::mfbool, openvrml::sfvec3d, openvrml::sfvec3f, openvrml::sfvec2d, openvrml::sfvec2f, openvrml::sftime, openvrml::sfstring, openvrml::sfrotation, openvrml::sfnode, openvrml::sfint32, openvrml::sfimage, openvrml::sfdouble, openvrml::sffloat, openvrml::sfcolorrgba, openvrml::sfcolor, and openvrml::sfbool.
|
privatepure virtual |
Print to an output stream.
| [in,out] | out | an output stream. |
Implemented in openvrml::mfvec3d, openvrml::mfvec3f, openvrml::mfvec2d, openvrml::mfvec2f, openvrml::mftime, openvrml::mfstring, openvrml::mfrotation, openvrml::mfnode, openvrml::mfint32, openvrml::mfimage, openvrml::mfdouble, openvrml::mffloat, openvrml::mfcolorrgba, openvrml::mfcolor, openvrml::mfbool, openvrml::sfvec3d, openvrml::sfvec3f, openvrml::sfvec2d, openvrml::sfvec2f, openvrml::sftime, openvrml::sfstring, openvrml::sfrotation, openvrml::sfnode, openvrml::sfint32, openvrml::sfimage, openvrml::sfdouble, openvrml::sffloat, openvrml::sfcolorrgba, openvrml::sfcolor, and openvrml::sfbool.
|
related |
Stream output.
| [in,out] | out | an output stream. |
| [in] | value | a field value. |
out.
|
related |
Stream output.
If type is field_value::invalid_type, failbit is set on out.
| [in,out] | out | output stream. |
| [in] | type_id | field_value type identifier. |
out.
|
related |
Stream input.
| [in,out] | in | input stream. |
| [out] | type_id | field_value type identifier. |
in.