#pragma once #include #include "jsonElement.hh" template class JSonPrimitive: public JSonElement { public: JSonPrimitive(T const &v); virtual ~JSonPrimitive(); bool operator<(const JSonPrimitive &other) const; protected: const T value; }; template JSonPrimitive::JSonPrimitive(T const &v): value(v) { } template bool JSonPrimitive::operator<(const JSonPrimitive &other) const { return value < other.value; }