openvrml::node_interface Class Reference

Type information for an interface of a node. More...

#include <openvrml/node.h>

Public Types

enum  type_id {
  invalid_type_id,
  eventin_id,
  eventout_id,
  exposedfield_id,
  field_id
}
 Identify the type of interface. More...

Public Member Functions

 node_interface (type_id type, field_value::type_id field_type, const std::string &id)
 Constructor.

Public Attributes

type_id type
 The interface type.
field_value::type_id field_type
 The field data type handled by this interface.
std::string id
 The name of this interface.

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &out, const node_interface::type_id type)
 Stream inserter.
std::istream & operator>> (std::istream &in, node_interface::type_id &type)
 Stream extractor.
bool operator== (const node_interface &lhs, const node_interface &rhs) throw()
 Compare for equality.
bool operator!= (const node_interface &lhs, const node_interface &rhs) throw()
 Compare for openvrml::inequality.
std::ostream & operator<< (std::ostream &out, const node_interface &interface_)
 Stream output.
std::istream & operator>> (std::istream &in, node_interface &interface_)
 Stream input.

Detailed Description

Type information for an interface of a node.

Examples:
pretty_print.cpp.

Member Enumeration Documentation

Identify the type of interface.

Enumerator:
invalid_type_id 

Used to indicate an invalid or unknown interface type.

eventin_id 

An eventIn.

eventout_id 

An eventOut.

exposedfield_id 

An exposedField.

field_id 

A field.

Constructor & Destructor Documentation

openvrml::node_interface::node_interface ( type_id  type,
field_value::type_id  field_type,
const std::string &  id 
)
inline

Constructor.

Parameters
[in]typethe type of interface.
[in]field_typethe field data type handled by the interface.
[in]idthe name of the interface.

Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  out,
const node_interface::type_id  type 
)
related

Stream inserter.

If type is node_interface::invalid_type_id, failbit is set on out.

Parameters
[in,out]outan output stream.
[in]typea node interface type.
Returns
out.
std::istream & operator>> ( std::istream &  in,
node_interface::type_id type 
)
related

Stream extractor.

Parameters
[in,out]inan input stream.
[out]typea node interface type.
Returns
in.
bool operator== ( const node_interface lhs,
const node_interface rhs 
) throw()
related

Compare for equality.

Parameters
[in]lhsa node_interface.
[in]rhsa node_interface.
Returns
true if the two node_interfaces are equal, false otherwise.
bool operator!= ( const node_interface lhs,
const node_interface rhs 
) throw()
related

Compare for openvrml::inequality.

Parameters
[in]lhsa node_interface.
[in]rhsa node_interface.
Returns
true if the two node_interfaces are equal, false otherwise.
std::ostream & operator<< ( std::ostream &  out,
const node_interface interface_ 
)
related

Stream output.

Parameters
[in,out]outoutput stream.
[in]interface_node_interface.
Returns
out.
std::istream & operator>> ( std::istream &  in,
node_interface interface_ 
)
related

Stream input.

Parameters
[in,out]ininput stream.
[out]interface_node_interface.
Returns
in.

Member Data Documentation

openvrml::node_interface::type

The interface type.

Examples:
pretty_print.cpp.
openvrml::node_interface::field_type

The field data type handled by this interface.

openvrml::node_interface::id

The name of this interface.

Examples:
pretty_print.cpp.