Files
rippled/include/xrpl/basics
Ed Hennis 629f3f50d7 Merge remote-tracking branch 'XRPLF/ximinez/develop-nolending' into ximinez/lending-XLS-66-2
* XRPLF/ximinez/develop-nolending:
  refactor: Rename `ripple` namespace to `xrpl` (5982)
  refactor: Move JobQueue and related classes into xrpl.core module (6121)
  refactor: Rename `rippled` binary to `xrpld` (5983)
  refactor: rename info() to header() (6138)
  refactor: rename `LedgerInfo` to `LedgerHeader` (6136)
  refactor: clean up `RPCHelpers` (5684)
  chore: Fix docs readme and cmake (6122)
  chore: Clean up .gitignore and .gitattributes (6001)
  chore: Use updated secp256k1 recipe (6118)
2025-12-11 16:45:47 -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.
  • 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.