25#if defined(HAVE_ASIO_RESOLVER_RESULTS_DATA)
27template <
typename RESULTS>
30 auto *
data = results.data();
33 std::shuffle(
data->begin(),
data->end(), prng);
36template <
typename RESULTS>
39 auto *
data = results.data();
57 data->erase(std::remove_if(
data->begin(),
60 { return e.endpoint().address().is_v4() != v4; }),
64#elif defined(ASIO_RESOLVER_RESULTS_DATA_REQUIRED)
65#error ASIO_RESOLVER_RESULTS_DATA_REQUIRED is defined but Asio results data are not available
68template <
typename RESULTS>
73template <
typename RESULTS>
Abstract base class for random number generators.
Data data(const void *bytes, CFIndex length)
void randomize_results(RESULTS &results, RandomAPI &prng)
void filter_by_ip_version(RESULTS &results, const IP::Addr::Version ip_ver)
Implementation of the base classes for random number generators.