openvrml::mfbool Class Reference

A bool array node field value. More...

#include <openvrml/field_value.h>

Inheritance diagram for openvrml::mfbool:

List of all members.

Public Types

typedef std::vector< bool > value_type
 The type of value.

Public Member Functions

 mfbool (value_type::size_type n=0, bool value=false) throw ( std::bad_alloc )
 Construct.
 mfbool (const value_type &value) throw ( std::bad_alloc )
 Construct.
 mfbool (const mfbool &mfc)
 Construct a copy.
virtual ~mfbool () throw ()
 Destroy.
mfbooloperator= (const mfbool &mfc) throw ( std::bad_alloc )
 Assign.
const value_typevalue () const throw ()
 Access.
void value (const value_type &val) throw ( std::bad_alloc )
 Mutate.
void swap (mfbool &mfc) throw ()
 Swap.

Static Public Attributes

static const type_id field_value_type_id = mfbool_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 mfbooldo_assign (const field_value &value) throw ( std::bad_cast , std::bad_alloc )
 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 mfbool &lhs, const mfbool &rhs) throw()
 Compare for equality.
bool operator!= (const mfbool &lhs, const mfbool &rhs) throw()
 Compare for inequality.
template<> void swap (openvrml::mfbool &a, openvrml::mfbool &b)
 Swap the values of a and b.

Detailed Description

A bool array node field value.

Model of
Field Value

Member Typedef Documentation

The type of value.


Constructor & Destructor Documentation

openvrml::mfbool::mfbool ( value_type::size_type  n = 0,
bool  value = false 
) throw ( std::bad_alloc ) [explicit]

Construct.

Creates an mfbool with n copies of value.

Parameters:
[in]nthe number elements in the mfbool.
[in]valueused to initialize the mfbool.
Exceptions:
std::bad_allocif memory allocation fails.
Postcondition:
size is n. Every element is a copy of value.
openvrml::mfbool::mfbool ( const value_type value) throw ( std::bad_alloc ) [inline, explicit]

Construct.

Parameters:
[in]valueinitial value.
Exceptions:
std::bad_allocif memory allocation fails.
openvrml::mfbool::mfbool ( const mfbool mfb)

Construct a copy.

Parameters:
[in]mfbthe instance to copy.
openvrml::mfbool::~mfbool ( ) throw () [virtual]

Destroy.

Each of the mfbool's value elements is destroyed, and memory allocated for them (if any) is deallocated.


Member Function Documentation

openvrml::mfbool & openvrml::mfbool::operator= ( const mfbool mfb) throw ( std::bad_alloc )

Assign.

Parameters:
[in]mfbthe value to assign.
Returns:
a reference to the instance.
Exceptions:
std::bad_allocif memory allocation fails.
const openvrml::mfbool::value_type & openvrml::mfbool::value ( ) const throw ()

Access.

Returns:
the bool values.

Reimplemented from openvrml::field_value.

void openvrml::mfbool::value ( const value_type val) throw ( std::bad_alloc )

Mutate.

Parameters:
[in]valthe new value.
Exceptions:
std::bad_allocif memory allocation fails.
void openvrml::mfbool::swap ( mfbool mfb) throw ()

Swap.

Parameters:
[in,out]mfbthe value to swap with this one.
std::auto_ptr< openvrml::field_value > openvrml::mfbool::do_clone ( ) const throw ( std::bad_alloc ) [private, virtual]

Polymorphically construct a copy.

Returns:
a pointer to a copy of the object.
Exceptions:
std::bad_allocif memory allocation fails.

Implements openvrml::field_value.

openvrml::mfbool & openvrml::mfbool::do_assign ( const field_value value) throw ( std::bad_cast , std::bad_alloc ) [private, virtual]

Virtual assignment.

Returns:
a reference to the object.
Exceptions:
std::bad_castif value is not an mfbool object.
std::bad_allocif memory allocation fails.

Implements openvrml::field_value.

openvrml::field_value::type_id openvrml::mfbool::do_type ( ) const throw () [private, virtual]

Get the field_value::type_id associated with this class.

Returns:
field_value::mfbool.

Implements openvrml::field_value.

void openvrml::mfbool::print ( std::ostream &  out) const [private, virtual]

Print to an output stream.

Parameters:
[in,out]outan output stream.

Implements openvrml::field_value.


Friends And Related Function Documentation

bool operator== ( const mfbool lhs,
const mfbool rhs 
) throw() [related]

Compare for equality.

Parameters:
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns:
true if lhs and rhs have the same value; false otherwise.
bool operator!= ( const mfbool lhs,
const mfbool rhs 
) throw() [related]

Compare for inequality.

Parameters:
[in]lhsleft-hand operand.
[in]rhsright-hand operand.
Returns:
true if lhs and rhs do not have the same value; false otherwise.
template<> void swap ( openvrml::mfbool a,
openvrml::mfbool b 
) [related]

Swap the values of a and b.

Does not throw.

Parameters:
[in,out]a
[in,out]b

Member Data Documentation