14 template<
typename __input_t,
typename __output_t>
37 input = string_to<input_t>(x);
38 output = string_to<output_t>(y);
42 output = string_to<output_t>(s);
56 return input==y.
input and output==y.
output and count == count and
61 template<
typename input_t,
typename output_t>
62 std::ostream& operator<<(std::ostream& o, const defaultdatum_t<input_t,output_t>& d) {
64 if constexpr( std::is_pointer<input_t>::value and std::is_pointer<output_t>::value) {
65 o <<
"[DATA: PTR " << *d.input <<
" -> PTR " << *d.output <<
" w/ reliability " << d.reliability <<
" and count " << d.count <<
"]";
67 if constexpr( std::is_pointer<input_t>::value and not std::is_pointer<output_t>::value) {
68 o <<
"[DATA: PTR " << *d.input <<
" -> " << d.output <<
" w/ reliability " << d.reliability <<
" and count " << d.count <<
"]";
70 if constexpr( (not std::is_pointer<input_t>::value) and std::is_pointer<output_t>::value) {
71 o <<
"[DATA: " << d.input <<
" -> " << *d.output <<
" w/ reliability " << d.reliability <<
" and count " << d.count <<
"]";
73 if constexpr( (not std::is_pointer<input_t>::value) and (not std::is_pointer<output_t>::value)) {
74 o <<
"[DATA: " << d.input <<
" -> " << d.output <<
" w/ reliability " << d.reliability <<
" and count " << d.count <<
"]";
81 template<
typename input_t,
typename output_t>
bool operator==(const defaultdatum_t &y) const
Defined to allow nan in reliability.
Definition: Datum.h:54
double count
Definition: Datum.h:25
input_t input
Definition: Datum.h:22
double reliability
Definition: Datum.h:24
defaultdatum_t(const input_t &i, const output_t &o, double r=NaN, double c=1.0)
Definition: Datum.h:28
defaultdatum_t()
Definition: Datum.h:27
constexpr double NaN
Definition: Numerics.h:21
std::string str(const defaultdatum_t< input_t, output_t > &x)
Definition: Datum.h:82
__output_t output_t
Definition: Datum.h:18
defaultdatum_t(const std::string s)
Definition: Datum.h:29
__input_t input_t
Definition: Datum.h:17
static const char DATA_IO_DELIMITER
Definition: Datum.h:20
bool contains(const std::string &s, const std::string &x)
Definition: Strings.h:53
output_t output
Definition: Datum.h:23