std::string name;
template<typename T>
- Symbol(const T &n): name(lexical_cast(n)) { }
+ Symbol(const T &n): name(lexical_cast<std::string>(n)) { }
template<typename T> operator T() const { return lexical_cast<T>(name); }
};
template<>
struct TypeInfo<std::string, false>: StringType { };
+template<>
+struct TypeInfo<char *, false>: StringType { };
+
+template<>
+struct TypeInfo<const char *, false>: StringType { };
+
template<typename T>
struct TypeInfo<const T, false>: TypeInfo<T> { };