Skip to main content

System Coupling C++ library 2025 R1

OutputScalarData

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 <cstdint>
13 #include <vector>
14 
15 namespace sysc {
16 
24 class SYSTEM_COUPLING_PARTICIPANT_DLL OutputScalarData {
25 public:
33  const double* data,
34  std::size_t size);
35 
43  const float* data,
44  std::size_t size);
45 
51  OutputScalarData(const std::vector<double>& data);
52 
58  OutputScalarData(const std::vector<float>& data);
59 
70  const std::uint16_t* data,
71  std::size_t size);
72 
81  OutputScalarData(const std::vector<std::uint16_t>& data);
82 
93  const std::uint64_t* data,
94  std::size_t size);
95 
103  OutputScalarData(const std::vector<std::uint64_t>& data);
104 
115  const std::int32_t* data,
116  std::size_t size);
117 
124  OutputScalarData(const std::vector<std::int32_t>& data);
125 
136  const std::int64_t* data,
137  std::size_t size);
138 
146  OutputScalarData(const std::vector<std::int64_t>& data);
147 
149  OutputScalarData() = default;
150 
153 
156 
159 
162 
164  std::size_t size() const noexcept;
165 
167  bool empty() const noexcept;
168 
173  sysc::PrimitiveType getDataType() const noexcept;
174 
179  const void* getData() const noexcept;
180 
181 private:
182  sysc::PrimitiveType m_dataType{sysc::Double};
183  const void* m_data{nullptr};
184  std::size_t m_size{0};
185 };
186 
187 } // namespace sysc
Provide a class for output scalar data.
OutputScalarData(const double *data, std::size_t size)
Provide a constructor for output scalar data.
OutputScalarData(OutputScalarData &&)=default
Provide a move-constructor.
OutputScalarData(const OutputScalarData &)=default
Provide a copy-constructor.
OutputScalarData(const std::int64_t *data, std::size_t size)
Provide a constructor for OutputScalarData, which provides read-only access to scalar array of 64-bit...
OutputScalarData(const std::vector< std::int64_t > &data)
Provide an STL vector variation of constructor for OutputScalarData, which provides read-only access ...
OutputScalarData(const std::vector< float > &data)
Provide a constructor for output scalar data.
OutputScalarData(const std::vector< std::int32_t > &data)
Provide an STL vector variation of constructor for OutputScalarData, which provides read-only access ...
OutputScalarData & operator=(OutputScalarData &&)=default
Provide a move-assign operator.
std::size_t size() const noexcept
Get the size of data.
OutputScalarData(const std::uint16_t *data, std::size_t size)
Provide a constructor for OutputScalarData, which provides read-only access to scalar array of unsign...
OutputScalarData(const std::vector< std::uint64_t > &data)
Provide an STL vector variation of constructor for OutputScalarData, which provides read-only access ...
OutputScalarData(const std::uint64_t *data, std::size_t size)
Provide a constructor for OutputScalarData, which provides read-only access to scalar array of unsign...
OutputScalarData()=default
Provide a default constructor.
OutputScalarData(const float *data, std::size_t size)
Provide a constructor for output scalar data.
OutputScalarData & operator=(const OutputScalarData &)=default
Provide a copy-assign operator.
OutputScalarData(const std::vector< double > &data)
Provide a constructor for output scalar data.
OutputScalarData(const std::vector< std::uint16_t > &data)
Provide an STL vector variation of constructor for OutputScalarData, which provides read-only access ...
OutputScalarData(const std::int32_t *data, std::size_t size)
Provide a constructor for OutputScalarData, which provides read-only access to scalar array of 32-bit...
PrimitiveType
Provide enum for supported primitive types.

Connect with Ansys