7#ifndef IP_RANGE_PERMUTATION_H
8#define IP_RANGE_PERMUTATION_H
14#include <boost/shared_ptr.hpp>
132 std::map<isc::util::uint128_t, asiolink::IOAddress> state_;
138 std::mt19937 generator_;
The IOAddress class represents an IP addresses (version agnostic)
Random IP address/prefix permutation based on Fisher-Yates shuffle.
asiolink::IOAddress next(bool &done)
Returns next random address or prefix from the permutation.
void reset()
Resets the permutation state.
IPRangePermutation(const AddressRange &range)
Constructor for address ranges.
bool exhausted() const
Checks if the range has been exhausted.
boost::shared_ptr< IPRangePermutation > IPRangePermutationPtr
Pointer to the IPRangePermutation.
boost::multiprecision::checked_uint128_t uint128_t
Defines the logger used by the top-level component of kea-lfc.
Structure representing IP address range.
Structure representing delegated prefix range.