Bienvenue sur la nouvelle documentation de CppUtils !
Concepts
CONCEPTSNamespace: CppUtils::Type
Concepts publics
Section intitulée « Concepts publics »template<class T>concept Serializable = requires (const T& value, std::vector<std::byte>& buffer, std::span<const std::byte>& view) { { serialize(value, buffer) } -> std::same_as<void>; { deserialize<std::remove_cvref_t<T>>(view) } -> std::same_as<std::expected<std::remove_cvref_t<T>, std::string_view>>; };template<class Range>concept SizedRandomAccessRange = std::ranges::random_access_range<Range> and std::ranges::sized_range<Range>;Concept satisfied if a type is both a random-access range and a sized range.
template<class T>concept TextSerializable = requires (const T& value, std::string& buffer) { { Text::Serializer<std::remove_cvref_t<T>>::serialize(value, buffer) } -> std::same_as<void>; { Text::Serializer<std::remove_cvref_t<T>>::deserialize(std::string_view{buffer}) } -> std::same_as<std::expected<std::remove_cvref_t<T>, std::string_view>>; };