コード例 #1
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     bool result = val.is_array();
     for (size_t i = 0; result && i < val.size(); ++i)
     {
         if (!val[i].template is<T>())
         {
             result = false;
         }
     }
     return result;
 }
コード例 #2
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     if (val.is_longlong())
     {
         return val.as_longlong() >= 0 && static_cast<unsigned long long>(val.as_longlong()) <= std::numeric_limits<unsigned long long>::max JSONCONS_NO_MACRO_EXP();
     }
     else if (val.is_ulonglong())
     {
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #3
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     if (val.is_longlong())
     {
         return val.as_longlong() >= std::numeric_limits<long>::min JSONCONS_NO_MACRO_EXP() && val.as_longlong() <= std::numeric_limits<long>::max JSONCONS_NO_MACRO_EXP();
     }
     else if (val.is_ulonglong())
     {
         return val.as_ulonglong() <= std::numeric_limits<long>::max JSONCONS_NO_MACRO_EXP();
     }
     else
     {
         return false;
     }
 }
コード例 #4
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     if (val.is_longlong())
     {
         return val.as_longlong() >= 0;
     }
     else if (val.is_ulonglong())
     {
         return true;
     }
     else
     {
         return false;
     }
 }
コード例 #5
0
 std::vector<T> as(const basic_json<Char, Alloc>& val) const
 {
     std::vector<T> v(val.size());
     for (size_t i = 0; i < v.size(); ++i)
     {
         v[i] = val[i].template as<T>();
     }
     return v;
 }
コード例 #6
0
 bool is(const basic_json<char,Storage>& val) const
 {
     if (!val.is_string())
     {
         return false;
     }
     std::string s = val.template as<std::string>();
     try
     {
         boost::gregorian::date_from_iso_string(s);
         return true;
     }
     catch (...)
     {
         return false;
     }
 }
コード例 #7
0
 Char as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_char();
 }
コード例 #8
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     return val.is_string() && val.as_string().size() == 1;
 }
コード例 #9
0
 bool as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_bool();
 }
コード例 #10
0
 void assign(basic_json<Char, Alloc>& self, double val)
 {
     self.assign_float(val);
 }
コード例 #11
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     return val.is_double();
 }
コード例 #12
0
 long as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_long();
 }
コード例 #13
0
 unsigned int as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_uint();
 }
コード例 #14
0
 void assign(basic_json<Char, Alloc>& self, int val)
 {
     self.assign_longlong(val);
 }
コード例 #15
0
 unsigned short as(const basic_json<Char, Alloc>& val) const
 {
     return (unsigned short)val.as_uint();
 }
コード例 #16
0
 short as(const basic_json<Char, Alloc>& val) const
 {
     return (short)val.as_int();
 }
コード例 #17
0
 void assign(basic_json<Char, Alloc>& self, bool val)
 {
     self.assign_bool(val);
 }
コード例 #18
0
 void assign(basic_json<Char, Alloc>& self, const std::basic_string<Char>& val)
 {
     self.assign_string(val);
 }
コード例 #19
0
 void assign(basic_json<Char, Alloc>& self, Char ch)
 {
     std::basic_string<Char> s;
     s.push_back(ch);
     self.assign_string(s);
 }
コード例 #20
0
 void assign(basic_json<Char, Alloc>& self, long long val)
 {
     self.assign_integer(val);
 }
コード例 #21
0
 double as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_double();
 }
コード例 #22
0
 std::basic_string<Char> as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_string();
 }
コード例 #23
0
 typename basic_json<Char, Alloc>::any as(const basic_json<Char, Alloc>& val) const
 {
     return val.any_value();
 }
コード例 #24
0
 bool is(const basic_json<Char, Alloc>& val) const
 {
     return val.is_string();
 }
コード例 #25
0
 bool is(const basic_json<Char, Alloc>& self) const
 {
     return self.is_any();
 }
コード例 #26
0
 void assign(basic_json<Char, Alloc>& self, null_type)
 {
     self.assign_null();
 }
コード例 #27
0
 void assign(basic_json<Char, Alloc>& self, typename basic_json<Char, Alloc>::any val)
 {
     self.assign_any(val);
 }
コード例 #28
0
 unsigned long long as(const basic_json<Char, Alloc>& val) const
 {
     return val.as_ulonglong();
 }
コード例 #29
0
 void assign(basic_json<Char, Alloc>& self, const Char *val)
 {
     self.assign_string(std::basic_string<Char>(val));
 }
コード例 #30
0
 void assign(basic_json<Char, Alloc>& self, unsigned long long val)
 {
     self.assign_ulonglong(val);
 }