    

 ## On this page

  

 

 # OutputVectorData

 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;cstddef&gt;

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

<a id="l00013" name="l00013"></a> 13 

<a id="l00014" name="l00014"></a> 14namespace sysc {

<a id="l00015" name="l00015"></a> 15 

<a id="l00027" name="l00027"></a>[ 27](classsysc_1_1OutputVectorData.xhtml)class SYSTEM_COUPLING_PARTICIPANT_DLL [OutputVectorData](classsysc_1_1OutputVectorData.xhtml) {

<a id="l00028" name="l00028"></a> 28public:

<a id="l00035" name="l00035"></a>[ 35](classsysc_1_1OutputVectorData.xhtml#a5baa242c692e4c981534a3c4e3492ea4) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5baa242c692e4c981534a3c4e3492ea4)(const double* data, std::size_t size);

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

<a id="l00044" name="l00044"></a>[ 44](classsysc_1_1OutputVectorData.xhtml#abed71ad1966f16f00f9596603c23446d) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#abed71ad1966f16f00f9596603c23446d)(const double* data, std::size_t size, [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) dimension);

<a id="l00045" name="l00045"></a> 45 

<a id="l00052" name="l00052"></a>[ 52](classsysc_1_1OutputVectorData.xhtml#aef88547a7694874f7fbf7956130e0066) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aef88547a7694874f7fbf7956130e0066)(const float* data, std::size_t size);

<a id="l00053" name="l00053"></a> 53 

<a id="l00061" name="l00061"></a>[ 61](classsysc_1_1OutputVectorData.xhtml#abb58544d6fe421936606fc665e8ab548) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#abb58544d6fe421936606fc665e8ab548)(const float* data, std::size_t size, [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) dimension);

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

<a id="l00068" name="l00068"></a>[ 68](classsysc_1_1OutputVectorData.xhtml#a3f50f1e64c99ce81d0c0f3ba1df8461e) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a3f50f1e64c99ce81d0c0f3ba1df8461e)(const std::vector&lt;double&gt;&amp; data);

<a id="l00069" name="l00069"></a> 69 

<a id="l00076" name="l00076"></a>[ 76](classsysc_1_1OutputVectorData.xhtml#a5e3662f00e1637635bfc861cf22bd5c9) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5e3662f00e1637635bfc861cf22bd5c9)(const std::vector&lt;double&gt;&amp; data, [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) dimension);

<a id="l00077" name="l00077"></a> 77 

<a id="l00083" name="l00083"></a>[ 83](classsysc_1_1OutputVectorData.xhtml#a030b346cb0d19cb872edc91e2e9c15e5) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a030b346cb0d19cb872edc91e2e9c15e5)(const std::vector&lt;float&gt;&amp; data);

<a id="l00084" name="l00084"></a> 84 

<a id="l00091" name="l00091"></a>[ 91](classsysc_1_1OutputVectorData.xhtml#a406d3ea15f90374c6e4c2c5a4a06f98e) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a406d3ea15f90374c6e4c2c5a4a06f98e)(const std::vector&lt;float&gt;&amp; data, [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) dimension);

<a id="l00092" name="l00092"></a> 92 

<a id="l00102" name="l00102"></a>[ 102](classsysc_1_1OutputVectorData.xhtml#aebefd421a4e0e4b13715ab2cb140bc9b) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aebefd421a4e0e4b13715ab2cb140bc9b)(

<a id="l00103" name="l00103"></a> 103 const double* data0,

<a id="l00104" name="l00104"></a> 104 const double* data1,

<a id="l00105" name="l00105"></a> 105 const double* data2,

<a id="l00106" name="l00106"></a> 106 std::size_t size);

<a id="l00107" name="l00107"></a> 107 

<a id="l00116" name="l00116"></a>[ 116](classsysc_1_1OutputVectorData.xhtml#a79b9a2aa856cebaad7eba43bba1e7b4e) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a79b9a2aa856cebaad7eba43bba1e7b4e)(

<a id="l00117" name="l00117"></a> 117 const double* data0,

<a id="l00118" name="l00118"></a> 118 const double* data1,

<a id="l00119" name="l00119"></a> 119 std::size_t size);

<a id="l00120" name="l00120"></a> 120 

<a id="l00130" name="l00130"></a>[ 130](classsysc_1_1OutputVectorData.xhtml#a5d46caaf7a323c14dec7eef78370eef2) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5d46caaf7a323c14dec7eef78370eef2)(

<a id="l00131" name="l00131"></a> 131 const float* data0,

<a id="l00132" name="l00132"></a> 132 const float* data1,

<a id="l00133" name="l00133"></a> 133 const float* data2,

<a id="l00134" name="l00134"></a> 134 std::size_t size);

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

<a id="l00144" name="l00144"></a>[ 144](classsysc_1_1OutputVectorData.xhtml#a36e46b23e95000c56a5672ac14e5e59c) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a36e46b23e95000c56a5672ac14e5e59c)(

<a id="l00145" name="l00145"></a> 145 const float* data0,

<a id="l00146" name="l00146"></a> 146 const float* data1,

<a id="l00147" name="l00147"></a> 147 std::size_t size);

<a id="l00148" name="l00148"></a> 148 

<a id="l00157" name="l00157"></a>[ 157](classsysc_1_1OutputVectorData.xhtml#ae242e3a4ecaf21e98161eeb9b76ddd96) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#ae242e3a4ecaf21e98161eeb9b76ddd96)(

<a id="l00158" name="l00158"></a> 158 const std::vector&lt;double&gt;&amp; data0,

<a id="l00159" name="l00159"></a> 159 const std::vector&lt;double&gt;&amp; data1,

<a id="l00160" name="l00160"></a> 160 const std::vector&lt;double&gt;&amp; data2);

<a id="l00161" name="l00161"></a> 161 

<a id="l00169" name="l00169"></a>[ 169](classsysc_1_1OutputVectorData.xhtml#a22be92b580e7c0066b685727e37e136d) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a22be92b580e7c0066b685727e37e136d)(

<a id="l00170" name="l00170"></a> 170 const std::vector&lt;double&gt;&amp; data0,

<a id="l00171" name="l00171"></a> 171 const std::vector&lt;double&gt;&amp; data1);

<a id="l00172" name="l00172"></a> 172 

<a id="l00181" name="l00181"></a>[ 181](classsysc_1_1OutputVectorData.xhtml#aca273abdb13cb319c0a62fd1e1a3a6de) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aca273abdb13cb319c0a62fd1e1a3a6de)(

<a id="l00182" name="l00182"></a> 182 const std::vector&lt;float&gt;&amp; data0,

<a id="l00183" name="l00183"></a> 183 const std::vector&lt;float&gt;&amp; data1,

<a id="l00184" name="l00184"></a> 184 const std::vector&lt;float&gt;&amp; data2);

<a id="l00185" name="l00185"></a> 185 

<a id="l00193" name="l00193"></a>[ 193](classsysc_1_1OutputVectorData.xhtml#a4f336e55e4dbce34271fb0c287e7efaa) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a4f336e55e4dbce34271fb0c287e7efaa)(

<a id="l00194" name="l00194"></a> 194 const std::vector&lt;float&gt;&amp; data0,

<a id="l00195" name="l00195"></a> 195 const std::vector&lt;float&gt;&amp; data1);

<a id="l00196" name="l00196"></a> 196 

<a id="l00198" name="l00198"></a>[ 198](classsysc_1_1OutputVectorData.xhtml#a9ec5428be66a6df185dd3ed80b0eb64e) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a9ec5428be66a6df185dd3ed80b0eb64e)() = default;

<a id="l00199" name="l00199"></a> 199 

<a id="l00201" name="l00201"></a>[ 201](classsysc_1_1OutputVectorData.xhtml#a25c63d3cb6b341e0f60e4b952340eaf8) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a25c63d3cb6b341e0f60e4b952340eaf8)(const [OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp;) = default;

<a id="l00202" name="l00202"></a> 202 

<a id="l00204" name="l00204"></a>[ 204](classsysc_1_1OutputVectorData.xhtml#acd5db0cd2504d1bc6c933d0108982287) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml#acd5db0cd2504d1bc6c933d0108982287)([OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp;&amp;) = default;

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

<a id="l00207" name="l00207"></a>[ 207](classsysc_1_1OutputVectorData.xhtml#a61b2ae2e8bc599f9f474004bf604f7fb) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp; [operator=](classsysc_1_1OutputVectorData.xhtml#a61b2ae2e8bc599f9f474004bf604f7fb)(const [OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp;) = default;

<a id="l00208" name="l00208"></a> 208 

<a id="l00210" name="l00210"></a>[ 210](classsysc_1_1OutputVectorData.xhtml#aad1840875a905047a6c63450d20c38c6) [OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp; [operator=](classsysc_1_1OutputVectorData.xhtml#aad1840875a905047a6c63450d20c38c6)([OutputVectorData](classsysc_1_1OutputVectorData.xhtml)&amp;&amp;) = default;

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

<a id="l00213" name="l00213"></a>[ 213](classsysc_1_1OutputVectorData.xhtml#a785bd4cc2083bb890f1892c373facb33) std::size_t [size](classsysc_1_1OutputVectorData.xhtml#a785bd4cc2083bb890f1892c373facb33)() const noexcept;

<a id="l00214" name="l00214"></a> 214 

<a id="l00216" name="l00216"></a>[ 216](classsysc_1_1OutputVectorData.xhtml#ad6bc7562925ae28572cd41e890d95c2c) bool empty() const noexcept;

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

<a id="l00222" name="l00222"></a>[ 222](classsysc_1_1OutputVectorData.xhtml#a17e8aa13a07402bd901c14b52e4645a1) sysc::[PrimitiveType](group__SystemCouplingParticipantAPIs.xhtml#gad3b1c73e4a63f4d292d65f3db875e844) getDataType() const noexcept;

<a id="l00223" name="l00223"></a> 223 

<a id="l00229" name="l00229"></a>[ 229](classsysc_1_1OutputVectorData.xhtml#a4ec5da13d8806b713d25d12f2c2385e8) bool isSplitVector() const noexcept;

<a id="l00230" name="l00230"></a> 230 

<a id="l00236" name="l00236"></a>[ 236](classsysc_1_1OutputVectorData.xhtml#a5c79a1d5de5cde56ea711a90ac002837) const void* getData0() const noexcept;

<a id="l00237" name="l00237"></a> 237 

<a id="l00243" name="l00243"></a>[ 243](classsysc_1_1OutputVectorData.xhtml#a2da1bfa2a56f85194af9140fcdfb03bc) const void* getData1() const noexcept;

<a id="l00244" name="l00244"></a> 244 

<a id="l00250" name="l00250"></a>[ 250](classsysc_1_1OutputVectorData.xhtml#a72f11339f721dd4ea8ca1dfb518d0969) const void* getData2() const noexcept;

<a id="l00251" name="l00251"></a> 251 

<a id="l00257" name="l00257"></a>[ 257](classsysc_1_1OutputVectorData.xhtml#a22aafd281edba30114f84de2d01fac6b) [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) getDimension() const noexcept;

<a id="l00258" name="l00258"></a> 258 

<a id="l00259" name="l00259"></a> 259private:

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

<a id="l00261" name="l00261"></a> 261 bool m_isSplitVector{false};

<a id="l00262" name="l00262"></a> 262 const void* m_data0{nullptr};

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

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

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

<a id="l00266" name="l00266"></a> 266 [Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c) m_dimension{Dimension::D3};

<a id="l00267" name="l00267"></a> 267};



<a id="l00268" name="l00268"></a> 268 

<a id="l00269" name="l00269"></a> 269} // namespace sysc

[sysc::OutputVectorData](classsysc_1_1OutputVectorData.xhtml)

Provide a class for output vector data.

**Definition** [OutputVectorData.hpp:27](OutputVectorData_8hpp_source.xhtml#l00027)



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a030b346cb0d19cb872edc91e2e9c15e5)

OutputVectorData(const std::vector&lt; float &gt; &amp;data)

Provide a constructor for output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a22be92b580e7c0066b685727e37e136d)

OutputVectorData(const std::vector&lt; double &gt; &amp;data0, const std::vector&lt; double &gt; &amp;data1)

Create an 2D output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a25c63d3cb6b341e0f60e4b952340eaf8)

OutputVectorData(const OutputVectorData &amp;)=default

Provide a copy-constructor.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a36e46b23e95000c56a5672ac14e5e59c)

OutputVectorData(const float *data0, const float *data1, std::size_t size)

Create an 2D output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a3f50f1e64c99ce81d0c0f3ba1df8461e)

OutputVectorData(const std::vector&lt; double &gt; &amp;data)

Provide a constructor for output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a406d3ea15f90374c6e4c2c5a4a06f98e)

OutputVectorData(const std::vector&lt; float &gt; &amp;data, Dimension dimension)

Provide a constructor for 2D output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a4f336e55e4dbce34271fb0c287e7efaa)

OutputVectorData(const std::vector&lt; float &gt; &amp;data0, const std::vector&lt; float &gt; &amp;data1)

Create an 2D output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5baa242c692e4c981534a3c4e3492ea4)

OutputVectorData(const double *data, std::size_t size)

Provide a constructor for output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5d46caaf7a323c14dec7eef78370eef2)

OutputVectorData(const float *data0, const float *data1, const float *data2, std::size_t size)

Create an output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a5e3662f00e1637635bfc861cf22bd5c9)

OutputVectorData(const std::vector&lt; double &gt; &amp;data, Dimension dimension)

Provide a constructor for 2D output vector data with compact storage.



[sysc::OutputVectorData::operator=](classsysc_1_1OutputVectorData.xhtml#a61b2ae2e8bc599f9f474004bf604f7fb)

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

Provide a copy-assign operator.



[sysc::OutputVectorData::size](classsysc_1_1OutputVectorData.xhtml#a785bd4cc2083bb890f1892c373facb33)

std::size_t size() const noexcept

Get the size of data.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a79b9a2aa856cebaad7eba43bba1e7b4e)

OutputVectorData(const double *data0, const double *data1, std::size_t size)

Create an 2D output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#a9ec5428be66a6df185dd3ed80b0eb64e)

OutputVectorData()=default

Provide a default constructor.



[sysc::OutputVectorData::operator=](classsysc_1_1OutputVectorData.xhtml#aad1840875a905047a6c63450d20c38c6)

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

Provide a move-assign operator.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#abb58544d6fe421936606fc665e8ab548)

OutputVectorData(const float *data, std::size_t size, Dimension dimension)

Provide a constructor for 2D output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#abed71ad1966f16f00f9596603c23446d)

OutputVectorData(const double *data, std::size_t size, Dimension dimension)

Provide a constructor for 2D output vector data with compact storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aca273abdb13cb319c0a62fd1e1a3a6de)

OutputVectorData(const std::vector&lt; float &gt; &amp;data0, const std::vector&lt; float &gt; &amp;data1, const std::vector&lt; float &gt; &amp;data2)

Create an output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#acd5db0cd2504d1bc6c933d0108982287)

OutputVectorData(OutputVectorData &amp;&amp;)=default

Provide a move-constructor.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#ae242e3a4ecaf21e98161eeb9b76ddd96)

OutputVectorData(const std::vector&lt; double &gt; &amp;data0, const std::vector&lt; double &gt; &amp;data1, const std::vector&lt; double &gt; &amp;data2)

Create an output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aebefd421a4e0e4b13715ab2cb140bc9b)

OutputVectorData(const double *data0, const double *data1, const double *data2, std::size_t size)

Create an output vector data access object with split storage.



[sysc::OutputVectorData::OutputVectorData](classsysc_1_1OutputVectorData.xhtml#aef88547a7694874f7fbf7956130e0066)

OutputVectorData(const float *data, std::size_t size)

Provide a constructor for output vector data with compact storage.



[sysc::Dimension](group__SystemCouplingParticipantAPIs.xhtml#ga47c8e4142175574918b84d336780cc7c)

Dimension

Provide an enum for participant dimension.

**Definition** [CommonSettings.hpp:26](CommonSettings_8hpp_source.xhtml#l00026)



[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)