ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.base.typestate Module Reference

Concepts

concept  zxfoundation::base::in_state
 Concept: T is in exactly state S.
concept  zxfoundation::base::state_at_least
 Concept: T is in state S or later.

Data Structures

class  zxfoundation::base::typestate< State >
 Zero-overhead typestate carrier. More...

Enumerations

enum class  zxfoundation::base::lifecycle_state : u8 {
  embryo = 0 , sealed = 1 , active = 2 , suspended = 3 ,
  dying = 4 , destroyed = 5
}
 Unified lifecycle states for ALL typestate-tracked resources. More...

Functions

template<lifecycle_state Query, lifecycle_state Actual>
constexpr auto zxfoundation::base::is_state (const typestate< Actual > &) noexcept -> bool
 Compile-time query: is this typestate-carrying type in state S?
constexpr auto zxfoundation::base::lifecycle_state_name (lifecycle_state s) noexcept -> std::string_view
 Return the ASCII name of a lifecycle_state value.
auto operator= (const typestate &)=delete
auto operator= (typestate &&) noexcept -> typestate &=default
 typestate (const typestate &)=delete
 typestate (typestate &&) noexcept=default

Variables

constexpr lifecycle_state zxfoundation::base::lifecycle_fresh = lifecycle_state::embryo
 Backward-compatible aliases for subsystems still using the old naming convention during migration.
constexpr lifecycle_state zxfoundation::base::lifecycle_ready = lifecycle_state::active
static constexpr lifecycle_state state = State

Files

file  zxfoundation/base/typestate.cxxm
 Typestate carrier — compile-time lifecycle enforcement.