15 #include <type_traits> 19 #if SEQAN3_WITH_CEREAL 20 #include <cereal/details/traits.hpp> 21 #include <cereal/archives/binary.hpp> 38 #if SEQAN3_WITH_CEREAL 41 SEQAN3_CONCEPT CerealOutputArchive = std::is_base_of_v<cereal::detail::OutputArchiveBase, t>;
44 SEQAN3_CONCEPT CerealOutputArchive =
false;
59 #if SEQAN3_WITH_CEREAL 62 SEQAN3_CONCEPT CerealInputArchive = std::is_base_of_v<cereal::detail::InputArchiveBase, t>;
65 SEQAN3_CONCEPT CerealInputArchive =
false;
76 #if SEQAN3_WITH_CEREAL 79 SEQAN3_CONCEPT CerealArchive = CerealOutputArchive<t> || CerealInputArchive<t>;
82 SEQAN3_CONCEPT CerealArchive =
false;
97 #if SEQAN3_WITH_CEREAL 100 SEQAN3_CONCEPT CerealTextArchive = std::is_base_of_v<cereal::traits::TextArchive, t>;
102 template <
typename t>
103 SEQAN3_CONCEPT CerealTextArchive =
false;
136 #if SEQAN3_WITH_CEREAL 138 template <
typename value_t,
139 typename input_archive_t = cereal::BinaryInputArchive,
140 typename output_archive_t = cereal::BinaryOutputArchive>
141 SEQAN3_CONCEPT Cerealisable =
142 cereal::traits::is_input_serializable<value_t, input_archive_t>::value &&
143 cereal::traits::is_output_serializable<value_t, output_archive_t>::value;
145 template <
typename value_t,
146 typename input_archive_t = void,
147 typename output_archive_t =
void>
148 SEQAN3_CONCEPT Cerealisable =
false;
161 #if SEQAN3_WITH_CEREAL 162 template <
typename type>
163 using strip_cereal_wrapper_t =
typename cereal::traits::strip_minimal<std::decay_t<type>>::type;
165 template <
typename type>
166 using strip_cereal_wrapper_t = type;
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:35