From b8e16e2e9468f071dac871581beb342bd58457cc Mon Sep 17 00:00:00 2001 From: Daniel Larimer Date: Thu, 27 Aug 2015 10:45:44 -0400 Subject: [PATCH] fix object id math --- libraries/db/include/graphene/db/object_id.hpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/db/include/graphene/db/object_id.hpp b/libraries/db/include/graphene/db/object_id.hpp index 84428c7e..b195e8c3 100644 --- a/libraries/db/include/graphene/db/object_id.hpp +++ b/libraries/db/include/graphene/db/object_id.hpp @@ -54,6 +54,9 @@ namespace graphene { namespace db { object_id_type& operator++(int) { ++number; return *this; } object_id_type& operator++() { ++number; return *this; } + friend object_id_type operator+(const object_id a, int delta ) { + return object_id_type( space(), type(), instance() + delta ); + } friend size_t hash_value( object_id_type v ) { return std::hash()(v.number); } friend bool operator < ( const object_id_type& a, const object_id_type& b ) @@ -83,6 +86,9 @@ namespace graphene { namespace db { object_id( object_id_type id ):instance(id.instance()) { } + + friend object_id operator+(const object_id a, int delta ) { return object_id( instance+delta ); } + operator object_id_type()const { return object_id_type( SpaceID, TypeID, instance.value ); } operator uint64_t()const { return object_id_type( *this ).number; }