Files
rippled/include/xrpl/basics
Ed Hennis 62d0b07ee8 Merge remote-tracking branch 'XRPLF/develop' into ximinez/number-maxint-range
* XRPLF/develop: (81 commits)
  ci: Only publish docs in public repos (6687)
  chore: Enable remaining clang-tidy `performance` checks (6648)
  refactor: Address PR comments after the modularisation PRs (6389)
  chore: Fix clang-tidy header filter (6686)
  ci: [DEPENDABOT] bump actions/deploy-pages from 4.0.5 to 5.0.0 (6684)
  ci: [DEPENDABOT] bump codecov/codecov-action from 5.5.3 to 6.0.0 (6685)
  fix: Guard Coro::resume() against completed coroutines (6608)
  refactor: Split LoanInvariant into LoanBrokerInvariant and LoanInvariant (6674)
  ci: Don't publish docs on release branches (6673)
  refactor: Make function naming in ServiceRegistry consistent (6390)
  chore: Shorten job names to stay within Linux 15-char thread limit (6669)
  fix: Improve loan invariant message (6668)
  ci: Upload artifacts only in public repositories (6670)
  ci: Add conflicting-pr workflow (6656)
  chore: Add more AI tools to .gitignore (6658)
  chore: Show warning message if user may need to connect to VPN (6619)
  feat: Add placeholder amendment for assorted bug fixes (6652)
  chore: Update sqlite3->3.51.0, protobuf->6.33.5, openssl->3.6.1, grpc->1.78.1 (6653)
  refactor: Modularise ledger (6536)
  chore: Use unpatched version of soci (6649)
  ...
2026-03-30 22:01:54 -04:00
..
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-25 20:37:22 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -05:00
2026-02-20 13:29:51 -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.