Configuration options module

Defines

#define STIM_ASSERT(...)
Debug assert macro used by the front-end of the library. May be overridden.
#define STIM_FLOAT16_TYPE
Set this if your codebase or environment has a 16-bit (half-precision) IEEE 754 floating point type.
#define STIM_INJECT_MEMBERS_BOUNDING_BOX
Define this if you wish to inject additional member functions into the body of stim::bounding_box.
#define STIM_INJECT_MEMBERS_BOUNDING_SPHERE
Define this if you wish to inject additional member functions into the body of stim::bounding_sphere.
#define STIM_INJECT_MEMBERS_DURATION
Define this if you wish to inject additional member functions into the body of stim::duration.
#define STIM_INJECT_MEMBERS_MATRIX
Define this if you wish to inject additional member functions into the body of stim::matrix.
#define STIM_INJECT_MEMBERS_MESH_DESCRIPTION
Define this if you wish to inject additional member functions into the body of stim::mesh_description.
#define STIM_INJECT_MEMBERS_MESH_READER
Define this if you wish to inject additional member functions into the body of stim::mesh_reader.
#define STIM_INJECT_MEMBERS_PLANE
Define this if you wish to inject additional member functions into the body of stim::plane.
#define STIM_INJECT_MEMBERS_SPAN
Define this if you wish to inject additional member functions into the body of stim::span.
#define STIM_INJECT_MEMBERS_STRING_VIEW
Define this if you wish to inject additional member functions into the body of stim::string_view.
#define STIM_INJECT_MEMBERS_VECTOR
Define this if you wish to inject additional member functions into the body of stim::vector.
#define STIM_STD_CHRONO_COMPAT
Enable this to allow the use of std::chrono duration types in stim::simulation::update().
#define STIM_STD_OSTREAM_COMPAT
Enable this to allow stim::string_viewstd::ostream printing operators.
#define STIM_STD_STRING_COMPAT
Enable this to allow stim::string_viewstd::string conversion constructors and operators.
#define STIM_STD_STRING_VIEW_COMPAT
Enable this to allow stim::string_viewstd::string_view conversion constructors and operators.
#define STIM_UE4_COMPAT
Enable this to allow some stim ↔ UE4 type conversions and other simple interop.

Define documentation

#define STIM_ASSERT(...)

Debug assert macro used by the front-end of the library. May be overridden.

Default is to use the C standard library's assert(), unless STIM_UE4_COMPAT is enabled, in which case UE4's check() is used.

#define STIM_FLOAT16_TYPE

Set this if your codebase or environment has a 16-bit (half-precision) IEEE 754 floating point type.

Default is undefined (no float16 support), unless STIM_UE4_COMPAT is enabled, in which case it is automatically set to UE4's FFloat16.

#define STIM_INJECT_MEMBERS_BOUNDING_BOX

Define this if you wish to inject additional member functions into the body of stim::bounding_box.

Default is undefined.

#define STIM_INJECT_MEMBERS_BOUNDING_SPHERE

Define this if you wish to inject additional member functions into the body of stim::bounding_sphere.

Default is undefined.

#define STIM_INJECT_MEMBERS_DURATION

Define this if you wish to inject additional member functions into the body of stim::duration.

Default is undefined.

#define STIM_INJECT_MEMBERS_MATRIX

Define this if you wish to inject additional member functions into the body of stim::matrix.

Default is undefined.

#define STIM_INJECT_MEMBERS_MESH_DESCRIPTION

Define this if you wish to inject additional member functions into the body of stim::mesh_description.

Default is undefined.

#define STIM_INJECT_MEMBERS_MESH_READER

Define this if you wish to inject additional member functions into the body of stim::mesh_reader.

Default is undefined.

#define STIM_INJECT_MEMBERS_PLANE

Define this if you wish to inject additional member functions into the body of stim::plane.

Default is undefined.

#define STIM_INJECT_MEMBERS_SPAN

Define this if you wish to inject additional member functions into the body of stim::span.

Default is undefined.

#define STIM_INJECT_MEMBERS_STRING_VIEW

Define this if you wish to inject additional member functions into the body of stim::string_view.

Default is undefined.

#define STIM_INJECT_MEMBERS_VECTOR

Define this if you wish to inject additional member functions into the body of stim::vector.

Default is undefined.

#define STIM_STD_CHRONO_COMPAT

Enable this to allow the use of std::chrono duration types in stim::simulation::update().

Default is 0 (disabled).

#define STIM_STD_OSTREAM_COMPAT

Enable this to allow stim::string_viewstd::ostream printing operators.

Default is 0 (disabled).

#define STIM_STD_STRING_COMPAT

Enable this to allow stim::string_viewstd::string conversion constructors and operators.

Default is 0 (disabled).

#define STIM_STD_STRING_VIEW_COMPAT

Enable this to allow stim::string_viewstd::string_view conversion constructors and operators.

Default is 0 (disabled), unless you are targeting c++17 and have one or both of STIM_STD_STRING_COMPAT or STIM_STD_OSTREAM_COMPAT enabled, in which case it is automatically set to 1.

#define STIM_UE4_COMPAT

Enable this to allow some stim ↔ UE4 type conversions and other simple interop.

Adds the following UE4 conversions:

Also automatically sets some other configuration options:

Default is 0 (disabled).