|
| | Bounded_XOF () |
| | Bounded_XOF (XofT xof) |
template<size_t bytes, typename MapFnT = decltype(default_transformer<bytes>), typename PredicateFnT = decltype(default_predicate<bytes, MappedValueT<bytes, MapFnT>>)>
requires std::invocable<MapFnT, std::array<uint8_t, bytes>> && std::invocable<PredicateFnT, MappedValueT<bytes, MapFnT>> |
| constexpr auto | next (const MapFnT &transformer=default_transformer< bytes >, const PredicateFnT &predicate=default_predicate< bytes, MappedValueT< bytes, MapFnT > >) |
template<typename PredicateFnT = decltype(default_predicate<1, uint8_t>)>
requires std::invocable<PredicateFnT, uint8_t> |
| constexpr auto | next_byte (PredicateFnT &&predicate=default_predicate< 1, uint8_t >) |
template<typename XofT, size_t bound>
requires requires(XofT xof) { { xof.template output<1>() } -> std::convertible_to<std::span<const uint8_t, 1>>; { xof.template output<42>() } -> std::convertible_to<std::span<const uint8_t, 42>>; }
class Botan::detail::Bounded_XOF< XofT, bound >
Wraps any XOF to limit the number of bytes that can be produced to bound. When the bound is reached, the XOF will throw an Internal_Error.
Definition at line 152 of file pqcrystals_helpers.h.
template<typename XofT, size_t bound>
template<size_t bytes, typename MapFnT = decltype(default_transformer<bytes>), typename PredicateFnT = decltype(default_predicate<bytes, MappedValueT<bytes, MapFnT>>)>
requires std::invocable<MapFnT, std::array<uint8_t, bytes>> && std::invocable<PredicateFnT, MappedValueT<bytes, MapFnT>>
Pulls the next bytes from the XOF and applies transformer to the output. The result is returned if predicate is fulfilled.
- Returns
- the transformed output of the XOF that fulfills
predicate.
Definition at line 194 of file pqcrystals_helpers.h.
195 {
196 while(true) {
200 }
201 }
202 }