Skip to main content

System Coupling C++ library 2024 R2

OutputComplexScalarData

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 <complex>
12#include <cstddef>
13#include <vector>
14
15namespace sysc {
16
24class SYSTEM_COUPLING_PARTICIPANT_DLL OutputComplexScalarData {
25public:
35 OutputComplexScalarData(const std::vector<std::complex<double>>& dataComplex);
36
48 OutputComplexScalarData(const std::complex<double>* dataComplex, std::size_t size);
49
61 OutputComplexScalarData(const double* dataComplex, std::size_t size);
62
77 const std::vector<double>& dataReal,
78 const std::vector<double>& dataImaginary);
79
95 const double* dataReal,
96 const double* dataImaginary,
97 std::size_t size);
98
108 OutputComplexScalarData(const std::vector<std::complex<float>>& dataComplex);
109
121 OutputComplexScalarData(const std::complex<float>* dataComplex, std::size_t size);
122
134 OutputComplexScalarData(const float* dataComplex, std::size_t size);
135
150 const std::vector<float>& dataReal,
151 const std::vector<float>& dataImaginary);
152
168 const float* dataReal,
169 const float* dataImaginary,
170 std::size_t size);
171
174
177
180
183
186
188 std::size_t size() const noexcept;
189
191 bool empty() const noexcept;
192
197 sysc::PrimitiveType getDataType() const noexcept;
198
204 bool isSplitComplex() const noexcept;
205
210 const void* getData1() const noexcept;
211
216 const void* getData2() const noexcept;
217
218private:
219 sysc::PrimitiveType m_dataType{sysc::Double};
220 bool m_isSplitComplex{false};
221
222 const void* m_data1{nullptr};
223 const void* m_data2{nullptr};
224
225 std::size_t m_size{0};
226};
227
228} // namespace sysc
Provide a class for output complex scalar data.
OutputComplexScalarData & operator=(OutputComplexScalarData &&)=default
Provide a move-assign operator.
OutputComplexScalarData(const std::vector< float > &dataReal, const std::vector< float > &dataImaginary)
Create an output complex scalar data access object with split storage for compex components.
OutputComplexScalarData()=default
Provide a default constructor.
OutputComplexScalarData(const float *dataComplex, std::size_t size)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const std::complex< float > *dataComplex, std::size_t size)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const double *dataReal, const double *dataImaginary, std::size_t size)
Create an output complex scalar data access object with split storage for compex components.
OutputComplexScalarData(OutputComplexScalarData &&)=default
Provide a move-constructor.
OutputComplexScalarData(const std::vector< double > &dataReal, const std::vector< double > &dataImaginary)
Create an output complex scalar data access object with split storage for compex components.
std::size_t size() const noexcept
Get the size of data.
OutputComplexScalarData(const std::vector< std::complex< double > > &dataComplex)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const std::vector< std::complex< float > > &dataComplex)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const float *dataReal, const float *dataImaginary, std::size_t size)
Create an output complex scalar data access object with split storage for compex components.
OutputComplexScalarData & operator=(const OutputComplexScalarData &)=default
Provide a copy-assign operator.
OutputComplexScalarData(const std::complex< double > *dataComplex, std::size_t size)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const double *dataComplex, std::size_t size)
Provide a constructor for output complex scalar data with compact storage for complex components.
OutputComplexScalarData(const OutputComplexScalarData &)=default
Provide a copy-constructor.
PrimitiveType
Provide enum for supported primitive types.

Connect with Ansys