17 #ifndef JUBATUS_CORE_COMMON_EXCEPTION_INFO_HPP_
18 #define JUBATUS_CORE_COMMON_EXCEPTION_INFO_HPP_
23 #include "jubatus/util/lang/shared_ptr.h"
24 #include "jubatus/util/lang/cast.h"
25 #include "jubatus/util/lang/demangle.h"
39 virtual std::string
as_string()
const = 0;
45 template<
class Tag,
class V>
48 template<
class Tag,
class V>
50 return jubatus::util::lang::lexical_cast<std::string, V>(info.
value());
61 return jubatus::util::lang::demangle(
62 typeid(
struct error_splitter_*).name());
71 template<
class Tag,
class V>
72 class error_info :
public error_info_base {
89 template<
class Tag,
class V>
94 template<
class Tag,
class V>
98 template<
class Tag,
class V>
100 return jubatus::util::lang::demangle(
typeid(Tag*).name());
103 template<
class Tag,
class V>
113 #endif // JUBATUS_CORE_COMMON_EXCEPTION_INFO_HPP_
std::string tag_typeid_name() const
std::string to_string(const error_errno &info)
std::string as_string() const
virtual ~error_info_base()
virtual bool splitter() const
std::string as_string() const
virtual std::string as_string() const =0
std::string tag_typeid_name() const
virtual std::string tag_typeid_name() const =0