1 #ifndef _library__integer_pool__hpp__included__
2 #define _library__integer_pool__hpp__included__
13 integer_pool() throw();
17 ~integer_pool() throw();
19 * Draw a number from the pool.
21 * Returns: The number drawn.
22 * Throws std::bad_alloc: Not enough memory.
24 uint64_t operator()() throw(std::bad_alloc
);
26 * Return a number into the pool.
28 * Parameter num: The number to return.
30 void operator()(uint64_t num
) throw();
32 * Temporarily hold an integer.
38 * Allocate an integer.
40 holder(integer_pool
& _pool
)
54 * Grab the integer without transferring ownership.
56 * Returns: The integer.
63 * Transfer the ownership.
65 * Returns: The integer.
73 holder(const holder
&);
74 holder
& operator=(const holder
&);
80 std::vector
<uint8_t> _bits
;