macro_rules! register_value_string_codec {
(id = $id:expr, codec = $codec:ty, value = $value:ty $(,)?) => { ... };
}Expand description
Registers a default-constructible bidirectional string codec.
The macro must be invoked at module scope; it defines the descriptor, a
registration function, and an inventory submission in an anonymous const.
The id must be a constant expression. Use a literal, constant, or
const fn result; a runtime function call cannot define a static ID.
The encoder and decoder error types must implement Error + Send + Sync + 'static, as required by ValueStringCodecDescriptor::of.
§Examples
ⓘ
use qubit_codec::JsonStringValueCodec;
use qubit_codec::register_value_string_codec;
fn invalid_id() -> &'static str { "example.u32" }
register_value_string_codec!(id = invalid_id(), codec = JsonStringValueCodec<u32>, value = u32);ⓘ
use qubit_codec::JsonStringValueCodec;
use qubit_codec::register_value_string_codec;
register_value_string_codec!(id = "invalid-id", codec = JsonStringValueCodec<u32>, value = u32);use qubit_codec::JsonStringValueCodec;
use qubit_codec::register_value_string_codec;
register_value_string_codec!(
id = "example.u32",
codec = JsonStringValueCodec<u32>,
value = u32,
);