How mxrfp/dynamic-type-system-in-c- works
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: MemPool.h Memory pool · dtypes.h Object model · functions.h Built-in functions · intObj.h Integer values
Components 13
Public API
- Type headers
TypeAll.h - Built-in functions
functions.h
Dynamic Values
- Integer values
raw_objs/intObj.h - Float values
raw_objs/floatObj.h - String values
raw_objs/stringObj.h - Boolean values
raw_objs/boolObj.h - None value
raw_objs/NoneObj.h
Runtime Support
- Type wrapper
raw_objs/pointer_wrapper.h - Object model
raw_objs/dtypes.h - Memory pool
raw_objs/MemPool.h - Operation helpers
raw_objs/basic_operations.h - String limit
raw_objs/sys_vars.h
Other components
- C++ caller
Connections 24
- C++ caller → Type headers: uses
README.md - C++ caller → Built-in functions: calls
README.md - Type headers → Type wrapper: exposes
README.md - Built-in functions → Type wrapper: returns
functions.h - Built-in functions → Memory pool: allocates results
functions.h - Built-in functions → None value: returns sentinel
functions.h - Type wrapper → Object model: invokes operations
raw_objs/pointer_wrapper.h - Type wrapper → Memory pool: copies and releases
raw_objs/pointer_wrapper.h - Memory pool → Object model: allocates objects
raw_objs/MemPool.h - Integer values → Object model: implements dispatch
raw_objs/intObj.h - Float values → Object model: implements dispatch
raw_objs/floatObj.h - String values → Object model: implements dispatch
raw_objs/stringObj.h - Boolean values → Object model: implements dispatch
raw_objs/boolObj.h - Integer values → Memory pool: creates results
raw_objs/intObj.h - Float values → Memory pool: creates results
raw_objs/floatObj.h - String values → Memory pool: creates results
raw_objs/stringObj.h - Boolean values → Memory pool: creates results
raw_objs/boolObj.h - Integer values → Operation helpers: uses helpers
raw_objs/intObj.h - Float values → Operation helpers: uses helpers
raw_objs/floatObj.h - String values → Operation helpers: uses helpers
raw_objs/stringObj.h - Integer values → String limit: checks limit
raw_objs/intObj.h - Float values → String limit: uses limit
raw_objs/floatObj.h - String values → String limit: checks limit
raw_objs/stringObj.h - Built-in functions → String limit: reads and updates
functions.h