// Copyright (c) 2014-2018 Zano Project // Copyright (c) 2014-2018 The Louisdor Project // Copyright (c) 2012-2013 The Boolberry developers // Copyright (c) 2017-2025 Lethean (https://lt.hn) // // Licensed under the European Union Public Licence (EUPL) version 1.2. // You may obtain a copy of the licence at: // // https://joinup.ec.europa.eu/software/page/eupl/licence-eupl // // The EUPL is a copyleft licence that is compatible with the MIT/X11 // licence used by the original projects; the MIT terms are therefore // considered “grandfathered” under the EUPL for this code. // // SPDX‑License‑Identifier: EUPL-1.2 // #pragma once #include "json_archive.h" #include "variant.h" template struct debug_archive : public json_archive { typedef typename json_archive::stream_type stream_type; debug_archive(stream_type &s) : json_archive(s) { } }; template struct serializer, T> { static void serialize(debug_archive &ar, T &v) { ar.begin_object(); ar.tag(variant_serialization_traits, T>::get_tag()); serializer, T>::serialize(ar, v); ar.end_object(); ar.stream() << std::endl; } };