Stratax 0.2.0
Loading...
Searching...
No Matches
Meta

Meta

Version: v0.2.0

Status: Complete

Header: include/stratax/core/Meta.hpp


Overview

Meta.hpp defines preprocessor metadata macros describing the Stratax project and Python binding surface.

The file currently exposes version, bindings description, and author metadata.


Responsibilities

The meta module is responsible for:

  • Publishing project metadata at preprocess time
  • Providing a canonical version string macro
  • Providing basic author and bindings description macros

The meta module is not responsible for:

  • Semantic version parsing logic
  • Runtime metadata registries
  • Build-time compatibility checks

Relationships

Meta.hpp
|- STRATAX_VERSION
|- STRATAX_PY_DOC
`- STRATAX_AUTHOR

Used by:

  • Build/banner output
  • Binding metadata exposure
  • Documentation/version stamping

Invariants

The following conditions are always true:

  • Metadata values are macro string literals.
  • Macros are available after including the header.
  • No runtime storage or initialization is required.

Public Interface

#define STRATAX_VERSION "0.2.0"
#define STRATAX_PY_DOC "Python bindings for Stratax"
#define STRATAX_AUTHOR "Noah Ryan"

Complexity Summary

Operation Complexity
Macro expansion Compile-time only
Runtime overhead O(0)

Examples

#include <stratax/core/Meta.hpp>
static_assert(sizeof(STRATAX_VERSION) > 1);

Design Notes

The metadata is intentionally minimal and macro-based for easy reuse in C++ and binding generation contexts.


Future Improvements

  • Add machine-readable version components (major/minor/patch)
  • Consider constexpr alternatives alongside macros

See Also