#pragma once #ifndef RAND_H #define RAND_H #include #include struct IPRangeHolder { unsigned int ip1; unsigned int ip2; }; class IPRandomizer { private: std::vector ipRangeVec; std::vector shuffledRange; std::vector shuffleOffset; int shuffleGap = 20000; private: void shuffleRange(); public: IPRandomizer(std::vector ipRangeVec, int shuffleGap = 20000); IPRandomizer(std::vector ipRangeVec); ~IPRandomizer(); unsigned int getNext(); }; #endif