diff options
Diffstat (limited to 'serialize/wall-atlas.hpp')
| -rw-r--r-- | serialize/wall-atlas.hpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/serialize/wall-atlas.hpp b/serialize/wall-atlas.hpp index edb8b29b..7f578a5d 100644 --- a/serialize/wall-atlas.hpp +++ b/serialize/wall-atlas.hpp @@ -6,6 +6,13 @@ namespace nlohmann { template<> +struct adl_serializer<floormat::Wall::Frame> +{ + static void to_json(json& j, const floormat::Wall::Frame& x); + static void from_json(const json& j, floormat::Wall::Frame& x); +}; + +template<> struct adl_serializer<std::shared_ptr<floormat::wall_atlas>> { static void to_json(json& j, const std::shared_ptr<const floormat::wall_atlas>& x); @@ -21,10 +28,13 @@ using nlohmann::json; uint8_t direction_index_from_name(StringView s); StringView direction_index_to_name(size_t i); +[[nodiscard]] Array<Frame> read_all_frames(const json& jroot); [[nodiscard]] Group read_group_metadata(const json& jgroup); [[nodiscard]] Direction read_direction_metadata(const json& jroot, Direction_ dir); +Pair<Array<Direction>, std::array<DirArrayIndex, 4>> read_all_directions(const json& jroot); Info read_info_header(const json& jroot); +void write_all_frames(json& jframes, ArrayView<const Frame> array); void write_group_metadata(json& jgroup, const Group& val); void write_direction_metadata(json& jdir, const Direction& dir); void write_all_directions(json& jroot, const wall_atlas& a); |
