Home | Download | Screen shots | Discussion | Documentation
--- | --- | --- | --- | ---

# openvrml::FieldValueConcept< T > Struct Template Reference

Concept checking class to validate that a template parameter is a model of the Field Value concept. More...

`#include <openvrml/field_value.h>`

List of all members.

## Public Member Functions

void | constraints ()
| Validate that T is a model of the Field Value concept.

## Public Attributes

field_value * | base_ptr
T * | fv
field_value::type_id | id

## Detailed Description

### template<typename T>
struct openvrml::FieldValueConcept< T >

Concept checking class to validate that a template parameter is a model of the Field Value concept.

A Field Value is a concrete type that inherits `field_value` and holds a value for a field of a node.

Refinement of
  Default Constructible, Copy Constructible, Assignable, Equality Comparable

Associated types

  Value type | T::value_type | The type of T's value member. The value type must be Assignable and DefaultConstructible.

Notation

  `T` | A type that is a model of Field Value
  `v` | A reference of type `field_value &`

Definitions

Valid expressions
  In addition to the expressions defined in Assignable and EqualityComparable, the following expressions must be valid.

  Name | Expression | Type requirements | Return type
  --- | --- | --- | ---
  Downcast | `static_cast<T &>(v)` |  | T &

Models
  - `sfbool`
  - `sfcolor`
  - `sfcolorrgba`
  - `sfdouble`
  - `sffloat`
  - `sfimage`
  - `sfint32`
  - `sfnode`
  - `sfrotation`
  - `sfstring`
  - `sftime`
  - `sfvec2d`
  - `sfvec2f`
  - `sfvec3d`
  - `sfvec3f`
  - `mfbool`
  - `mfcolor`
  - `mfcolorrgba`
  - `mfdouble`
  - `mffloat`
  - `mfimage`
  - `mfint32`
  - `mfnode`
  - `mfrotation`
  - `mfstring`
  - `mftime`
  - `mfvec2d`
  - `mfvec2f`
  - `mfvec3d`
  - `mfvec3f`

Template Parameters:

  | T | the type to validate against this concept.

## Member Function Documentation

template<typename T >

void openvrml::FieldValueConcept< T >::constraints | ( |  | ) | `[inline]`

Validate that T is a model of the Field Value concept.

## Member Data Documentation

template<typename T >

openvrml::field_value * openvrml::FieldValueConcept< T >::base_ptr

For internal use only.

template<typename T >

T * openvrml::FieldValueConcept< T >::fv

For internal use only.

template<typename T >

openvrml::field_value::type_id openvrml::FieldValueConcept< T >::id

For internal use only.