From 59f42c28ef6d0f3d239be8673f1e4df9aef7b84e Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Mon, 3 Aug 2009 18:15:08 +0200 Subject: [PATCH] get type-id string --- src/lib/format.hpp | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/src/lib/format.hpp b/src/lib/format.hpp index db53affcd..a7856e183 100644 --- a/src/lib/format.hpp +++ b/src/lib/format.hpp @@ -81,14 +81,28 @@ namespace util { , Symbol prefix="" ///< prefix to prepend in case conversion is possible , Symbol fallback =0 /// < replacement text to show if string conversion fails ) - { - if (can_ToString::value) - return string(prefix) + invoke_2string(val); - - else - return fallback? fallback - : string("«")+typeid(val).name()+"»"; - } + { + if (can_ToString::value) + return string(prefix) + invoke_2string(val); + + else + return fallback? fallback + : tyStr(val); + } + + + /** @return a string denoting the type. */ + template + inline string + tyStr (const TY* =0) + { + return string("«")+typeid(TY).name()+"»"; + } + + template + inline string + tyStr (TY const& ref) + { return tyStr(&ref); } } // namespace util