Expand description
§Value Processing Framework
Provides type-safe value storage and access functionality, supporting single values, multiple values, and named values.
§Module Description
error
- Defines error types related to value processingvalue
- Single value container implementationmulti_values
- Multiple values container implementationnamed
- Named value implementation
§Core Features
- Type Safety: Compile-time type checking to avoid runtime type errors
- Zero-Cost Abstraction: Implemented using enums with no additional runtime overhead
- Multi-Value Support: Unified interface for single and multiple value access
- Naming Support: Provides naming functionality for values for easy identification and lookup
- Type Conversion: Provides two sets of APIs for type checking and type conversion
§Usage Examples
§Single Value Operations
ⓘ
use common_rs::util::value::Value;
// Create and access a single value
let value = Value::Int32(42);
assert_eq!(value.get_int32().unwrap(), 42);
// Type conversion
let text = value.as_string().unwrap();
assert_eq!(text, "42");
§Multiple Values Operations
ⓘ
use common_rs::util::value::MultiValues;
// Create and access multiple values
let mut values = MultiValues::Int32(vec![1, 2, 3]);
assert_eq!(values.count(), 3);
// Add values
values.add_int32(4).unwrap();
assert_eq!(values.get_int32s().unwrap(), &[1, 2, 3, 4]);
§Named Value Operations
ⓘ
use common_rs::util::value::{NamedValue, Value};
// Create a named value
let config = NamedValue::new("port", Value::Int32(8080));
assert_eq!(config.name(), "port");
assert_eq!(config.get_int32().unwrap(), 8080);
§Author
Haixing Hu
Re-exports§
pub use multi_values::MultiValues;
Modules§
- multi_
values - Multiple Values Container
Structs§
- Named
Multi Values - Named multiple values
- Named
Value - Named single value
Enums§
- Value
- Single value container
- Value
Error - Value processing error type
Type Aliases§
- Value
Result - Value processing result type