BitShares-Core  4.0.0
BitShares blockchain implementation and command-line interface software
Public Member Functions | List of all members
graphene::db::abstract_object< DerivedClass > Class Template Reference

Use the Curiously Recurring Template Pattern to automatically add the ability to clone, serialize, and move objects polymorphically. More...

#include <object.hpp>

Inheritance diagram for graphene::db::abstract_object< DerivedClass >:
graphene::db::object graphene::db::annotated_object< DerivedClass >

Public Member Functions

virtual unique_ptr< objectclone () const
 these methods are implemented for derived classes by inheriting abstract_object<DerivedClass> More...
 
virtual void move_from (object &obj)
 
virtual variant to_variant () const
 
virtual vector< char > pack () const
 
- Public Member Functions inherited from graphene::db::object
 object ()
 
virtual ~object ()
 

Additional Inherited Members

- Public Attributes inherited from graphene::db::object
object_id_type id
 
- Static Public Attributes inherited from graphene::db::object
static const uint8_t space_id = 0
 
static const uint8_t type_id = 0
 

Detailed Description

template<typename DerivedClass>
class graphene::db::abstract_object< DerivedClass >

Use the Curiously Recurring Template Pattern to automatically add the ability to clone, serialize, and move objects polymorphically.

http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern

Definition at line 90 of file object.hpp.

Member Function Documentation

template<typename DerivedClass>
virtual unique_ptr<object> graphene::db::abstract_object< DerivedClass >::clone ( ) const
inlinevirtual

these methods are implemented for derived classes by inheriting abstract_object<DerivedClass>

Implements graphene::db::object.

Definition at line 93 of file object.hpp.

template<typename DerivedClass>
virtual void graphene::db::abstract_object< DerivedClass >::move_from ( object obj)
inlinevirtual

Implements graphene::db::object.

Definition at line 98 of file object.hpp.

template<typename DerivedClass>
virtual vector<char> graphene::db::abstract_object< DerivedClass >::pack ( ) const
inlinevirtual

Implements graphene::db::object.

Definition at line 103 of file object.hpp.

template<typename DerivedClass>
virtual variant graphene::db::abstract_object< DerivedClass >::to_variant ( ) const
inlinevirtual

Implements graphene::db::object.

Definition at line 102 of file object.hpp.


The documentation for this class was generated from the following file: