    

 ## On this page

  

 

 # OutputComplexScalarData

 Last update: 17.07.2025 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00048" 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 id="l00049" name="l00049"></a> 49 

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

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

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

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

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

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

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

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

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

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

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

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

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

<a id="l00121" 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 id="l00122" name="l00122"></a> 122 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

<a id="l00228" 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::operator=](classsysc_1_1OutputComplexScalarData.xhtml#a3d1307e4f0f2d5d61670c2aaf95c622b)

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

Provide a move-assign operator.



[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::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#ab59cf8c23945529a16ad2d00c1900bfc)

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::OutputComplexScalarData](classsysc_1_1OutputComplexScalarData.xhtml#ab65f70f717178d7f61f91e90295c551e)

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#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::operator=](classsysc_1_1OutputComplexScalarData.xhtml#acddd54ad0a4ab43a87f9d1253a25cce9)

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

Provide a copy-assign operator.



[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#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:219](CommonTypes_8hpp_source.xhtml#l00219)



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

@ Double

**Definition** [CommonTypes.hpp:221](CommonTypes_8hpp_source.xhtml#l00221)