|
2 | 2 |
|
3 | 3 | #include <immer/extra/archive/errors.hpp>
|
4 | 4 | #include <immer/extra/archive/json/json_immer.hpp>
|
| 5 | +#include <immer/extra/archive/json/json_immer_auto.hpp> |
5 | 6 | #include <immer/extra/archive/json/json_with_archive.hpp>
|
6 | 7 | #include <immer/extra/archive/traits.hpp>
|
7 | 8 |
|
@@ -98,6 +99,13 @@ auto save_minimal(
|
98 | 99 | return id.value;
|
99 | 100 | }
|
100 | 101 |
|
| 102 | +template <class Archive, class WrapF, class Container> |
| 103 | +auto save_minimal(const json_immer_auto_output_archive<Archive, WrapF>& ar, |
| 104 | + const archivable<Container>& value) |
| 105 | +{ |
| 106 | + return save_minimal(ar.previous, value); |
| 107 | +} |
| 108 | + |
101 | 109 | // This function must exist because cereal does some checks and it's not
|
102 | 110 | // possible to have only load_minimal for a type without having save_minimal.
|
103 | 111 | template <class Storage, class Names, class Container>
|
@@ -140,7 +148,8 @@ template <class Archive, class Container>
|
140 | 148 | auto save_minimal(const Archive& ar, const archivable<Container>& value) ->
|
141 | 149 | typename container_traits<Container>::container_id::rep_t
|
142 | 150 | {
|
143 |
| - throw std::logic_error{"Should never be called"}; |
| 151 | + throw std::logic_error{ |
| 152 | + "Should never be called. save_minimal(const Archive& ar..."}; |
144 | 153 | }
|
145 | 154 |
|
146 | 155 | template <class Archive, class Container>
|
|
0 commit comments