BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Public Member Functions | List of all members
graphene::db::base_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::base_abstract_object< DerivedClass >:
graphene::db::object graphene::db::abstract_object< DerivedClass, SpaceID, TypeID > graphene::db::annotated_object< DerivedClass >

Public Member Functions

std::unique_ptr< objectclone () const override
 
void move_from (object &obj) override
 
fc::variant to_variant () const override
 
std::vector< char > pack () const override
 
 object ()=default
 
 object (uint8_t space_id, uint8_t type_id)
 
- Public Member Functions inherited from graphene::db::object
 object ()=default
 
 object (uint8_t space_id, uint8_t type_id)
 
virtual ~object ()=default
 

Additional Inherited Members

- Public Attributes inherited from graphene::db::object
object_id_type id
 

Detailed Description

template<typename DerivedClass>
class graphene::db::base_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 88 of file object.hpp.

Member Function Documentation

◆ clone()

template<typename DerivedClass >
std::unique_ptr<object> graphene::db::base_abstract_object< DerivedClass >::clone ( ) const
inlineoverridevirtual

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

Implements graphene::db::object.

Definition at line 92 of file object.hpp.

◆ move_from()

template<typename DerivedClass >
void graphene::db::base_abstract_object< DerivedClass >::move_from ( object obj)
inlineoverridevirtual

Implements graphene::db::object.

Definition at line 97 of file object.hpp.

◆ object() [1/2]

template<typename DerivedClass >
graphene::db::object::object
default

◆ object() [2/2]

template<typename DerivedClass >
graphene::db::object::object
inline

Definition at line 65 of file object.hpp.

◆ pack()

template<typename DerivedClass >
std::vector<char> graphene::db::base_abstract_object< DerivedClass >::pack ( ) const
inlineoverridevirtual

Implements graphene::db::object.

Definition at line 103 of file object.hpp.

◆ to_variant()

template<typename DerivedClass >
fc::variant graphene::db::base_abstract_object< DerivedClass >::to_variant ( ) const
inlineoverridevirtual

Implements graphene::db::object.

Definition at line 101 of file object.hpp.


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