![]() |
HydroCouple
2.0.0-alpha.1
HydroCouple Interface Definitions
|
HydroCouple namespace contains the core interface specifications for the HydroCouple component-based modeling framework interface specification. More...
Namespaces | |
| namespace | Distributed |
| HydroCouple's interfaces for distributed and cloud execution. | |
| namespace | Helpers |
| Non-normative convenience helpers for the HydroCouple interface standard. | |
| namespace | Spatial |
| HydroCouple's interfaces that have a spatial component. | |
| namespace | SpatioTemporal |
| HydroCouple's interfaces that have both spatial and temporal components. | |
| namespace | Temporal |
| HydroCouple's interfaces that have a time varying component. | |
Classes | |
| struct | BufferDescriptor |
| BufferDescriptor describes a typed, possibly strided, possibly device-resident multi-dimensional array. It is the sole currency of field data exchange. More... | |
| struct | ErrorEntry |
| ErrorEntry is one diagnostic record in a component's error queue. More... | |
| class | IAdaptedOutput |
| An IAdaptedOutput adds one or more data operations on top of an IOutput. More... | |
| class | IAdaptedOutputFactory |
| IAdaptedOutputFactory is used to create instances of IAdaptedOutput. More... | |
| class | IAdaptedOutputFactoryComponent |
| IAdaptedOutputFactoryComponent is an IAdaptedOutputFactory generated from an IAdaptedOutputFactoryComponentInfo. More... | |
| class | IAdaptedOutputFactoryComponentInfo |
| IAdaptedOutputFactoryComponentInfo interface class provides information about an IAdaptedOutputFactoryComponent. More... | |
| class | IArgument |
| IArgument interface class used to set the arguments for components. They can be complex or simple multi-dimensional datasets. More... | |
| class | ICheckpointableModelComponent |
| ICheckpointableModelComponent is an IModelComponent that can save and restore its complete simulation state. More... | |
| class | ICloneableModelComponent |
| The ICloneableModelComponent class is an IModelComponent that supports deep cloning of itself and its configuration. More... | |
| class | IComponentDataItem |
| IComponentDataItem is a fundamental unit of data for a component. More... | |
| class | IComponentDataItemValueChanged |
| IComponentDataItemValueChanged interface class used to notify when the values of a IComponentDataItem change. More... | |
| class | IComponentInfo |
| IComponentInfo interface class is a factory that provides detailed metadata about a component and creates new instances of a component. More... | |
| class | IComponentStatusChangeEventArgs |
| The IComponentStatusChangeEventArgs contains the information that will be passed when the IModelComponent fires a signal. More... | |
| class | IDescription |
| IDescription interface class provides descriptive information on a HydroCouple object. More... | |
| class | IDimension |
| IDimension provides the properties of the dimensions of a variable. More... | |
| class | IExchangeItem |
| IExchangeItem the base data item the can be exchanged between components at runtime. More... | |
| class | IExchangeItemChangeEventArgs |
| The IExchangeItemChangeEventArgs contains the information that will be passed when the IComponentItem fires the componentItemChanged signal. More... | |
| class | IIdBasedComponentDataItem |
| IIdBasedComponentDataItem is an IComponentDataItem whose data is indexed by string identifiers. More... | |
| class | IIdentity |
| IIdentity interface class defines a method to get the Id of an HydroCouple entity. More... | |
| class | IInput |
| An IInput item that can accept values for an IModelComponent. More... | |
| class | ILicensedComponent |
| ILicensedComponent is an optional side interface for components that require license validation. More... | |
| class | IModelComponent |
| IModelComponent interface is the core interface in the HydroCouple standard defining a model component. More... | |
| class | IModelComponentInfo |
| IModelComponentInfo interface inherits from the IComponentInfo interface which provides detailed metadata about an IModelComponent. Additionally, it creates new instances of a component. More... | |
| class | IMultiInput |
| The IMultiInput class is an IInput class that has multiple outputs supplying data to it. More... | |
| class | IOutput |
| An output exchange item that can deliver values from an IModelComponent. More... | |
| class | IPropertyChanged |
| IPropertyChanged interface is used to emit signal/event when a property of an object changes. More... | |
| class | IQuality |
| IQuality describes qualitative data, where a value is specified as one category within a number of predefined (possible) categories. These categories can be ordered or not. More... | |
| class | IQuantity |
| IQuantity specifies values as an amount of some unit, usually as a floating point number. More... | |
| class | ISignal |
| Forward declarations. More... | |
| class | ISlot |
| ISlot interface class must be implemented by classes that want to listen to signals. More... | |
| class | IUIProvider |
| IUIProvider is an optional side interface for entities that can present a graphical editor and/or viewer. More... | |
| class | IUnit |
| IUnit interface, describing the physical unit of a IQuantity. More... | |
| class | IUnitDimensions |
| Defines the order of dimension in each FundamentalDimension for a unit. More... | |
| class | IValueDefinition |
| IValueDefinition describes the type and properties of values returned by IComponentDataItem::getValue() and related methods. More... | |
| class | IWorkflowComponent |
| IWorkflowComponent manages the execution workflow for a set of coupled IModelComponent instances. More... | |
| class | IWorkflowComponentInfo |
| IWorkflowComponentInfo provides metadata about an IWorkflowComponent and creates new instances of it. More... | |
| class | IWorkflowComponentStatusChangeEventArgs |
| The IWorkflowComponentStatusChangeEventArgs contains the information that will be passed when the IWorkflowComponent fires a signal. More... | |
Enumerations | |
| enum class | DataKind : uint8_t { Unknown = 0 , Int8 , UInt8 , Int16 , UInt16 , Int32 , UInt32 , Int64 , UInt64 , Float32 , Float64 , Boolean , String , Opaque } |
| DataKind identifies the element type of a typed data buffer. More... | |
| enum class | MemorySpace : uint8_t { Host = 0 , HostPinned , Device , Unified } |
| MemorySpace identifies where a buffer's bytes physically live. More... | |
| enum class | Capability : uint32_t { DeviceBuffers = 0 , PartitionedData , DistributedExecution , Checkpointing , Cloneable , UserInterface , Licensing } |
| Capability identifies an optional behavior a component may support. More... | |
Variables | |
| constexpr int | HYDROCOUPLE_ABI_VERSION = 2 |
| ABI version for the HydroCouple interface. | |
HydroCouple namespace contains the core interface specifications for the HydroCouple component-based modeling framework interface specification.
|
strong |
Capability identifies an optional behavior a component may support.
Orchestrators query IModelComponent::capabilities() and branch on the result instead of chains of dynamic_cast probes.
| Enumerator | |
|---|---|
| DeviceBuffers | Data items can produce/accept Device/Unified BufferDescriptors. |
| PartitionedData | Component exposes partitioned data items (see hydrocoupledistributed.h). |
| DistributedExecution | Component implements IDistributedModelComponent. |
| Checkpointing | Component implements ICheckpointableModelComponent. |
| Cloneable | Component implements ICloneableModelComponent. |
| UserInterface | Component implements IUIProvider. |
| Licensing | Component implements ILicensedComponent. |
|
strong |
DataKind identifies the element type of a typed data buffer.
This is the type vocabulary of the data-exchange plane. String and Opaque are host-only kinds: String buffers point to arrays of std::string, Opaque buffers carry implementation-defined bytes whose meaning both endpoints must agree on.
|
strong |
MemorySpace identifies where a buffer's bytes physically live.
Vendor-neutral by design: no CUDA/HIP/SYCL types appear in this standard. The pairing of MemorySpace and device id is resolved to a concrete runtime by the implementing SDK's execution backend.
|
constexpr |
ABI version for the HydroCouple interface.