Skip to content

ludus::foundation::profiling::ZoneDescriptor

Ludus Wiki · API overview · Browse API

Struct

Per-site static metadata.
One static constexpr instance per instrumentation site (not per hit): bounded binary-size cost proportional to distinct sites (§14, gate G9). Trivially a literal type so it lives in read-only data.

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

#include <ludus/foundation/profiling/zone.hpp>
struct ludus::foundation::profiling::ZoneDescriptor

Fields

SiteId

uint32 ludus::foundation::profiling::ZoneDescriptor::SiteId
HashZoneName(Name).

Related types: uint32

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

CategoryId

uint32 ludus::foundation::profiling::ZoneDescriptor::CategoryId

Related types: uint32

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

Name

std::string_view ludus::foundation::profiling::ZoneDescriptor::Name
borrowed string literal; process-lifetime

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

File

std::string_view ludus::foundation::profiling::ZoneDescriptor::File
FILE / source_location; process-lifetime

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

Line

uint32 ludus::foundation::profiling::ZoneDescriptor::Line

Related types: uint32

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp

Methods

ZoneDescriptor

constexpr ludus::foundation::profiling::ZoneDescriptor::ZoneDescriptor(std::string_view zone_name, ProfileCategory category=PROFILE_CATEGORY_NONE, const std::source_location &location=std::source_location::current()) noexcept
constexpr (not consteval): a static constexpr site descriptor is still forced to compile-time evaluation by its storage, while LUDUS_PROFILE_ FUNCTION can construct one at runtime from the non-constant func.

Related types: ProfileCategory

Declared in modules/foundation/profiling/include/ludus/foundation/profiling/zone.hpp