Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
CoreTypes.hpp File Reference

Core type definitions, concepts, and configuration for Icarus. More...

#include <concepts>
#include <cstdint>
#include <string>
#include <janus/core/JanusConcepts.hpp>
#include <janus/core/JanusTypes.hpp>
Include dependency graph for CoreTypes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  icarus::RunConfig
 Run configuration for Stage phase. More...

Namespaces

namespace  icarus

Concepts

concept  icarus::IcarusScalar
 Alias for Icarus-specific documentation.
concept  icarus::ComponentType
 Concept for types that can serve as Icarus components.
concept  icarus::ExtendedComponent
 Concept for components with optional extended hooks.

Macros

#define ICARUS_VERSION_MAJOR   0
#define ICARUS_VERSION_MINOR   6
#define ICARUS_VERSION_PATCH   0
#define ICARUS_STRINGIFY(x)
#define ICARUS_VERSION_STR(major, minor, patch)
#define ICARUS_ASSERT(cond, msg)
#define ICARUS_DEBUG_ONLY(code)
#define ICARUS_ASSERT_PTR(ptr, context)
#define ICARUS_ASSERT_LIFECYCLE(lifecycle, required, operation)

Enumerations

enum class  icarus::Lifecycle : uint8_t {
  icarus::Uninitialized , icarus::Provisioned , icarus::Staged , icarus::Running ,
  icarus::Paused , icarus::Completed , icarus::Error
}
 Simulation lifecycle phases. More...

Functions

constexpr int icarus::VersionMajor ()
 Major version number.
constexpr int icarus::VersionMinor ()
 Minor version number.
constexpr int icarus::VersionPatch ()
 Patch version number.
constexpr const char * icarus::Version ()
 Version string (derived from components).
std::string icarus::MakeFullPath (const std::string &entity, const std::string &name)
 Build a full path from entity and name.

Variables

constexpr bool icarus::kDebugMode = false
 Check if we're in debug mode at compile time.

Detailed Description

Core type definitions, concepts, and configuration for Icarus.

Consolidates: Types.hpp, Concepts.hpp, Config.hpp

Re-exports Janus types for dual-backend (numeric/symbolic) compatibility. All Icarus components should use these types for Scalar, vectors, and matrices.

Macro Definition Documentation

◆ ICARUS_ASSERT

#define ICARUS_ASSERT ( cond,
msg )
Value:
((void)0)

◆ ICARUS_ASSERT_LIFECYCLE

#define ICARUS_ASSERT_LIFECYCLE ( lifecycle,
required,
operation )
Value:
((void)0)

◆ ICARUS_ASSERT_PTR

#define ICARUS_ASSERT_PTR ( ptr,
context )
Value:
((void)0)

◆ ICARUS_DEBUG_ONLY

#define ICARUS_DEBUG_ONLY ( code)
Value:
((void)0)

◆ ICARUS_STRINGIFY

#define ICARUS_STRINGIFY ( x)
Value:
#x

◆ ICARUS_VERSION_MAJOR

#define ICARUS_VERSION_MAJOR   0

◆ ICARUS_VERSION_MINOR

#define ICARUS_VERSION_MINOR   6

◆ ICARUS_VERSION_PATCH

#define ICARUS_VERSION_PATCH   0

◆ ICARUS_VERSION_STR

#define ICARUS_VERSION_STR ( major,
minor,
patch )
Value:
ICARUS_STRINGIFY(major) "." ICARUS_STRINGIFY(minor) "." ICARUS_STRINGIFY(patch)
#define ICARUS_STRINGIFY(x)
Definition CoreTypes.hpp:138