add built-in array support in get_to

This commit is contained in:
Théo DELRIEU 2019-04-01 13:32:06 +02:00
parent 2806b201a8
commit e6e6805c6c
No known key found for this signature in database
GPG key ID: 7D6E00D1DF01DEAF
4 changed files with 56 additions and 0 deletions

View file

@ -157,6 +157,16 @@ void from_json(const BasicJsonType& j, std::valarray<T>& l)
std::copy(j.m_value.array->begin(), j.m_value.array->end(), std::begin(l));
}
template <typename BasicJsonType, typename T, std::size_t N>
auto from_json(const BasicJsonType& j, T (&arr)[N])
-> decltype(j.template get<T>(), void())
{
for (std::size_t i = 0; i < N; ++i)
{
arr[i] = j.at(i).template get<T>();
}
}
template<typename BasicJsonType>
void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/)
{