# mxrfp/dynamic-type-system-in-c- architecture

> Architecture diagram of the GitHub repository mxrfp/dynamic-type-system-in-c-, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mxrfp/dynamic-type-system-in-c-
- Repository: https://github.com/mxrfp/dynamic-type-system-in-c-

## Overview

This is a header-only C++ dynamic type system. A caller wraps values in `Type`, applies overloaded operators, and receives dynamically resolved results; built-ins provide conversions, introspection, and console I/O. The graph also shows the polymorphic object model and pool-backed lifetime management. Dispatch and helper relationships are grounded in excerpts or README statements; unsampled modules are included where the README or source index identifies their role, without inferring unshown calls.

Main entry points: [`raw_objs/MemPool.h`](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/MemPool.h) (Memory pool), [`raw_objs/dtypes.h`](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/dtypes.h) (Object model), [`functions.h`](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/functions.h) (Built-in functions), [`raw_objs/intObj.h`](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/intObj.h) (Integer values)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_api["Public API"]
  node_type_api["Type headers<br/>[TypeAll.h]"]
  node_builtins["Built-in functions<br/>[functions.h]"]
end

subgraph group_values["Dynamic Values"]
  node_integer["Integer values<br/>[intObj.h]"]
  node_floating["Float values<br/>[floatObj.h]"]
  node_strings["String values<br/>[stringObj.h]"]
  node_booleans["Boolean values<br/>[boolObj.h]"]
  node_none["None value<br/>[NoneObj.h]"]
end

subgraph group_runtime["Runtime Support"]
  node_wrapper["Type wrapper<br/>[pointer_wrapper.h]"]
  node_object_model["Object model<br/>[dtypes.h]"]
  node_pool[("Memory pool<br/>[MemPool.h]")]
  node_operations["Operation helpers<br/>[basic_operations.h]"]
  node_limits["String limit<br/>[sys_vars.h]"]
end

node_user(("C++ caller"))

node_user -->|"uses"| node_type_api
node_user -->|"calls"| node_builtins
node_type_api -->|"exposes"| node_wrapper
node_builtins -->|"returns"| node_wrapper
node_builtins -->|"allocates results"| node_pool
node_builtins -->|"returns sentinel"| node_none
node_wrapper -->|"invokes operations"| node_object_model
node_wrapper -->|"copies and releases"| node_pool
node_pool -->|"allocates objects"| node_object_model
node_integer -->|"implements dispatch"| node_object_model
node_floating -->|"implements dispatch"| node_object_model
node_strings -->|"implements dispatch"| node_object_model
node_booleans -->|"implements dispatch"| node_object_model
node_integer -->|"creates results"| node_pool
node_floating -->|"creates results"| node_pool
node_strings -->|"creates results"| node_pool
node_booleans -->|"creates results"| node_pool
node_integer -->|"uses helpers"| node_operations
node_floating -->|"uses helpers"| node_operations
node_strings -->|"uses helpers"| node_operations
node_integer -->|"checks limit"| node_limits
node_floating -->|"uses limit"| node_limits
node_strings -->|"checks limit"| node_limits
node_builtins -->|"reads and updates"| node_limits

click node_type_api "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/TypeAll.h"
click node_builtins "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/functions.h"
click node_wrapper "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/pointer_wrapper.h"
click node_object_model "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/dtypes.h"
click node_integer "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/intObj.h"
click node_floating "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/floatObj.h"
click node_strings "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/stringObj.h"
click node_booleans "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/boolObj.h"
click node_none "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/NoneObj.h"
click node_pool "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/MemPool.h"
click node_operations "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/basic_operations.h"
click node_limits "https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/sys_vars.h"

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_type_api,node_builtins toneBlue
class node_integer,node_floating,node_strings,node_booleans,node_none toneAmber
class node_wrapper,node_object_model,node_pool,node_operations,node_limits toneMint
class node_user toneIndigo
```

## Components

### Public API

- [Type headers](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/TypeAll.h): `TypeAll.h`
- [Built-in functions](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/functions.h): `functions.h`

### Dynamic Values

- [Integer values](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/intObj.h): `raw_objs/intObj.h`
- [Float values](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/floatObj.h): `raw_objs/floatObj.h`
- [String values](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/stringObj.h): `raw_objs/stringObj.h`
- [Boolean values](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/boolObj.h): `raw_objs/boolObj.h`
- [None value](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/NoneObj.h): `raw_objs/NoneObj.h`

### Runtime Support

- [Type wrapper](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/pointer_wrapper.h): `raw_objs/pointer_wrapper.h`
- [Object model](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/dtypes.h): `raw_objs/dtypes.h`
- [Memory pool](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/MemPool.h): `raw_objs/MemPool.h`
- [Operation helpers](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/basic_operations.h): `raw_objs/basic_operations.h`
- [String limit](https://github.com/mxrfp/dynamic-type-system-in-c-/blob/main/raw_objs/sys_vars.h): `raw_objs/sys_vars.h`

### Other components

- **C++ caller**

## Connections

- C++ caller → Type headers: uses (evidence: `README.md`)
- C++ caller → Built-in functions: calls (evidence: `README.md`)
- Type headers → Type wrapper: exposes (evidence: `README.md`)
- Built-in functions → Type wrapper: returns (evidence: `functions.h`)
- Built-in functions → Memory pool: allocates results (evidence: `functions.h`)
- Built-in functions → None value: returns sentinel (evidence: `functions.h`)
- Type wrapper → Object model: invokes operations (evidence: `raw_objs/pointer_wrapper.h`)
- Type wrapper → Memory pool: copies and releases (evidence: `raw_objs/pointer_wrapper.h`)
- Memory pool → Object model: allocates objects (evidence: `raw_objs/MemPool.h`)
- Integer values → Object model: implements dispatch (evidence: `raw_objs/intObj.h`)
- Float values → Object model: implements dispatch (evidence: `raw_objs/floatObj.h`)
- String values → Object model: implements dispatch (evidence: `raw_objs/stringObj.h`)
- Boolean values → Object model: implements dispatch (evidence: `raw_objs/boolObj.h`)
- Integer values → Memory pool: creates results (evidence: `raw_objs/intObj.h`)
- Float values → Memory pool: creates results (evidence: `raw_objs/floatObj.h`)
- String values → Memory pool: creates results (evidence: `raw_objs/stringObj.h`)
- Boolean values → Memory pool: creates results (evidence: `raw_objs/boolObj.h`)
- Integer values → Operation helpers: uses helpers (evidence: `raw_objs/intObj.h`)
- Float values → Operation helpers: uses helpers (evidence: `raw_objs/floatObj.h`)
- String values → Operation helpers: uses helpers (evidence: `raw_objs/stringObj.h`)
- Integer values → String limit: checks limit (evidence: `raw_objs/intObj.h`)
- Float values → String limit: uses limit (evidence: `raw_objs/floatObj.h`)
- String values → String limit: checks limit (evidence: `raw_objs/stringObj.h`)
- Built-in functions → String limit: reads and updates (evidence: `functions.h`)
