X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftype.h;h=17545bae23ef0922669583344097a65c3e3e04cd;hb=2f73f948cd2f4bb0bdcc0f5f81816fb169819879;hp=701a5dc9786533f930e6c49778988f6816f83189;hpb=10c7c4157f02e3abbb7a0505bfc2985b67e04043;p=libs%2Fdatafile.git diff --git a/source/type.h b/source/type.h index 701a5dc..17545ba 100644 --- a/source/type.h +++ b/source/type.h @@ -12,7 +12,7 @@ struct Symbol std::string name; template - Symbol(const T &n): name(lexical_cast(n)) { } + Symbol(const T &n): name(lexical_cast(n)) { } template operator T() const { return lexical_cast(name); } }; @@ -52,6 +52,16 @@ struct SymbolType typedef Symbol Store; }; +const char valid_signatures[] = +{ + IntType::signature, + FloatType::signature, + BoolType::signature, + StringType::signature, + SymbolType::signature, + 0 +}; + template struct HasLoadType { @@ -113,6 +123,12 @@ struct TypeInfo: BoolType { }; template<> struct TypeInfo: StringType { }; +template<> +struct TypeInfo: StringType { }; + +template<> +struct TypeInfo: StringType { }; + template struct TypeInfo: TypeInfo { };