Files
rippled/include/xrpl/basics
Pratik Mankawde 02c9830184 fix: Add Doxygen docs and remove temporary CI filter
- Add Doxygen documentation to new methods, members, constants, and
  macros introduced by the TSAN/ASAN PR (Database::startReadThreads,
  BasicApp::DeferStart, ResourceManager::start, XRPL_SANITIZER_ACTIVE,
  coroStackSize, yieldStackSize)
- Add @note thread-safety tags where atomics were introduced
- Update Database constructor docs to reflect deferred thread startup
- Remove temporary CI filter that restricted builds to sanitizer-only
  variants (must run full matrix before merge)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 10:46:16 +00: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.
  • xrpl::hash_set

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

The following container is deprecated

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