Files
xahaud/include/xrpl/basics
Nicholas Dudfield b8c80c51db fix: resolve boost 1.88 cherry-pick conflicts, drop remaining io_service uses
Resolves the 28 conflicts from cherry-picking XRPLF/rippled 1506e65558
(#5570) onto origin/dev:

- io_service -> io_context everywhere upstream renamed it, keeping the
  xahaud-only code around those lines (UDP door in ServerImpl, sticky
  endpoint selection in WorkBase with bind_executor instead of
  strand.wrap, useSqLiteStore in PeerfinderManager, RPCSub after #677).
- src/xrpld/rpc/detail/RPCSub.cpp (upstream path) dropped; xahaud's copy
  lives at src/xrpld/net/detail/RPCSub.cpp and its local io_service is
  renamed there.
- conanfile.py: boost/1.88.0 in xahaud's override form, without_cobalt on
  gcc/clang; boost::boost kept.
- Boost 1.88 removes the io_service typedef and address::from_string and
  makes Boost.Process v2 the default: the #677 tests move to io_context,
  executor_work_guard and make_address; Main.cpp includes the v1 process
  headers it already uses instead of the umbrella.

Not yet compiled.
2026-09-16 09:08:21 +07:00
..
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 08:09:43 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:26:21 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09:00
2026-02-20 07:11:13 +09:00
2026-02-20 07:11:12 +09: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.