IDS peak ICV v1.5.0
Loading...
Searching...
No Matches
Serialization

Data Structures

class  ArchiveBase
 Base class for IArchive implementations. More...
 
class  ArchiveExtensions
 Provides convenience extension methods for setting and retrieving values from an IArchive using common CLR types. More...
 
interface  IArchive
 Represents a hierarchical, strongly-typed key-value archive. More...
 
interface  IDeserializer
 Interface for deserializing structured data from an input stream into an archive. More...
 
interface  ISerializable
 Interface for objects that can be serialized to and deserialized from an archive. More...
 
interface  ISerializer
 Interface for serializing data to an output stream. This interface defines a contract for writing structured or binary data into an output stream. Implementations of this interface are responsible for formatting and writing the contents of one or more archives to a given output destination. More...
 

Enumerations

enum  ArchiveValueKind {
  Bool ,
  BoolArray ,
  Int64 ,
  Int64Array ,
  Double ,
  DoubleArray ,
  String ,
  StringArray ,
  Archive ,
  ArchiveArray
}
 Represents the type of value stored in an IArchive. More...
 

Detailed Description

Interfaces for defining serialization and deserialization behavior.

It focuses on the contract layer without providing concrete serialization logic or implementations.

These interfaces are intended to be implemented by other components or libraries to support specific serialization formats (e.g., binary, text-based formats, or custom protocols).

The goal of this module is to ensure a consistent and extensible approach to serialization throughout the library ecosystem.

Since
IDSImaging.Peak.Common 1.3

Enumeration Type Documentation

◆ ArchiveValueKind

Represents the type of value stored in an IArchive.

This enumeration is used to introspect the type of value in an archive, without retrieving the value itself. It provides a language-neutral and cross-platform mapping for serialization.

Typical use cases include:

  • Determining the value type before calling the strongly-typed getter.
  • Traversing the archive generically for inspection, serialization, or tooling.
  • Enforcing strict type contracts across languages (C# ↔ C++ ↔ Python).

Note:

  • The Int64 type corresponds to C++ int64_t.
  • Arrays are always homogeneous.
  • Null values are not allowed in the archive.
Since
IDSImaging.Peak.Common 1.3
Enumerator
Bool 

Single boolean value.

BoolArray 

Array of boolean values.

Int64 

Single 64-bit signed integer.

Int64Array 

Array of 64-bit signed integers.

Double 

Single double-precision floating-point number.

DoubleArray 

Array of double-precision floating-point numbers.

String 

Single UTF-8 encoded string.

StringArray 

Array of UTF-8 encoded strings.

Archive 

Nested archive object.

ArchiveArray 

Array of nested archives.