blob: d2276f4e66e0e3a3a69f6dd3f3713d0fb3e8ada2 [file] [log] [blame]
#ifndef BASYX_JSON_TYPEID_H
#define BASYX_JSON_TYPEID_H
#include <string>
namespace basyx {
namespace serialization {
static constexpr char typeSpecifier[] = "_basyxTypes";
static constexpr char typeIdSpecifier[] = "typeid";
static constexpr char arrayTypeSpecifier[] = "type";
static constexpr char valueSpecifier[] = "_value";
static constexpr char sizeSpecifier[] = "size";
static constexpr char mapSpecifier[] = "map";
static constexpr char collectionSpecifier[] = "collection";
static constexpr char arraySpecifier[] = "array";
template <typename T>
struct basysType {
static constexpr char string[] = "unknown";
};
template <>
struct basysType<bool> {
static constexpr char string[] = "boolean";
};
template <>
struct basysType<int> {
static constexpr char string[] = "int";
};
template <>
struct basysType<float> {
static constexpr char string[] = "float";
};
template <>
struct basysType<double> {
static constexpr const char string[] = "double";
};
template <>
struct basysType<char> {
static constexpr const char string[] = "character";
};
template <>
struct basysType<std::string> {
static constexpr const char string[] = "string";
};
}
};
template <typename T>
constexpr char basyx::serialization::basysType<T>::string[];
#endif /* BASYX_JSON_TYPEID_H */