Remove explict json constructor from range
This commit is contained in:
parent
7404973415
commit
03a95ac05b
@ -20,6 +20,8 @@
|
||||
#ifndef __NET_SOCKET_HPP
|
||||
#define __NET_SOCKET_HPP
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "types.hpp"
|
||||
#include "address.hpp"
|
||||
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "range.hpp"
|
||||
|
||||
#include <iostream>
|
||||
#include <limits>
|
||||
|
||||
void
|
||||
util::noise::image2d (uint8_t *restrict pixels,
|
||||
|
42
range.cpp
42
range.cpp
@ -21,9 +21,11 @@
|
||||
#include "range.hpp"
|
||||
|
||||
#include "debug.hpp"
|
||||
#include "json.hpp"
|
||||
#include "maths.hpp"
|
||||
|
||||
#include <limits>
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
|
||||
|
||||
@ -33,25 +35,6 @@ using namespace util;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
template <typename T>
|
||||
range<T>::range (const json::node &node) {
|
||||
if (node.is_string () && (node == "UNIT" ||
|
||||
node == "unit")) {
|
||||
min = UNIT.min;
|
||||
max = UNIT.max;
|
||||
} else if (node.is_string () && (node == "UNLIMITED" ||
|
||||
node == "unlimited")) {
|
||||
min = UNLIMITED.min;
|
||||
max = UNLIMITED.max;
|
||||
} else {
|
||||
min = node[0].as_number ();
|
||||
max = node[1].as_number ();
|
||||
}
|
||||
|
||||
sanity ();
|
||||
}
|
||||
|
||||
|
||||
template <typename T>
|
||||
range<T>::range (T _min, T _max):
|
||||
min (_min),
|
||||
@ -200,3 +183,24 @@ namespace util {
|
||||
template struct range<uint32_t>;
|
||||
template struct range<uint64_t>;
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
namespace json {
|
||||
template <>
|
||||
util::range<double>
|
||||
io<util::range<double>>::deserialise (const json::node &node) {
|
||||
if (node.is_string () && (node == "UNIT" ||
|
||||
node == "unit")) {
|
||||
return util::range<double>::UNIT;
|
||||
} else if (node.is_string () && (node == "UNLIMITED" ||
|
||||
node == "unlimited")) {
|
||||
return util::range<double>::UNLIMITED;
|
||||
} else {
|
||||
return {
|
||||
node[0].as_number (),
|
||||
node[1].as_number ()
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,8 @@
|
||||
#ifndef __UTIL_RANGE_HPP
|
||||
#define __UTIL_RANGE_HPP
|
||||
|
||||
#include "json.hpp"
|
||||
#include <iostream>
|
||||
|
||||
|
||||
namespace util {
|
||||
/**
|
||||
@ -33,7 +34,6 @@ namespace util {
|
||||
T min;
|
||||
T max;
|
||||
|
||||
range (const json::node &node);
|
||||
range (T _min, T _max);
|
||||
|
||||
/// Check whether value falls within this range (inclusive)
|
||||
|
Loading…
Reference in New Issue
Block a user