holoscan::ParamFieldBuilder
Build one compile-time field declaration for an exact aggregate member.
The builder is a transient constant-evaluation value. It registers nothing, stores no object address, and is not thread-shared at runtime. Invalid combinations make schema lowering fail.
Template parameters
Exact aggregate owning MemberPtr.
Exact non-static data-member pointer.
Constructors
ParamFieldBuilder
Create a field declaration with default compile-time/public/persisted policies.
Parameters
Nonempty valid UTF-8 structured path with static lifetime.
Methods
description
Attach descriptive field metadata.
Returns: This builder.
Parameters
Valid UTF-8 text with static lifetime.
unit
Attach a descriptive unit name.
Returns: This builder.
Parameters
Valid UTF-8 unit text with static lifetime.
compile_time
Require a newly compiled plan for changes after compile.
Returns: This builder.
runtime_mutable
Declare eligibility for separately admitted immutable generation updates.
Returns: This builder; the marker grants no update authority by itself.
lifecycle_mutable
Declare a lifecycle transaction from the earliest invalidated forward stage.
Returns: This builder; invalid teardown or unknown stages fail schema lowering.
Parameters
Forward stage from kConfigure through kStart.
recompile_required
Require a newly compiled plan for every value change.
Returns: This builder.
range
Add an inclusive finite range in the field’s exact scalar domain.
Returns: This builder; reversed, non-finite, or mismatched bounds fail lowering.
Template parameters
Exact field type, or a duration convertible to the field’s duration domain.
Exact field type, or a duration convertible to the field’s duration domain.
Parameters
Inclusive finite lower bound; duration conversion must be representable, with integral fields requiring an exact tick.
Inclusive finite upper bound; duration conversion must be representable, with integral fields requiring an exact tick.
allowed_values
Add a fixed-capacity allowed-value set in the exact scalar domain.
Returns: This builder; overflow, non-finite, or mismatched values fail lowering.
Template parameters
Exact field type.
Parameters
Up to 16 finite values copied during constant evaluation.
enum_values
Declare the bounded stable label/value domain of an enum field.
Returns: This builder; the declared domain is also the allowed-value constraint.
Template parameters
Exact direct, optional, or sequence-element enum type.
Parameters
Up to 16 unique labels and values copied during constant evaluation.
validator
Attach a named process-local side-effect-free Boolean validator.
Returns: This builder.
Template parameters
Noexcept bool(const ``Field``&) callable known at compile time.
Parameters
Nonempty stable UTF-8 identity exported without the callable.
persistence
Select the durable-projection policy explicitly.
Returns: This builder; conflicting repeated selections fail lowering.
Parameters
Persisted or transient disposition to record as authored evidence.
persisted
Mark the field eligible for policy-filtered durable projection.
Returns: This builder; conflicting with transient() fails lowering.
transient
Exclude the field from every ordinary durable projection.
Returns: This builder; conflicting with persisted() fails lowering.
internal
Hide the field from ordinary local discovery.
Returns: This builder; internality does not imply sensitivity.
external_access
Select the external-access policy explicitly.
Returns: This builder; conflicting repeated selections fail lowering.
Parameters
None, read-only, or tuning eligibility; this grants no authority or codec.
external_read_only
Declare eligibility for separately authorized external reads.
Returns: This builder; no authority or codec is granted.
external_tuning
Declare eligibility for separately authorized external tuning.
Returns: This builder; runtime mutability and non-sensitive public visibility are required.
sensitivity
Select the sensitivity/redaction policy explicitly.
Returns: This builder; conflicting repeated selections fail lowering.
Parameters
Normal or sensitive disposition to record as authored evidence.
sensitive
Require ordinary projection to redact before value access.
Returns: This builder.
required_on_load
Require an archived contribution during future complete import.
Returns: This builder; no loader is implemented by this declaration.
alias
Add one prior canonical migration input name.
Returns: This builder; aliases never become output identity.
Parameters
Nonempty valid UTF-8 prior identity with static lifetime.
encoding
Declare semantic encoding for a std::string field.
Returns: This builder; UTF-8 bounds require kUtf8 explicitly.
Parameters
KArbitraryBytes or kUtf8.
element_encoding
Declare semantic encoding for each std::string sequence element.
Returns: This builder; per-element UTF-8 bounds require kUtf8 explicitly.
Parameters
KArbitraryBytes or kUtf8.
max_utf8_bytes
Bound valid UTF-8 storage for a std::string field.
Returns: This builder; zero or a non-string field fails lowering.
Parameters
Positive byte count.
max_element_utf8_bytes
Bound valid UTF-8 bytes for each std::string sequence element.
Returns: This builder; zero, another field type, or omitted UTF-8 element policy rejects.
Parameters
Positive byte count per element.
max_elements
Bound the element count of a std::vector field.
Returns: This builder; zero or a non-vector field fails lowering.
Parameters
Positive element count.
max_encoded_bytes
Bound encoded bytes for a string, vector, path, or codec-qualified field.
Returns: This builder; zero or an inapplicable field fails lowering.
Parameters
Positive encoded byte count.
nested
Bind this exact object field to its already declared nested schema.
Returns: This builder; nested identity participates in parent hashes.
Template parameters
Exact field type with a declared schema.
invalid
Return whether the accumulated declaration violates a static schema rule.
Returns: true for an invalid declaration; intended for consteval schema lowering.