Skip to main content

System Coupling C++ library 2025 R1

InputScalarData

Last update: 17.07.2025
1 /*
2 * Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.
3 */
4 
5 #pragma once
6 
7 #include "SystemCouplingParticipant/LibraryType.hpp"
8 
9 #include "SystemCouplingParticipant/CommonTypes.hpp"
10 
11 #include <cstddef>
12 #include <vector>
13 
14 namespace sysc {
15 
23 class SYSTEM_COUPLING_PARTICIPANT_DLL InputScalarData {
24 public:
32  double* data,
33  std::size_t size);
34 
42  float* data,
43  std::size_t size);
44 
50  InputScalarData(std::vector<double>& data);
51 
58  InputScalarData(std::vector<float>& data);
59 
61  InputScalarData() = default;
62 
64  InputScalarData(const InputScalarData&) = default;
65 
68 
71 
74 
76  std::size_t size() const noexcept;
77 
79  bool empty() const noexcept;
80 
85  sysc::PrimitiveType getDataType() const noexcept;
86 
91  void* getData() const noexcept;
92 
93 private:
94  sysc::PrimitiveType m_dataType{sysc::Double};
95  void* m_data{nullptr};
96  std::size_t m_size{0};
97 };
98 
99 } // namespace sysc
Provide a class for input scalar data.
InputScalarData(std::vector< float > &data)
Provide a constructor for input scalar data.
InputScalarData()=default
Provide a default constructor.
InputScalarData & operator=(const InputScalarData &)=default
Provide a copy-assign operator.
InputScalarData & operator=(InputScalarData &&)=default
Provide a move-assign operator.
InputScalarData(std::vector< double > &data)
Provide a constructor for input scalar data.
InputScalarData(float *data, std::size_t size)
Provide a constructor for input scalar data.
std::size_t size() const noexcept
Get the size of data.
InputScalarData(InputScalarData &&)=default
Provide a move-constructor.
InputScalarData(const InputScalarData &)=default
Provide a copy-constructor.
InputScalarData(double *data, std::size_t size)
Provide a constructor for input scalar data.
PrimitiveType
Provide enum for supported primitive types.

Connect with Ansys