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

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions
openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object > Class Template Reference

Concrete pointer-to-polymorphic-member type. More...

`#include <openvrml/node_impl_util.h>`

Inheritance diagram for openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >:
[legend]

List of all members.

## Public Member Functions

| ptr_to_polymorphic_mem_impl (Member Object::*ptr_to_mem)
| Construct.
virtual | ~ptr_to_polymorphic_mem_impl () throw ()
| Destroy.
virtual MemberBase & | deref (Object &obj)
| Dereference.
virtual const MemberBase & | deref (const Object &obj)

## Detailed Description

### template<typename MemberBase, typename Member, typename Object>
class openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >

Concrete pointer-to-polymorphic-member type.

Template Parameters:

  MemberBase | the base type of the member.
  Member | the concrete type of the member.
  Object | the type that contains the member.

See also:
  openvrml::node_impl_util::ptr_to_polymorphic_mem

## Constructor & Destructor Documentation

template<typename MemberBase , typename Member, typename Object>

openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::ptr_to_polymorphic_mem_impl | ( | Member Object::* | ptr_to_mem | ) | `[explicit]`

Construct.

Parameters:

  [in] | ptr_to_mem | pointer-to-member.

template<typename MemberBase , typename Member , typename Object >

openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::~ptr_to_polymorphic_mem_impl | ( |  | ) | throw ()`[virtual]`

Destroy.

Template Parameters:

  MemberBase | the base type of the member.
  Member | the concrete type of the member.
  Object | the type that contains the member.

## Member Function Documentation

template<typename MemberBase , typename Member , typename Object>

MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::deref | ( | Object & | obj | ) | `[virtual]`

Dereference.

Template Parameters:

  MemberBase | the base type of the member.
  Member | the concrete type of the member.
  Object | the type that contains the member.

Returns:
  a reference to the base type of the member.

Implements openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >.

template<typename MemberBase , typename Member , typename Object>

const MemberBase & openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >::deref | ( | const Object & | obj | ) | `[virtual]`

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Returns:
  a `const` reference to the base type of the member.

Implements openvrml::node_impl_util::ptr_to_polymorphic_mem< MemberBase, Object >.