HydroCouple  2.0.0-alpha.1
HydroCouple Interface Definitions
Loading...
Searching...
No Matches
HydroCouple::IIdBasedComponentDataItem Class Referenceabstract

IIdBasedComponentDataItem is an IComponentDataItem whose data is indexed by string identifiers. More...

#include <hydrocouple.h>

Inheritance diagram for HydroCouple::IIdBasedComponentDataItem:
Collaboration diagram for HydroCouple::IIdBasedComponentDataItem:

Public Member Functions

virtual ~IIdBasedComponentDataItem ()=default
 IIdBasedComponentItem::~IIdBasedComponentItem is a virtual destructor.
 
virtual std::vector< std::string > identifiers () const =0
 Gets the identifiers associated with this id-based component data item.
 
virtual IDimensionidentifierDimension () const =0
 identifierDimension returns the identifier dimension of the id based component item.
 
- Public Member Functions inherited from HydroCouple::IComponentDataItem
virtual ~IComponentDataItem ()=default
 IComponentDataItem::~IComponentDataItem is a virtual destructor.
 
virtual IModelComponentmodelComponent () const =0
 Gets the owner IModelComponent of this IComponentItem. For an IOutput component item this is the component responsible for providing the content of the IOutput.
 
virtual std::vector< IDimension * > dimensions () const =0
 provides purely descriptive information of the dimensions associated with this IComponentItem
 
virtual std::vector< int64_t > shape () const =0
 The extent of each dimension of this data item's index space.
 
virtual DataKind dataKind () const =0
 The element type of this data item's values.
 
virtual IValueDefinitionvalueDefinition () const =0
 IValueDefinition for this IComponentDataItem defines the variable type associated with this object.
 
virtual bool getValuesInto (const BufferDescriptor &destination, std::span< const int64_t > start, std::span< const int64_t > count, std::string *message=nullptr) const =0
 Copies a hyperslab of this item's values into a caller-described buffer.
 
virtual bool setValuesFrom (const BufferDescriptor &source, std::span< const int64_t > start, std::span< const int64_t > count, std::string *message=nullptr)=0
 Copies values from a caller-described buffer into a hyperslab of this item.
 
- Public Member Functions inherited from HydroCouple::IIdentity
virtual ~IIdentity ()=default
 IIdentity::~IIdentity is a virtual destructor.
 
virtual const std::string & id () const =0
 Gets a unique identifier for the entity.
 
- Public Member Functions inherited from HydroCouple::IDescription
virtual ~IDescription ()=default
 IDescription::~IDescription is a virtual destructor.
 
virtual const std::string & caption () const =0
 Gets caption for the entity.
 
virtual void setCaption (const std::string &caption)=0
 Sets caption for the entity.
 
virtual const std::string & description () const =0
 Gets additional descriptive information for the entity.
 
virtual void setDescription (const std::string &description)=0
 Gets additional descriptive information for the entity.
 
- Public Member Functions inherited from HydroCouple::IPropertyChanged
virtual ~IPropertyChanged ()=default
 IPropertyChanged::~IPropertyChanged is a virtual destructor.
 
- Public Member Functions inherited from HydroCouple::ISignal< std::string >
virtual ~ISignal ()=default
 ISignal::~ISignal is a virtual destructor.
 
virtual void connect (const std::shared_ptr< ISlot< Args... > > &slot)=0
 connect is used to connect a slot to the signal.
 
virtual void disconnect (const std::shared_ptr< ISlot< Args... > > &slot)=0
 disconnect is used to disconnect a slot from the signal.
 
virtual void blockSignals (bool block)=0
 blockSignals is used to block signals from being emitted.
 
- Public Member Functions inherited from HydroCouple::ISignal< const std::shared_ptr< IComponentDataItemValueChanged > & >
virtual ~ISignal ()=default
 ISignal::~ISignal is a virtual destructor.
 
virtual void connect (const std::shared_ptr< ISlot< Args... > > &slot)=0
 connect is used to connect a slot to the signal.
 
virtual void disconnect (const std::shared_ptr< ISlot< Args... > > &slot)=0
 disconnect is used to disconnect a slot from the signal.
 
virtual void blockSignals (bool block)=0
 blockSignals is used to block signals from being emitted.
 

Additional Inherited Members

- Protected Member Functions inherited from HydroCouple::ISignal< std::string >
virtual void emit (Args... args)=0
 emit is used to emit the signal.
 
- Protected Member Functions inherited from HydroCouple::ISignal< const std::shared_ptr< IComponentDataItemValueChanged > & >
virtual void emit (Args... args)=0
 emit is used to emit the signal.
 

Detailed Description

IIdBasedComponentDataItem is an IComponentDataItem whose data is indexed by string identifiers.

It provides get/set methods that accept an id index in addition to the standard dimension indexes from IComponentDataItem.

Constructor & Destructor Documentation

◆ ~IIdBasedComponentDataItem()

virtual HydroCouple::IIdBasedComponentDataItem::~IIdBasedComponentDataItem ( )
virtualdefault

IIdBasedComponentItem::~IIdBasedComponentItem is a virtual destructor.

Member Function Documentation

◆ identifierDimension()

virtual IDimension * HydroCouple::IIdBasedComponentDataItem::identifierDimension ( ) const
nodiscardpure virtual

identifierDimension returns the identifier dimension of the id based component item.

Canonical dimension ordering: the identifier dimension is dimension 0 of shape(); any additional dimensions follow. Data access uses the inherited getValuesInto()/setValuesFrom() hyperslab API with the identifier index as start[0].

Returns
The id dimension of the id based component item.

◆ identifiers()

virtual std::vector< std::string > HydroCouple::IIdBasedComponentDataItem::identifiers ( ) const
nodiscardpure virtual

Gets the identifiers associated with this id-based component data item.

Returns
A vector of strings representing the identifiers.

The documentation for this class was generated from the following file: