|
| template<typename FieldsTuple > |
| static bool | ParseValues (const ttv::json::Value &value, FieldsTuple &&tuple) |
| |
| template<int index, typename FieldsTuple > |
| static std::enable_if_t<(index< std::tuple_size< FieldsTuple >::value), bool > | ParseValuesAtIndex (const ttv::json::Value &value, FieldsTuple &&tuple) |
| |
| template<int index, typename FieldsTuple > |
| static std::enable_if_t<(index >=std::tuple_size< FieldsTuple >::value), bool > | ParseValuesAtIndex (const ttv::json::Value &, FieldsTuple &&) |
| |
| template<typename FieldsTuple > |
| static bool | EmitValues (ttv::json::Value &value, FieldsTuple &&tuple) |
| |
| template<int index, typename FieldsTuple > |
| static std::enable_if_t<(index< std::tuple_size< FieldsTuple >::value), bool > | EmitValuesAtIndex (ttv::json::Value &value, FieldsTuple &&tuple) |
| |
| template<int index, typename FieldsTuple > |
| static std::enable_if_t<(index >=std::tuple_size< FieldsTuple >::value), bool > | EmitValuesAtIndex (ttv::json::Value &, FieldsTuple &&) |
| |
template<typename ObjectDescription>
struct ttv::json::ObjectSchema< ObjectDescription >
Object Schema
The ObjectSchema is a reusable schema that takes in an ObjectDescription type, which conforms to the following concept:
struct ObjectDescription
{
template <typename ObjectType>
static auto BindFields(ObjectType& info);
};
It must provide an implementation of the static method "BindFields", which provides a tuple of JavaField objects (documented below) that map JSON fields to C++ fields. The method is templated so that it can bind to the fields of const and non-const objects.