Value Types
ikv::ValueType
Inspection
type() returns nullValue for a missing member.
empty() is true for empty objects/arrays and for scalar or missing values.
size() returns object member count or array length; scalars return zero.
name() returns the node key/root name, or an empty string when absent.
Scalar assignment
Assignment is supported on a non-const object-member handle produced by operator[]:
Assigning a key that already exists replaces that member. A null const char* is rejected.
Scalar conversion
Conversions are strict; iKvxx does not silently coerce between types. Calling asInt() on a string, for example, throws ikv::Error. asInt() also throws std::out_of_range if the stored 64-bit integer does not fit in a C++ int.
Null handles
A missing non-const object member preserves its parent and key, making scalar assignment possible. A missing const lookup is read-only.