Skip to main content

System Coupling Participant library 2025 R2

File Variable.hpp

Last update: 17.07.2025

Location: Variable.hpp

Classes

Namespaces

Includes

  • SystemCouplingParticipant/LibraryType.hpp
  • SystemCouplingParticipant/Attribute.hpp
  • SystemCouplingParticipant/CommonTypes.hpp
  • vector
graph LR
4["SystemCouplingParticipant/CommonTypes.hpp"]

5["vector"]

2["SystemCouplingParticipant/LibraryType.hpp"]

3["SystemCouplingParticipant/Attribute.hpp"]

1["Variable.hpp"]
click 1 "Variable_8hpp.md#Variable_8hpp"
1 --> 2
1 --> 3
1 --> 4
1 --> 5

Source

/*
 * Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
 */

#pragma once

#include "SystemCouplingParticipant/LibraryType.hpp"

#include "SystemCouplingParticipant/Attribute.hpp"
#include "SystemCouplingParticipant/CommonTypes.hpp"

#include "vector"

namespace sysc {

class SYSTEM_COUPLING_PARTICIPANT_DLL Variable {
public:
  explicit Variable(const VariableName& name);

  Variable(const VariableName& name,
           enum TensorType tensorType,
           bool isExtensive,
           enum Location location);

  Variable(const VariableName& name,
           enum TensorType tensorType,
           bool isExtensive,
           enum Location location,
           enum DataType dataType);

  Variable(const VariableName& name,
           const DisplayName& displayName,
           enum TensorType tensorType,
           bool isExtensive,
           enum Location location,
           enum QuantityType quantityType);

  Variable(const VariableName& name,
           const DisplayName& displayName,
           enum TensorType tensorType,
           bool isExtensive,
           enum Location location,
           enum QuantityType quantityType,
           enum DataType dataType);

  Variable(const VariableName& name,
           enum QuantityType quantityType,
           enum Location location = Node,
           const DisplayName& displayName = DisplayName());

  const VariableName& getName() const noexcept;

  enum TensorType getTensorType() const noexcept;

  bool getIsExtensive() const noexcept;

  enum QuantityType getQuantityType() const noexcept;

  enum Location getLocation() const noexcept;

  const DisplayName& getDisplayName() const noexcept;

  enum DataType getDataType() const noexcept;

  void addRealAttribute(const RealAttribute& attribute);

  void addIntegerAttribute(const IntegerAttribute& attribute);

  void addStringAttribute(const StringAttribute& attribute);

  std::size_t getNumRealAttributes() const noexcept;

  std::size_t getNumIntegerAttributes() const noexcept;

  std::size_t getNumStringAttributes() const noexcept;

  const RealAttribute& getRealAttribute(std::size_t index) const;

  const IntegerAttribute& getIntegerAttribute(std::size_t index) const;

  const StringAttribute& getStringAttribute(std::size_t index) const;

private:
  VariableName m_name;         
  QuantityType m_quantityType; 
  Location m_location;         
  DisplayName m_displayName;   
  TensorType m_tensorType;     
  bool m_isExtensive;          
  DataType m_dataType;         
  std::vector<RealAttribute> m_realAttributes;
  std::vector<IntegerAttribute> m_integerAttributes;
  std::vector<StringAttribute> m_stringAttributes;
};

}  // namespace sysc

Connect with Ansys