Nothrow Architecture
status: draft
security: NO
safety: ASIL_B

Nothrow Component Architecture#

Overview#

score::nothrow is organized into three main areas:

  • memory resources and allocators, including MemoryResource, PolymorphicAllocator, and MonotonicBufferResource

  • pointer-slot abstractions that control how persisted container pointers are stored

  • container implementations such as Vector and Map that use the nothrow allocation model

Design Principles#

The component preserves standard-library naming and behavior where possible, but replaces exception-based allocation failure with explicit result-returning or aborting APIs.

Persistent container state is parameterized through pointer-slot policies so that storage of internal links and buffer pointers can be adapted without changing container algorithms.

Dependencies#

The component depends on existing baselibs building blocks, most notably score::Result for error propagation. It also follows repository-wide toolchain and quality settings defined in the local Bazel targets.

Detailed design notes remain in score/nothrow/README.md and the component’s source files while this architecture document is being expanded.