# nuo534202/nuostl architecture

> Architecture diagram of the GitHub repository nuo534202/nuostl, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/nuo534202/nuostl
- Repository: https://github.com/nuo534202/nuostl

## Overview

NuoSTL is a header-oriented C++ library rebuilding common STL facilities, with Fraction as an additional component. A typical user includes the umbrella header, then works directly with containers, algorithms, and utility types. The graph preserves the documented component families; sampled source confirms selected utility dependencies and Fraction’s use of math helpers, but does not establish wiring among most unsampled components.

Main entry points: [`include/core/assoc_cont`](https://github.com/nuo534202/nuostl/tree/main/include/core/assoc_cont) (Associative containers), [`include/nuostl.hpp`](https://github.com/nuo534202/nuostl/blob/main/include/nuostl.hpp) (Umbrella header), [`include/core/algorithms`](https://github.com/nuo534202/nuostl/tree/main/include/core/algorithms) (Algorithms), [`include/core/seq_cont`](https://github.com/nuo534202/nuostl/tree/main/include/core/seq_cont) (Sequence containers)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Public interface"]
  node_facade["Umbrella header<br/>[nuostl.hpp]"]
end

subgraph group_core["Core data structures"]
  node_pair["Pair type<br/>[nuo_pair.hpp]"]
  node_sequence["Sequence containers"]
  node_associative["Associative containers"]
end

subgraph group_algorithms["Algorithms"]
  node_algorithms_api["Algorithms"]
end

subgraph group_support["Shared utilities"]
  node_iterator["Iterator support<br/>[nuo_iterator.hpp]"]
  node_allocator["Allocation support<br/>[nuo_allocator.hpp]"]
  node_functional["Function objects<br/>[nuo_functional.hpp]"]
  node_type_traits["Type traits"]
  node_utilities["Utility operations<br/>[nuo_util.hpp]"]
  node_exception["Exception helpers<br/>[nuo_exceptdef.hpp]"]
  node_math["Math helpers<br/>[nuo_math.hpp]"]
end

subgraph group_extras["Extra components"]
  node_fraction["Fraction<br/>[nuo_fraction.hpp]"]
end

node_user(("C++ consumer"))

node_user -->|"includes"| node_facade
node_facade -->|"includes"| node_pair
node_facade -->|"includes"| node_sequence
node_facade -->|"includes"| node_associative
node_facade -->|"includes"| node_algorithms_api
node_facade -->|"includes"| node_fraction
node_user -->|"uses"| node_sequence
node_user -->|"uses"| node_associative
node_user -->|"uses"| node_algorithms_api
node_user -->|"uses"| node_fraction
node_associative -->|"uses"| node_pair
node_associative -->|"allocates"| node_allocator
node_associative -->|"uses"| node_functional
node_associative -->|"uses"| node_iterator
node_associative -->|"uses"| node_utilities
node_sequence -->|"uses"| node_iterator
node_algorithms_api -->|"dispatches via"| node_iterator
node_algorithms_api -->|"uses"| node_utilities
node_fraction -->|"calls"| node_math

click node_facade "https://github.com/nuo534202/nuostl/blob/main/include/nuostl.hpp"
click node_pair "https://github.com/nuo534202/nuostl/blob/main/include/core/data_types/nuo_pair.hpp"
click node_sequence "https://github.com/nuo534202/nuostl/tree/main/include/core/seq_cont"
click node_associative "https://github.com/nuo534202/nuostl/tree/main/include/core/assoc_cont"
click node_algorithms_api "https://github.com/nuo534202/nuostl/tree/main/include/core/algorithms"
click node_iterator "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_iterator.hpp"
click node_allocator "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_allocator.hpp"
click node_functional "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_functional.hpp"
click node_type_traits "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_type_traits.hpp"
click node_utilities "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_util.hpp"
click node_exception "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_exceptdef.hpp"
click node_math "https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_math.hpp"
click node_fraction "https://github.com/nuo534202/nuostl/blob/main/include/extra/nuo_fraction.hpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_facade toneBlue
class node_pair,node_sequence,node_associative toneAmber
class node_algorithms_api toneMint
class node_iterator,node_allocator,node_functional,node_type_traits,node_utilities,node_exception,node_math toneRose
class node_fraction,node_user toneIndigo
```

## Components

### Public interface

- [Umbrella header](https://github.com/nuo534202/nuostl/blob/main/include/nuostl.hpp): `include/nuostl.hpp`

### Core data structures

- [Pair type](https://github.com/nuo534202/nuostl/blob/main/include/core/data_types/nuo_pair.hpp): `include/core/data_types/nuo_pair.hpp`
- [Sequence containers](https://github.com/nuo534202/nuostl/tree/main/include/core/seq_cont): `include/core/seq_cont`
- [Associative containers](https://github.com/nuo534202/nuostl/tree/main/include/core/assoc_cont): `include/core/assoc_cont`

### Algorithms

- [Algorithms](https://github.com/nuo534202/nuostl/tree/main/include/core/algorithms): `include/core/algorithms`

### Shared utilities

- [Iterator support](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_iterator.hpp): `include/utils/nuo_iterator.hpp`
- [Allocation support](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_allocator.hpp): `include/utils/nuo_allocator.hpp`
- [Function objects](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_functional.hpp): `include/utils/nuo_functional.hpp`
- [Type traits](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_type_traits.hpp): `include/utils/nuo_type_traits.hpp`
- [Utility operations](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_util.hpp): `include/utils/nuo_util.hpp`
- [Exception helpers](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_exceptdef.hpp): `include/utils/nuo_exceptdef.hpp`
- [Math helpers](https://github.com/nuo534202/nuostl/blob/main/include/utils/nuo_math.hpp): `include/utils/nuo_math.hpp`

### Extra components

- [Fraction](https://github.com/nuo534202/nuostl/blob/main/include/extra/nuo_fraction.hpp): `include/extra/nuo_fraction.hpp`

### Other components

- **C++ consumer**

## Connections

- C++ consumer → Umbrella header: includes
- Umbrella header → Pair type: includes
- Umbrella header → Sequence containers: includes
- Umbrella header → Associative containers: includes
- Umbrella header → Algorithms: includes
- Umbrella header → Fraction: includes
- C++ consumer → Sequence containers: uses
- C++ consumer → Associative containers: uses
- C++ consumer → Algorithms: uses
- C++ consumer → Fraction: uses
- Associative containers → Pair type: uses
- Associative containers → Allocation support: allocates
- Associative containers → Function objects: uses
- Associative containers → Iterator support: uses
- Associative containers → Utility operations: uses
- Sequence containers → Iterator support: uses
- Algorithms → Iterator support: dispatches via
- Algorithms → Utility operations: uses
- Fraction → Math helpers: calls
