UniformCausalMap

Type Alias UniformCausalMap 

Source
pub type UniformCausalMap = HashMap<usize, Causaloid<bool, bool, (), Arc<RwLock<UniformContext>>>>;
Expand description

A type alias for a HashMap that stores UniformCausaloid instances, typically indexed by their unique identifiers.

This alias provides a convenient shorthand for a collection of causaloids, where each causaloid adheres to a “uniform” configuration using abstract “kind” enums for its contextual components. It is designed to represent a mapping from an integer ID (e.g., a node index or a unique identifier) to a UniformCausaloid instance.

The UniformCausaloid type, which forms the value of this map, is parameterized with the following types, defining its flexible and consistent structure:

  • Data<NumberType>: Represents the data component associated with each causaloid. NumberType is a generic numeric type, typically an alias for a floating-point or integer, allowing for flexible data representation.
  • SpaceKind: Defines the spatial context using an abstract SpaceKind enum. This allows the causaloids to operate with various spatial representations (e.g., EuclideanSpace, EcefSpace, NedSpace, GeoSpace) without changing the Causaloid’s type signature, providing uniformity across different spatial contexts.
  • TimeKind: Specifies the temporal context using an abstract TimeKind enum. This enables the causaloids to handle different temporal representations (e.g., EuclideanTime, DiscreteTime, EntropicTime, LorentzianTime) flexibly, offering a uniform temporal interface.
  • SpaceTimeKind: Combines the spatial and temporal contexts into a unified spacetime representation using an abstract SpaceTimeKind enum, allowing for various spacetime geometries (e.g., EuclideanSpacetime, LorentzianSpacetime, MinkowskiSpacetime) in a uniform manner.
  • SymbolKind: Provides a basic symbolic representation for the causaloids using an abstract SymbolKind enum, useful for labeling, identification, or abstract reasoning across different symbolic types.
  • FloatType (x2): Two FloatType parameters, typically used for internal calculations, scalar values, or other generic numerical requirements within the Causaloid structure, such as probabilities, weights, or magnitudes. FloatType is generally an alias for a standard floating-point type.

This UniformCausalMap is suitable for general-purpose use cases where a flexible yet consistent structure is required for managing causal entities within a map structure. It promotes code reusability and simplifies type declarations when the exact concrete type of a context component is not fixed but rather belongs to a set of predefined “kinds”.

Aliased Type§

pub struct UniformCausalMap { /* private fields */ }