23 #ifndef COM_DAFER45_TBTK_NATURAL 24 #define COM_DAFER45_TBTK_NATURAL 28 #ifndef TBTK_DISABLE_NLOHMANN_JSON 29 # include "TBTK/json.hpp" 34 #if TBTK_WRAP_PRIMITIVE_TYPES 45 constexpr
Natural(
unsigned int value) : value(value) {}
56 constexpr
operator unsigned int()
const{
return value; };
160 #ifndef TBTK_DISABLE_NLOHMANN_JSON 166 nlohmann::to_json(j, natural.value);
174 nlohmann::from_json(j, natural.value);
183 const std::string &serialization,
187 case Serializable::Mode::JSON:
188 value = stoul(serialization);
192 "Natural::Natural()",
193 "Only Serializable::Mode::JSON is supported yet.",
201 case Serializable::Mode::JSON:
202 return std::to_string(value);
205 "Natural::serialize()",
206 "Only Serializable::Mode::JSON is supported yet.",
std::string serialize(Serializable::Mode mode) const
Definition: Natural.h:199
Natural & operator/=(const Natural &rhs)
Definition: Natural.h:107
Natural & operator*=(const Natural &rhs)
Definition: Natural.h:96
Natural & operator--()
Definition: Natural.h:135
Natural & operator+=(const Natural &rhs)
Definition: Natural.h:74
Natural & operator=(unsigned int rhs)
Definition: Natural.h:63
Natural number.
Definition: Natural.h:37
Base class for psudo-serializable objects.
Definition: PseudoSerializable.h:31
Natural operator--(int)
Definition: Natural.h:144
friend void to_json(nlohmann::json &j, const Natural &natural)
Definition: Natural.h:165
Natural()
Definition: Natural.h:40
Natural & operator++()
Definition: Natural.h:116
Natural operator++(int)
Definition: Natural.h:125
Mode
Definition: Serializable.h:47
constexpr Natural(unsigned int value)
Definition: Natural.h:45
friend void from_json(const nlohmann::json &j, Natural &natural)
Definition: Natural.h:173
Natural & operator-=(const Natural &rhs)
Definition: Natural.h:85