Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Namespace Members | Data Fields | Globals

ph::common::object_base Class Reference

#include <object.hpp>

Inheritance diagram for ph::common::object_base:

persist_test::base persist_test::c_base reflect_test::base reflect_test::c_base persist_test::bar persist_test::foo persist_test::root persist_test::c_ref persist_test::c_vector reflect_test::bar reflect_test::foo reflect_test::root reflect_test::c_ref reflect_test::c_vector

Detailed Description

Abstract class representing an object which contains various interfaces used in persistance, reflection, and patterns.

None of these interfaces are mandatory, so it is up to the systems using them to test for the interface before using it, and gracefully fail if not found.

Definition at line 30 of file object.hpp.

Public Member Functions

virtual ~object_base ()
virtual outerable_object_baseouterable ()
virtual const outerable_object_baseouterable () const
virtual composition_object_basecomposition ()
virtual const composition_object_basecomposition () const
virtual deletable_object_basedeletable ()
virtual const comparable_object_basecomparable () const
virtual visitable_object_basevisitable ()
 Visitable objects follow the Visitor pattern.
virtual const visitable_object_basevisitable () const
virtual persistable_object_basepersistable ()
virtual const persistable_object_basepersistable () const
virtual cloneable_object_basecloneable ()
virtual const cloneable_object_basecloneable () const
virtual pretendable_object_basepretendable ()
 Pretendable objects can pretend to be other objects.
virtual const pretendable_object_basepretendable () const
virtual importable_object_baseimportable ()
 Importable objects can be imported.
virtual const importable_object_baseimportable () const
virtual nameable_object_basenameable ()
 Nameable objects can be named.
virtual const nameable_object_basenameable () const


Constructor & Destructor Documentation

virtual ph::common::object_base::~object_base  )  [inline, virtual]
 

Definition at line 41 of file object.hpp.


Member Function Documentation

virtual outerable_object_base* ph::common::object_base::outerable  )  [inline, virtual]
 

Outerable objects contain some type of pointer to the parent object.

Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base.

Definition at line 43 of file object.hpp.

Referenced by ph::common::vector_object_helper::helper_add(), ph::common::ref_object_helper::helper_add(), ph::common::composite_object_helper::helper_equal(), and reflect_test::test_composite::test_parents().

virtual const outerable_object_base* ph::common::object_base::outerable  )  const [inline, virtual]
 

Outerable objects contain some type of pointer to the parent object. This interface is used in circumstances where the class won't be modified.

Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base.

Definition at line 47 of file object.hpp.

virtual composition_object_base* ph::common::object_base::composition  )  [inline, virtual]
 

Composition objects follow the Composition pattern.

Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base.

Definition at line 53 of file object.hpp.

Referenced by reflect_test::test_composite::test().

virtual const composition_object_base* ph::common::object_base::composition  )  const [inline, virtual]
 

Composition objects follow the Composition pattern. This interface is used in circumstances where the class won't be modified.

Reimplemented in reflect_test::base, reflect_test::c_base, persist_test::base, and persist_test::c_base.

Definition at line 57 of file object.hpp.

virtual deletable_object_base* ph::common::object_base::deletable  )  [inline, virtual]
 

Deletable objects use a member to delete the object rather than a destructor.

Reimplemented in reflect_test::c_base, and persist_test::c_base.

Definition at line 63 of file object.hpp.

Referenced by persist_test::test_base::dotest(), and ph::common::ref_object_helper::helper_delete_object().

virtual const comparable_object_base* ph::common::object_base::comparable  )  const [inline, virtual]
 

Deletable objects use a member to delete the object rather than a destructor. This interface is used in circumstances where the class won't be modified.

Reimplemented in reflect_test::c_base, and persist_test::c_base.

Definition at line 67 of file object.hpp.

Referenced by ph::common::composite_object_helper::helper_equal(), and reflect_test::test_composite::test_parents().

virtual visitable_object_base* ph::common::object_base::visitable  )  [inline, virtual]
 

Visitable objects follow the Visitor pattern.

Reimplemented in reflect_test::base, and reflect_test::c_base.

Definition at line 73 of file object.hpp.

Referenced by ph::common::get_visitable_obj_member(), ph::reflect::ref_object_helper::helper_accept(), and ph::reflect::dump_object_visitor::visit().

virtual const visitable_object_base* ph::common::object_base::visitable  )  const [inline, virtual]
 

Visitable objects follow the Visitor pattern. This interface is used in circumstances where the class won't be modified.

Reimplemented in reflect_test::base, and reflect_test::c_base.

Definition at line 76 of file object.hpp.

virtual persistable_object_base* ph::common::object_base::persistable  )  [inline, virtual]
 

Persistable objects can be written and read to some type of external storage.

Reimplemented in persist_test::base, and persist_test::c_base.

Definition at line 81 of file object.hpp.

Referenced by persist_test::base::create(), ph::common::get_persistable_obj_name(), ph::common::get_persistable_obj_type(), ph::common::set_persistable_obj_name(), ph::common::set_persistable_obj_type(), persist_test::test_write::write_output(), and persist_test::test_dump::write_output().

virtual const persistable_object_base* ph::common::object_base::persistable  )  const [inline, virtual]
 

Persistable objects can be written and read to some type of external storage. This interface is used in circumstances where the class won't be modified.

Reimplemented in persist_test::base, and persist_test::c_base.

Definition at line 85 of file object.hpp.

virtual cloneable_object_base* ph::common::object_base::cloneable  )  [inline, virtual]
 

Cloneable objects allow objects to be used in the abstract factory pattern.

Definition at line 91 of file object.hpp.

virtual const cloneable_object_base* ph::common::object_base::cloneable  )  const [inline, virtual]
 

Cloneable objects allow objects to be used in the abstract factory pattern. This interface is used in circumstances where the class won't be modified.

Definition at line 95 of file object.hpp.

virtual pretendable_object_base* ph::common::object_base::pretendable  )  [inline, virtual]
 

Pretendable objects can pretend to be other objects.

Definition at line 101 of file object.hpp.

Referenced by ph::reflect::get_nth_object_visitor::visit(), ph::reflect::get_object_with_type_visitor::visit(), ph::reflect::get_object_visitor::visit(), and ph::reflect::get_composite_object_visitor::visit_composite().

virtual const pretendable_object_base* ph::common::object_base::pretendable  )  const [inline, virtual]
 

Pretendable objects can pretend to be other objects. This interface is used in circumstances where the class won't be modified.

Definition at line 104 of file object.hpp.

virtual importable_object_base* ph::common::object_base::importable  )  [inline, virtual]
 

Importable objects can be imported.

Definition at line 110 of file object.hpp.

virtual const importable_object_base* ph::common::object_base::importable  )  const [inline, virtual]
 

Importable objects can be imported. This interface is used in circumstances where the class won't be modified.

Definition at line 113 of file object.hpp.

virtual nameable_object_base* ph::common::object_base::nameable  )  [inline, virtual]
 

Nameable objects can be named.

Definition at line 119 of file object.hpp.

Referenced by ph::reflect::vector_object_helper::helper_accept(), ph::reflect::ref_object_helper::helper_accept(), and ph::common::composite_object_helper::helper_equal().

virtual const nameable_object_base* ph::common::object_base::nameable  )  const [inline, virtual]
 

Nameable objects can be named. This interface is used in circumstances where the class won't be modified.

Definition at line 122 of file object.hpp.


The documentation for this class was generated from the following file:
Generated on Wed Apr 5 22:03:33 2006 for cppxmlobj by  doxygen 1.4.3