#include <object.hpp>
Inheritance diagram for ph::common::object_base:
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.
[inline, virtual]
Definition at line 41 of file object.hpp.
[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().
[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.
[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().
[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.
[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().
[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().
[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().
[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.
[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().
[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.
[inline, virtual]
Cloneable objects allow objects to be used in the abstract factory pattern.
Definition at line 91 of file object.hpp.
[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.
[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().
[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.
[inline, virtual]
[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.
[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().
[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.