    

 ## On this page

  

 

 # OutputComplexScalarData

 Last update: 17.07.2025 

<a name="l00001"></a> 1 /\*

<a name="l00002"></a> 2 \* Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a name="l00003"></a> 3 \*/

<a name="l00004"></a> 4 

<a name="l00005"></a> 5 \#pragma once

<a name="l00006"></a> 6 

<a name="l00007"></a> 7 \#include "SystemCouplingParticipant/LibraryType.hpp"

<a name="l00008"></a> 8 

<a name="l00009"></a> 9 \#include "SystemCouplingParticipant/CommonTypes.hpp"

<a name="l00010"></a> 10 

<a name="l00011"></a> 11 \#include &lt;complex&gt;

<a name="l00012"></a> 12 \#include &lt;cstddef&gt;

<a name="l00013"></a> 13 \#include &lt;vector&gt;

<a name="l00014"></a> 14 

<a name="l00015"></a> 15 namespace sysc {

<a name="l00016"></a> 16 

<a name="l00024"></a>[ 24](classsysc_1_1OutputComplexScalarData.xhtml) class SYSTEM_COUPLING_PARTICIPANT_DLL [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml) {

<a name="l00025"></a> 25 public:

<a name="l00035"></a>[ 35](classsysc_1_1OutputComplexScalarData.xhtml#adf91ed9369ea790ff25efc8138429b3d) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#adf91ed9369ea790ff25efc8138429b3d)(const std::vector&lt;std::complex&lt;double&gt;&gt;&amp; dataComplex);

<a name="l00036"></a> 36 

<a name="l00048"></a>[ 48](classsysc_1_1OutputComplexScalarData.xhtml#addb41ddd037b27dd19e6654294f7c194) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#addb41ddd037b27dd19e6654294f7c194)(const std::complex&lt;double&gt;* dataComplex, std::size_t size);

<a name="l00049"></a> 49 

<a name="l00061"></a>[ 61](classsysc_1_1OutputComplexScalarData.xhtml#aef2fe0ae45472d732a8fa1b6c3bf83a2) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#aef2fe0ae45472d732a8fa1b6c3bf83a2)(const double* dataComplex, std::size_t size);

<a name="l00062"></a> 62 

<a name="l00076"></a>[ 76](classsysc_1_1OutputComplexScalarData.xhtml#a883a5a886f1ec85c866f73d93bb170bf) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a883a5a886f1ec85c866f73d93bb170bf)(

<a name="l00077"></a> 77 const std::vector&lt;double&gt;&amp; dataReal,

<a name="l00078"></a> 78 const std::vector&lt;double&gt;&amp; dataImaginary);

<a name="l00079"></a> 79 

<a name="l00094"></a>[ 94](classsysc_1_1OutputComplexScalarData.xhtml#a76a7cea2727d9cfad5419c65265e507e) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a76a7cea2727d9cfad5419c65265e507e)(

<a name="l00095"></a> 95 const double* dataReal,

<a name="l00096"></a> 96 const double* dataImaginary,

<a name="l00097"></a> 97 std::size_t size);

<a name="l00098"></a> 98 

<a name="l00108"></a>[ 108](classsysc_1_1OutputComplexScalarData.xhtml#a1da27e8572b96fb4687735b8a32a3aa6) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a1da27e8572b96fb4687735b8a32a3aa6)(const std::vector&lt;std::complex&lt;float&gt;&gt;&amp; dataComplex);

<a name="l00109"></a> 109 

<a name="l00121"></a>[ 121](classsysc_1_1OutputComplexScalarData.xhtml#a723362aff534d9a651bb9ce11cd82f7a) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a723362aff534d9a651bb9ce11cd82f7a)(const std::complex&lt;float&gt;* dataComplex, std::size_t size);

<a name="l00122"></a> 122 

<a name="l00134"></a>[ 134](classsysc_1_1OutputComplexScalarData.xhtml#a684da76ee59e2dcae970dfc34e89f9aa) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a684da76ee59e2dcae970dfc34e89f9aa)(const float* dataComplex, std::size_t size);

<a name="l00135"></a> 135 

<a name="l00149"></a>[ 149](classsysc_1_1OutputComplexScalarData.xhtml#a509c85873eece0980798e7d0263b1552) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a509c85873eece0980798e7d0263b1552)(

<a name="l00150"></a> 150 const std::vector&lt;float&gt;&amp; dataReal,

<a name="l00151"></a> 151 const std::vector&lt;float&gt;&amp; dataImaginary);

<a name="l00152"></a> 152 

<a name="l00167"></a>[ 167](classsysc_1_1OutputComplexScalarData.xhtml#acc8f1a93aaf429db11baf9043ea34bf9) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#acc8f1a93aaf429db11baf9043ea34bf9)(

<a name="l00168"></a> 168 const float* dataReal,

<a name="l00169"></a> 169 const float* dataImaginary,

<a name="l00170"></a> 170 std::size_t size);

<a name="l00171"></a> 171 

<a name="l00173"></a>[ 173](classsysc_1_1OutputComplexScalarData.xhtml#a6826d90466e7bf1fabc6e1b8f78cda5a) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a6826d90466e7bf1fabc6e1b8f78cda5a)() = default;

<a name="l00174"></a> 174 

<a name="l00176"></a>[ 176](classsysc_1_1OutputComplexScalarData.xhtml#af33df90acece2bce5d93d7357c4b3d59) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#af33df90acece2bce5d93d7357c4b3d59)(const [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp;) = default;

<a name="l00177"></a> 177 

<a name="l00179"></a>[ 179](classsysc_1_1OutputComplexScalarData.xhtml#a869ea682dbf359db976655f2e3098408) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a869ea682dbf359db976655f2e3098408)([OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp;&amp;) = default;

<a name="l00180"></a> 180 

<a name="l00182"></a>[ 182](classsysc_1_1OutputComplexScalarData.xhtml#ae3e6b55441d7702c04f998f307cc957d) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp; [operator=](classsysc_1_1OutputComplexScalarData.xhtml#ae3e6b55441d7702c04f998f307cc957d)(const [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp;) = default;

<a name="l00183"></a> 183 

<a name="l00185"></a>[ 185](classsysc_1_1OutputComplexScalarData.xhtml#aa14627de46b45ac3070900803114062c) [OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp; [operator=](classsysc_1_1OutputComplexScalarData.xhtml#aa14627de46b45ac3070900803114062c)([OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)&amp;&amp;) = default;

<a name="l00186"></a> 186 

<a name="l00188"></a>[ 188](classsysc_1_1OutputComplexScalarData.xhtml#a961c32a17e1d33ceb346c15768b5290a) std::size_t [size](classsysc_1_1OutputComplexScalarData.xhtml#a961c32a17e1d33ceb346c15768b5290a)() const noexcept;

<a name="l00189"></a> 189 

<a name="l00191"></a>[ 191](classsysc_1_1OutputComplexScalarData.xhtml#ade274ee7bd0e02ea712cfac8c9c3df1e) bool empty() const noexcept;

<a name="l00192"></a> 192 

<a name="l00197"></a>[ 197](classsysc_1_1OutputComplexScalarData.xhtml#aa9fde7656420e140ec4b575dc27e3ed1) sysc::[PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844) getDataType() const noexcept;

<a name="l00198"></a> 198 

<a name="l00204"></a>[ 204](classsysc_1_1OutputComplexScalarData.xhtml#a2d9a5cce0e6fcb99344276db9b0d1030) bool isSplitComplex() const noexcept;

<a name="l00205"></a> 205 

<a name="l00210"></a>[ 210](classsysc_1_1OutputComplexScalarData.xhtml#afc4cf635f16255debd5367c71e2eeebb) const void* getData1() const noexcept;

<a name="l00211"></a> 211 

<a name="l00216"></a>[ 216](classsysc_1_1OutputComplexScalarData.xhtml#a7bb7e81085550fad868b9dc8927160e6) const void* getData2() const noexcept;

<a name="l00217"></a> 217 

<a name="l00218"></a> 218 private:

<a name="l00219"></a> 219 sysc::[PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844) m_dataType{[sysc::Double](group__SystemCouplingParticipantAPIs.xhtml#ggad3b1c73e4a63f4d292d65f3db875e844a29843d2c1bb5760f768dcc066dac1ac1)};

<a name="l00220"></a> 220 bool m_isSplitComplex{false};

<a name="l00221"></a> 221 

<a name="l00222"></a> 222 const void* m_data1{nullptr};

<a name="l00223"></a> 223 const void* m_data2{nullptr};

<a name="l00224"></a> 224 

<a name="l00225"></a> 225 std::size_t m_size{0};

<a name="l00226"></a> 226 };

<a name="l00227"></a> 227 

<a name="l00228"></a> 228 } // namespace sysc

[sysc::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml)

Provide a class for output complex scalar data.

**Definition:** [OutputComplexScalarData.hpp:24](OutputComplexScalarData_8hpp_source.xhtml#l00024)



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a1da27e8572b96fb4687735b8a32a3aa6)

OutputComplexScalarData(const std::vector&lt; std::complex&lt; float &gt;&gt; &amp;dataComplex)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a509c85873eece0980798e7d0263b1552)

OutputComplexScalarData(const std::vector&lt; float &gt; &amp;dataReal, const std::vector&lt; float &gt; &amp;dataImaginary)

Create an output complex scalar data access object with split storage for compex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a6826d90466e7bf1fabc6e1b8f78cda5a)

OutputComplexScalarData()=default

Provide a default constructor.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a684da76ee59e2dcae970dfc34e89f9aa)

OutputComplexScalarData(const float *dataComplex, std::size_t size)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a723362aff534d9a651bb9ce11cd82f7a)

OutputComplexScalarData(const std::complex&lt; float &gt; *dataComplex, std::size_t size)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a76a7cea2727d9cfad5419c65265e507e)

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.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a869ea682dbf359db976655f2e3098408)

OutputComplexScalarData(OutputComplexScalarData &amp;&amp;)=default

Provide a move-constructor.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#a883a5a886f1ec85c866f73d93bb170bf)

OutputComplexScalarData(const std::vector&lt; double &gt; &amp;dataReal, const std::vector&lt; double &gt; &amp;dataImaginary)

Create an output complex scalar data access object with split storage for compex components.



[sysc::OutputComplexScalarData::size](classsysc_1_1OutputComplexScalarData.xhtml#a961c32a17e1d33ceb346c15768b5290a)

std::size_t size() const noexcept

Get the size of data.



[sysc::OutputComplexScalarData::operator=](classsysc_1_1OutputComplexScalarData.xhtml#aa14627de46b45ac3070900803114062c)

OutputComplexScalarData &amp; operator=(OutputComplexScalarData &amp;&amp;)=default

Provide a move-assign operator.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#acc8f1a93aaf429db11baf9043ea34bf9)

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.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#addb41ddd037b27dd19e6654294f7c194)

OutputComplexScalarData(const std::complex&lt; double &gt; *dataComplex, std::size_t size)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#adf91ed9369ea790ff25efc8138429b3d)

OutputComplexScalarData(const std::vector&lt; std::complex&lt; double &gt;&gt; &amp;dataComplex)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::operator=](classsysc_1_1OutputComplexScalarData.xhtml#ae3e6b55441d7702c04f998f307cc957d)

OutputComplexScalarData &amp; operator=(const OutputComplexScalarData &amp;)=default

Provide a copy-assign operator.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#aef2fe0ae45472d732a8fa1b6c3bf83a2)

OutputComplexScalarData(const double *dataComplex, std::size_t size)

Provide a constructor for output complex scalar data with compact storage for complex components.



[sysc::OutputComplexScalarData::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#af33df90acece2bce5d93d7357c4b3d59)

OutputComplexScalarData(const OutputComplexScalarData &amp;)=default

Provide a copy-constructor.



[sysc::PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844)

PrimitiveType

Provide enum for supported primitive types.

**Definition:** [CommonTypes.hpp:220](CommonTypes_8hpp_source.xhtml#l00220)



[sysc::Double](group__SystemCouplingParticipantAPIs.xhtml#ggad3b1c73e4a63f4d292d65f3db875e844a29843d2c1bb5760f768dcc066dac1ac1)

@ Double

**Definition:** [CommonTypes.hpp:222](CommonTypes_8hpp_source.xhtml#l00222)