rngqueue.hpp 600 B

123456789101112131415161718192021222324252627282930
  1. #ifndef RNGQUEUE_HPP
  2. #define RNGQUEUE_HPP
  3. #include <vector>
  4. #include "i_rng_pool.hpp"
  5. using namespace std;
  6. /**
  7. @brief Provides a never ending queue of random numbers
  8. @author Frank Michler,,, <frank@pc13365>
  9. */
  10. class RngQueue : public IRngQueue
  11. {
  12. public:
  13. RngQueue(IRngQueuePool* _RngPool, vector<double>* _FreshRandomNumbers);
  14. ~RngQueue();
  15. double getRandomNumber();
  16. private:
  17. void getFreshNumbers();
  18. IRngQueuePool* mRngQueuePool;
  19. vector<double>* mRngNumberVector;
  20. vector<double>::iterator mVectorIter, mVectorEnd;
  21. int mVecSize;
  22. int mVecPos;
  23. };
  24. #endif