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. | |
virtual MemberBase & | deref (Object &obj)=0 |
Dereference. | |
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 >.