Files
xahaud/src/ripple/basics
Scott Schurr ce9238b389 Remove beast::Thread (RIPD-1189):
All uses of beast::Thread were previously removed from the code
base, so beast::Thread is removed.  One piece of beast::Thread
needed to be preserved: the ability to set the current thread's
name.  So there's now a beast::CurrentThreadName that allows the
current thread's name to be set and returned.

Thread naming is also cleaned up a bit.  ThreadName.h and .cpp
are removed since beast::CurrentThreadName does a better job.
ThreadEntry is also removed, but its terminateHandler() is
preserved in TerminateHandler.cpp.  The revised terminateHandler()
uses beast::CurrentThreadName to recover the name of the running
thread.

Finally, the NO_LOG_UNHANDLED_EXCEPTIONS #define is removed since
it was discovered that the MacOS debugger preserves the stack
of the original throw even if the terminateHandler() rethrows.
2017-03-01 11:43:59 -05:00
..
2017-03-01 11:43:59 -05:00
2017-02-07 18:59:56 -05:00
2015-05-22 11:09:50 -07:00
2016-09-29 16:28:37 -07:00
2015-10-13 17:15:45 -07:00
2015-05-22 11:09:50 -07:00
2016-04-20 12:01:25 -04:00
2016-04-20 12:01:25 -04:00
2017-01-13 15:01:20 -08:00
2015-10-13 17:15:45 -07:00
2015-06-02 16:52:22 -07:00
2015-09-25 06:29:07 -07:00
2016-04-20 12:01:25 -04:00
2015-03-02 16:49:56 -05:00
2016-04-20 12:01:25 -04: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.