Files
xahaud/src/ripple/basics
Nik Bougalis 40363f96a9 Generic PRNG framework:
* A new, unified interface for generating random numbers and
  filling buffers supporting any engine that fits the
  UniformRandomNumberGenerator concept;
* Automatically seeded replacement for rand using the fast
  xorshift+ PRNG engine;
* A CSPRNG engine that can be used with the new framework
  when needing to to generate cryptographically secure
  randomness.
* Unit test cleanups to work with new engine.
2016-01-12 18:45:35 -08:00
..
2016-01-12 16:06:18 -08:00
2015-06-25 11:17:09 -07:00
2015-05-22 11:09:50 -07:00
2015-10-13 17:15:45 -07:00
2015-02-02 17:01:17 -08:00
2015-12-29 12:38:21 -05:00
2015-10-13 17:15:45 -07:00
2015-05-22 11:09:50 -07:00
2015-10-20 11:35:24 -04:00
2015-05-22 11:09:50 -07:00
2015-10-13 17:15:45 -07:00
2016-01-12 18:45:35 -08:00
2015-10-13 17:15:45 -07:00
2015-05-22 11:09:50 -07:00
2015-09-03 12:09:44 -07:00
2015-06-02 16:52:22 -07:00
2015-09-25 06:29:07 -07:00
2015-07-13 16:38:39 -07:00
2015-01-05 11:46:11 -08:00
2015-03-02 16:49:56 -05:00

Basics

Utility functions and classes.

ripple/basic should contain no dependencies on other modules.

Choosing a rippled container.

  • std::vector

    • For ordered containers with most insertions or erases at the end.
  • std::deque

    • For ordered containers with most insertions or erases at the start or end.
  • std::list

    • For ordered containers with inserts and erases to the middle.
    • For containers with iterators stable over insert and erase.
    • Generally slower and bigger than std::vector or std::deque except for those cases.
  • std::set

    • For sorted containers.
  • ripple::hash_set

    • Where inserts and contains need to be O(1).
    • For "small" sets, std::set might be faster and smaller.
  • ripple::hardened_hash_set

The following container is deprecated

  • std::unordered_set
  • Use ripple::hash_set instead, which uses a better hashing algorithm.
  • Or use ripple::hardened_hash_set to prevent algorithmic complexity attacks.