-/* $Id$
-
-This file is part of libmspdatafile
-Copyright © 2010 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef MSP_DATAFILE_TYPE_H_
#define MSP_DATAFILE_TYPE_H_
{
std::string name;
- Symbol(const std::string &n): name(n) { }
+ template<typename T>
+ Symbol(const T &n): name(lexical_cast(n)) { }
template<typename T> operator T() const { return lexical_cast<T>(name); }
};
struct IntType
{
static const char signature = 'i';
+#ifdef MSVC
+ typedef __int64 Store;
+#else
typedef long long int Store;
+#endif
+ typedef Store Load;
};
struct FloatType
template<>
struct TypeInfo<unsigned long int>: IntType { };
+#ifdef MSVC
+template<>
+struct TypeInfo<__int64>: IntType { };
+
+template<>
+struct TypeInfo<unsigned __int64>: IntType { };
+#else
template<>
struct TypeInfo<long long int>: IntType { };
template<>
struct TypeInfo<unsigned long long int>: IntType { };
+#endif
template<>
struct TypeInfo<float>: FloatType { };