2#ifndef LIBSBX_IO_CONCEPTS_HPP_
3#define LIBSBX_IO_CONCEPTS_HPP_
10template<
typename Type,
typename Serializer>
11concept serializable =
requires(Serializer& serializer,
const Type& value) {
12 { serializer << value } -> std::same_as<Serializer&>;
15template<
typename Type,
typename Deserializer>
16concept deserializable =
requires(Deserializer& deserializer, Type& value) {
17 { deserializer >> value } -> std::same_as<Deserializer&>;