| Home | Download | Screen shots | Discussion | Documentation |
|---|
Abstract base class for a pointer-to-polymorphic-member type. More...
#include <openvrml/node_impl_util.h>

Public Member Functions | |
| virtual | ~ptr_to_polymorphic_mem ()=0 throw () |
| Destroy. More... | |
| virtual MemberBase & | deref (Object &obj)=0 |
| Dereference. More... | |
| virtual const MemberBase & | deref (const Object &obj)=0 |
Abstract base class for a pointer-to-polymorphic-member type.
In conjunction with ptr_to_polymorphic_mem_impl, this class circumvents the “contravariance problem” with pointer-to-member types. That is, the type Base Object::* is not compatible with the type Derived Object::*.
| MemberBase | the base type of the member. |
| Object | the type that contains the member. |
|
pure virtual | |||||||||||||
Destroy.
| MemberBase | the base type of the member. |
| Object | the type that contains the member. |
|
pure virtual |
Dereference.
| MemberBase | the base type of the member. |
| Object | the type that contains the member. |
Implemented in openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_listener, EventListenerMember, Node >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_emitter, EventEmitterMember, Node >, and openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::field_value, FieldMember, Node >.
|
pure virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| MemberBase | the base type of the member. |
| Object | the type that contains the member. |
const reference to the base type of the member. Implemented in openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< MemberBase, Member, Object >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_listener, EventListenerMember, Node >, openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::event_emitter, EventEmitterMember, Node >, and openvrml::node_impl_util::ptr_to_polymorphic_mem_impl< openvrml::field_value, FieldMember, Node >.