From a2b9bc6d277e4e23f26981cb30dc82d2d88d4543 Mon Sep 17 00:00:00 2001 From: theoreticalbts Date: Mon, 15 Jun 2015 20:38:51 -0400 Subject: [PATCH] object_database.hpp: Implement template methods for downcasting objects --- .../db/include/graphene/db/object_database.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libraries/db/include/graphene/db/object_database.hpp b/libraries/db/include/graphene/db/object_database.hpp index e070125e..ff4cc52d 100644 --- a/libraries/db/include/graphene/db/object_database.hpp +++ b/libraries/db/include/graphene/db/object_database.hpp @@ -87,6 +87,19 @@ namespace graphene { namespace db { ///@} + template + static const T& cast( const object& obj ) + { + assert( nullptr != dynamic_cast(&obj) ); + return static_cast(obj); + } + template + static T& cast( object& obj ) + { + assert( nullptr != dynamic_cast(&obj) ); + return static_cast(obj); + } + template const T& get( object_id_type id )const {