ARTS 2.5.11 (git: 725533f0)
tokval.h
Go to the documentation of this file.
1// auto-generated tokval interface
2
3#ifndef auto_tokval_h
4#define auto_tokval_h
5
6#include "ppath_struct.h"
7#include "absorptionlines.h"
8#include "artstime.h"
9#include "callback.h"
10#include "cia.h"
11#include "covariance_matrix.h"
12#include "energylevelmap.h"
13#include "gas_abs_lookup.h"
14#include "linemixing.h"
15#include "linemixing_hitran.h"
16#include "matpack_data.h"
17#include "mc_antenna.h"
18#include "optproperties.h"
19#include "sun.h"
20#include "supergeneric.h"
21#include "telsem.h"
22#include "tessem.h"
23#include "timer_struct.h"
24#include "transmissionmatrix.h"
25#include "xsec_fit.h"
26
27#include <fwd.h>
28#include <predefined/predef_data.h>
29
30template <class base> class Array;
31class Agenda;
33
34template <typename T>
35concept ArtsType = false
36 or std::is_same_v<std::remove_cvref_t<T>, AbsorptionLines>
37 or std::is_same_v<std::remove_cvref_t<T>, Agenda>
38 or std::is_same_v<std::remove_cvref_t<T>, Any>
39 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfAbsorptionLines>
40 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfAgenda>
41 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfAbsorptionLines>
42 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfGriddedField1>
43 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfGriddedField2>
44 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfGriddedField3>
45 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfIndex>
46 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfMatrix>
47 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfPropagationMatrix>
48 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfRadiationVector>
49 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfScatteringMetaData>
50 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfSingleScatteringData>
51 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfSpeciesTag>
52 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfStokesVector>
53 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfString>
54 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfTensor3>
55 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfTensor6>
56 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfTime>
57 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfTransmissionMatrix>
58 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfArrayOfVector>
59 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfCIARecord>
60 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfGriddedField1>
61 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfGriddedField2>
62 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfGriddedField3>
63 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfGriddedField4>
64 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfIndex>
65 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfJacobianTarget>
66 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfMatrix>
67 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfPpath>
68 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfPropagationMatrix>
69 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfQuantumIdentifier>
70 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfRadiationVector>
71 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfRetrievalQuantity>
72 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfScatteringMetaData>
73 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfSingleScatteringData>
74 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfSparse>
75 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfSpeciesTag>
76 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfStokesVector>
77 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfString>
78 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfSun>
79 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTelsemAtlas>
80 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTensor3>
81 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTensor4>
82 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTensor5>
83 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTensor6>
84 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTensor7>
85 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTime>
86 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfTransmissionMatrix>
87 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfVector>
88 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfXsecRecord>
89 or std::is_same_v<std::remove_cvref_t<T>, CIARecord>
90 or std::is_same_v<std::remove_cvref_t<T>, CallbackFunction>
91 or std::is_same_v<std::remove_cvref_t<T>, CovarianceMatrix>
92 or std::is_same_v<std::remove_cvref_t<T>, EnergyLevelMap>
93 or std::is_same_v<std::remove_cvref_t<T>, GasAbsLookup>
94 or std::is_same_v<std::remove_cvref_t<T>, GridPos>
95 or std::is_same_v<std::remove_cvref_t<T>, GriddedField1>
96 or std::is_same_v<std::remove_cvref_t<T>, GriddedField2>
97 or std::is_same_v<std::remove_cvref_t<T>, GriddedField3>
98 or std::is_same_v<std::remove_cvref_t<T>, GriddedField4>
99 or std::is_same_v<std::remove_cvref_t<T>, GriddedField5>
100 or std::is_same_v<std::remove_cvref_t<T>, GriddedField6>
101 or std::is_same_v<std::remove_cvref_t<T>, HitranRelaxationMatrixData>
102 or std::is_same_v<std::remove_cvref_t<T>, Index>
103 or std::is_same_v<std::remove_cvref_t<T>, JacobianTarget>
104 or std::is_same_v<std::remove_cvref_t<T>, MCAntenna>
105 or std::is_same_v<std::remove_cvref_t<T>, MapOfErrorCorrectedSuddenData>
106 or std::is_same_v<std::remove_cvref_t<T>, Matrix>
107 or std::is_same_v<std::remove_cvref_t<T>, Numeric>
108 or std::is_same_v<std::remove_cvref_t<T>, Ppath>
109 or std::is_same_v<std::remove_cvref_t<T>, PredefinedModelData>
110 or std::is_same_v<std::remove_cvref_t<T>, PropagationMatrix>
111 or std::is_same_v<std::remove_cvref_t<T>, QuantumIdentifier>
112 or std::is_same_v<std::remove_cvref_t<T>, RadiationVector>
113 or std::is_same_v<std::remove_cvref_t<T>, Rational>
114 or std::is_same_v<std::remove_cvref_t<T>, ScatteringMetaData>
115 or std::is_same_v<std::remove_cvref_t<T>, SingleScatteringData>
116 or std::is_same_v<std::remove_cvref_t<T>, Sparse>
117 or std::is_same_v<std::remove_cvref_t<T>, SpeciesIsotopologueRatios>
118 or std::is_same_v<std::remove_cvref_t<T>, SpectralRadianceProfileOperator>
119 or std::is_same_v<std::remove_cvref_t<T>, StokesVector>
120 or std::is_same_v<std::remove_cvref_t<T>, String>
121 or std::is_same_v<std::remove_cvref_t<T>, TelsemAtlas>
122 or std::is_same_v<std::remove_cvref_t<T>, Tensor3>
123 or std::is_same_v<std::remove_cvref_t<T>, Tensor4>
124 or std::is_same_v<std::remove_cvref_t<T>, Tensor5>
125 or std::is_same_v<std::remove_cvref_t<T>, Tensor6>
126 or std::is_same_v<std::remove_cvref_t<T>, Tensor7>
127 or std::is_same_v<std::remove_cvref_t<T>, TessemNN>
128 or std::is_same_v<std::remove_cvref_t<T>, Time>
129 or std::is_same_v<std::remove_cvref_t<T>, Timer>
130 or std::is_same_v<std::remove_cvref_t<T>, TransmissionMatrix>
131 or std::is_same_v<std::remove_cvref_t<T>, Vector>
132 or std::is_same_v<std::remove_cvref_t<T>, Verbosity>;
133
134template <typename T>
135concept ArtsTypeMove = ArtsType<T> and std::is_same_v<std::add_rvalue_reference<std::remove_cvref_t<T>>, T>;
136
137template <typename T>
138concept ArtsTypeRef = ArtsType<T> and std::is_same_v<std::add_lvalue_reference<std::remove_cvref_t<T>>, T>;
139
140template <typename T>
141concept ArtsTypeConstRef = ArtsType<T> and std::is_same_v<std::add_const_t<std::add_lvalue_reference<std::remove_cvref_t<T>>>, T>;
142
143template <typename T>
144concept ArtsTypeBase = ArtsType<T> and std::is_same_v<std::remove_cvref_t<T>, T>;
145
146template <ArtsTypeBase> struct WorkspaceGroupIndex { static constexpr Index value=-1; };
147template <> struct WorkspaceGroupIndex<AbsorptionLines> { static constexpr Index value=0; };
148template <> struct WorkspaceGroupIndex<Agenda> { static constexpr Index value=1; };
149template <> struct WorkspaceGroupIndex<Any> { static constexpr Index value=2; };
150template <> struct WorkspaceGroupIndex<ArrayOfAbsorptionLines> { static constexpr Index value=3; };
151template <> struct WorkspaceGroupIndex<ArrayOfAgenda> { static constexpr Index value=4; };
152template <> struct WorkspaceGroupIndex<ArrayOfArrayOfAbsorptionLines> { static constexpr Index value=5; };
153template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField1> { static constexpr Index value=6; };
154template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField2> { static constexpr Index value=7; };
155template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField3> { static constexpr Index value=8; };
156template <> struct WorkspaceGroupIndex<ArrayOfArrayOfIndex> { static constexpr Index value=9; };
157template <> struct WorkspaceGroupIndex<ArrayOfArrayOfMatrix> { static constexpr Index value=10; };
158template <> struct WorkspaceGroupIndex<ArrayOfArrayOfPropagationMatrix> { static constexpr Index value=11; };
159template <> struct WorkspaceGroupIndex<ArrayOfArrayOfRadiationVector> { static constexpr Index value=12; };
160template <> struct WorkspaceGroupIndex<ArrayOfArrayOfScatteringMetaData> { static constexpr Index value=13; };
161template <> struct WorkspaceGroupIndex<ArrayOfArrayOfSingleScatteringData> { static constexpr Index value=14; };
162template <> struct WorkspaceGroupIndex<ArrayOfArrayOfSpeciesTag> { static constexpr Index value=15; };
163template <> struct WorkspaceGroupIndex<ArrayOfArrayOfStokesVector> { static constexpr Index value=16; };
164template <> struct WorkspaceGroupIndex<ArrayOfArrayOfString> { static constexpr Index value=17; };
165template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTensor3> { static constexpr Index value=18; };
166template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTensor6> { static constexpr Index value=19; };
167template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTime> { static constexpr Index value=20; };
168template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTransmissionMatrix> { static constexpr Index value=21; };
169template <> struct WorkspaceGroupIndex<ArrayOfArrayOfVector> { static constexpr Index value=22; };
170template <> struct WorkspaceGroupIndex<ArrayOfCIARecord> { static constexpr Index value=23; };
171template <> struct WorkspaceGroupIndex<ArrayOfGriddedField1> { static constexpr Index value=24; };
172template <> struct WorkspaceGroupIndex<ArrayOfGriddedField2> { static constexpr Index value=25; };
173template <> struct WorkspaceGroupIndex<ArrayOfGriddedField3> { static constexpr Index value=26; };
174template <> struct WorkspaceGroupIndex<ArrayOfGriddedField4> { static constexpr Index value=27; };
175template <> struct WorkspaceGroupIndex<ArrayOfIndex> { static constexpr Index value=28; };
176template <> struct WorkspaceGroupIndex<ArrayOfJacobianTarget> { static constexpr Index value=29; };
177template <> struct WorkspaceGroupIndex<ArrayOfMatrix> { static constexpr Index value=30; };
178template <> struct WorkspaceGroupIndex<ArrayOfPpath> { static constexpr Index value=31; };
179template <> struct WorkspaceGroupIndex<ArrayOfPropagationMatrix> { static constexpr Index value=32; };
180template <> struct WorkspaceGroupIndex<ArrayOfQuantumIdentifier> { static constexpr Index value=33; };
181template <> struct WorkspaceGroupIndex<ArrayOfRadiationVector> { static constexpr Index value=34; };
182template <> struct WorkspaceGroupIndex<ArrayOfRetrievalQuantity> { static constexpr Index value=35; };
183template <> struct WorkspaceGroupIndex<ArrayOfScatteringMetaData> { static constexpr Index value=36; };
184template <> struct WorkspaceGroupIndex<ArrayOfSingleScatteringData> { static constexpr Index value=37; };
185template <> struct WorkspaceGroupIndex<ArrayOfSparse> { static constexpr Index value=38; };
186template <> struct WorkspaceGroupIndex<ArrayOfSpeciesTag> { static constexpr Index value=39; };
187template <> struct WorkspaceGroupIndex<ArrayOfStokesVector> { static constexpr Index value=40; };
188template <> struct WorkspaceGroupIndex<ArrayOfString> { static constexpr Index value=41; };
189template <> struct WorkspaceGroupIndex<ArrayOfSun> { static constexpr Index value=42; };
190template <> struct WorkspaceGroupIndex<ArrayOfTelsemAtlas> { static constexpr Index value=43; };
191template <> struct WorkspaceGroupIndex<ArrayOfTensor3> { static constexpr Index value=44; };
192template <> struct WorkspaceGroupIndex<ArrayOfTensor4> { static constexpr Index value=45; };
193template <> struct WorkspaceGroupIndex<ArrayOfTensor5> { static constexpr Index value=46; };
194template <> struct WorkspaceGroupIndex<ArrayOfTensor6> { static constexpr Index value=47; };
195template <> struct WorkspaceGroupIndex<ArrayOfTensor7> { static constexpr Index value=48; };
196template <> struct WorkspaceGroupIndex<ArrayOfTime> { static constexpr Index value=49; };
197template <> struct WorkspaceGroupIndex<ArrayOfTransmissionMatrix> { static constexpr Index value=50; };
198template <> struct WorkspaceGroupIndex<ArrayOfVector> { static constexpr Index value=51; };
199template <> struct WorkspaceGroupIndex<ArrayOfXsecRecord> { static constexpr Index value=52; };
200template <> struct WorkspaceGroupIndex<CIARecord> { static constexpr Index value=53; };
201template <> struct WorkspaceGroupIndex<CallbackFunction> { static constexpr Index value=54; };
202template <> struct WorkspaceGroupIndex<CovarianceMatrix> { static constexpr Index value=55; };
203template <> struct WorkspaceGroupIndex<EnergyLevelMap> { static constexpr Index value=56; };
204template <> struct WorkspaceGroupIndex<GasAbsLookup> { static constexpr Index value=57; };
205template <> struct WorkspaceGroupIndex<GridPos> { static constexpr Index value=58; };
206template <> struct WorkspaceGroupIndex<GriddedField1> { static constexpr Index value=59; };
207template <> struct WorkspaceGroupIndex<GriddedField2> { static constexpr Index value=60; };
208template <> struct WorkspaceGroupIndex<GriddedField3> { static constexpr Index value=61; };
209template <> struct WorkspaceGroupIndex<GriddedField4> { static constexpr Index value=62; };
210template <> struct WorkspaceGroupIndex<GriddedField5> { static constexpr Index value=63; };
211template <> struct WorkspaceGroupIndex<GriddedField6> { static constexpr Index value=64; };
212template <> struct WorkspaceGroupIndex<HitranRelaxationMatrixData> { static constexpr Index value=65; };
213template <> struct WorkspaceGroupIndex<Index> { static constexpr Index value=66; };
214template <> struct WorkspaceGroupIndex<JacobianTarget> { static constexpr Index value=67; };
215template <> struct WorkspaceGroupIndex<MCAntenna> { static constexpr Index value=68; };
216template <> struct WorkspaceGroupIndex<MapOfErrorCorrectedSuddenData> { static constexpr Index value=69; };
217template <> struct WorkspaceGroupIndex<Matrix> { static constexpr Index value=70; };
218template <> struct WorkspaceGroupIndex<Numeric> { static constexpr Index value=71; };
219template <> struct WorkspaceGroupIndex<Ppath> { static constexpr Index value=72; };
220template <> struct WorkspaceGroupIndex<PredefinedModelData> { static constexpr Index value=73; };
221template <> struct WorkspaceGroupIndex<PropagationMatrix> { static constexpr Index value=74; };
222template <> struct WorkspaceGroupIndex<QuantumIdentifier> { static constexpr Index value=75; };
223template <> struct WorkspaceGroupIndex<RadiationVector> { static constexpr Index value=76; };
224template <> struct WorkspaceGroupIndex<Rational> { static constexpr Index value=77; };
225template <> struct WorkspaceGroupIndex<ScatteringMetaData> { static constexpr Index value=78; };
226template <> struct WorkspaceGroupIndex<SingleScatteringData> { static constexpr Index value=79; };
227template <> struct WorkspaceGroupIndex<Sparse> { static constexpr Index value=80; };
228template <> struct WorkspaceGroupIndex<SpeciesIsotopologueRatios> { static constexpr Index value=81; };
229template <> struct WorkspaceGroupIndex<SpectralRadianceProfileOperator> { static constexpr Index value=82; };
230template <> struct WorkspaceGroupIndex<StokesVector> { static constexpr Index value=83; };
231template <> struct WorkspaceGroupIndex<String> { static constexpr Index value=84; };
232template <> struct WorkspaceGroupIndex<TelsemAtlas> { static constexpr Index value=85; };
233template <> struct WorkspaceGroupIndex<Tensor3> { static constexpr Index value=86; };
234template <> struct WorkspaceGroupIndex<Tensor4> { static constexpr Index value=87; };
235template <> struct WorkspaceGroupIndex<Tensor5> { static constexpr Index value=88; };
236template <> struct WorkspaceGroupIndex<Tensor6> { static constexpr Index value=89; };
237template <> struct WorkspaceGroupIndex<Tensor7> { static constexpr Index value=90; };
238template <> struct WorkspaceGroupIndex<TessemNN> { static constexpr Index value=91; };
239template <> struct WorkspaceGroupIndex<Time> { static constexpr Index value=92; };
240template <> struct WorkspaceGroupIndex<Timer> { static constexpr Index value=93; };
241template <> struct WorkspaceGroupIndex<TransmissionMatrix> { static constexpr Index value=94; };
242template <> struct WorkspaceGroupIndex<Vector> { static constexpr Index value=95; };
243template <> struct WorkspaceGroupIndex<Verbosity> { static constexpr Index value=96; };
244
245template <ArtsTypeBase T> inline constexpr Index WorkspaceGroupIndexValue = WorkspaceGroupIndex<T>::value;
246
247class TokVal {
248 void * ptr{nullptr};
249public:
252 [[nodiscard]] bool holdsAbsorptionLines() const;
253 operator AbsorptionLines() const;
254
255 TokVal(Agenda in);
257 [[nodiscard]] bool holdsAgenda() const;
258 operator Agenda() const;
259
260 TokVal(Any in);
261 TokVal& operator=(Any in);
262 [[nodiscard]] bool holdsAny() const;
263 operator Any() const;
264
267 [[nodiscard]] bool holdsArrayOfAbsorptionLines() const;
268 operator ArrayOfAbsorptionLines() const;
269
272 [[nodiscard]] bool holdsArrayOfAgenda() const;
273 operator ArrayOfAgenda() const;
274
277 [[nodiscard]] bool holdsArrayOfArrayOfAbsorptionLines() const;
278 operator ArrayOfArrayOfAbsorptionLines() const;
279
282 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField1() const;
283 operator ArrayOfArrayOfGriddedField1() const;
284
287 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField2() const;
288 operator ArrayOfArrayOfGriddedField2() const;
289
292 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField3() const;
293 operator ArrayOfArrayOfGriddedField3() const;
294
297 [[nodiscard]] bool holdsArrayOfArrayOfIndex() const;
298 operator ArrayOfArrayOfIndex() const;
299
300 TokVal(ArrayOfArrayOfMatrix in);
301 TokVal& operator=(ArrayOfArrayOfMatrix in);
302 [[nodiscard]] bool holdsArrayOfArrayOfMatrix() const;
303 operator ArrayOfArrayOfMatrix() const;
304
305 TokVal(ArrayOfArrayOfPropagationMatrix in);
306 TokVal& operator=(ArrayOfArrayOfPropagationMatrix in);
307 [[nodiscard]] bool holdsArrayOfArrayOfPropagationMatrix() const;
308 operator ArrayOfArrayOfPropagationMatrix() const;
309
312 [[nodiscard]] bool holdsArrayOfArrayOfRadiationVector() const;
313 operator ArrayOfArrayOfRadiationVector() const;
314
317 [[nodiscard]] bool holdsArrayOfArrayOfScatteringMetaData() const;
318 operator ArrayOfArrayOfScatteringMetaData() const;
319
322 [[nodiscard]] bool holdsArrayOfArrayOfSingleScatteringData() const;
323 operator ArrayOfArrayOfSingleScatteringData() const;
324
327 [[nodiscard]] bool holdsArrayOfArrayOfSpeciesTag() const;
328 operator ArrayOfArrayOfSpeciesTag() const;
329
330 TokVal(ArrayOfArrayOfStokesVector in);
331 TokVal& operator=(ArrayOfArrayOfStokesVector in);
332 [[nodiscard]] bool holdsArrayOfArrayOfStokesVector() const;
333 operator ArrayOfArrayOfStokesVector() const;
334
337 [[nodiscard]] bool holdsArrayOfArrayOfString() const;
338 operator ArrayOfArrayOfString() const;
339
340 TokVal(ArrayOfArrayOfTensor3 in);
341 TokVal& operator=(ArrayOfArrayOfTensor3 in);
342 [[nodiscard]] bool holdsArrayOfArrayOfTensor3() const;
343 operator ArrayOfArrayOfTensor3() const;
344
345 TokVal(ArrayOfArrayOfTensor6 in);
346 TokVal& operator=(ArrayOfArrayOfTensor6 in);
347 [[nodiscard]] bool holdsArrayOfArrayOfTensor6() const;
348 operator ArrayOfArrayOfTensor6() const;
349
352 [[nodiscard]] bool holdsArrayOfArrayOfTime() const;
353 operator ArrayOfArrayOfTime() const;
354
357 [[nodiscard]] bool holdsArrayOfArrayOfTransmissionMatrix() const;
358 operator ArrayOfArrayOfTransmissionMatrix() const;
359
360 TokVal(ArrayOfArrayOfVector in);
361 TokVal& operator=(ArrayOfArrayOfVector in);
362 [[nodiscard]] bool holdsArrayOfArrayOfVector() const;
363 operator ArrayOfArrayOfVector() const;
364
367 [[nodiscard]] bool holdsArrayOfCIARecord() const;
368 operator ArrayOfCIARecord() const;
369
372 [[nodiscard]] bool holdsArrayOfGriddedField1() const;
373 operator ArrayOfGriddedField1() const;
374
377 [[nodiscard]] bool holdsArrayOfGriddedField2() const;
378 operator ArrayOfGriddedField2() const;
379
382 [[nodiscard]] bool holdsArrayOfGriddedField3() const;
383 operator ArrayOfGriddedField3() const;
384
387 [[nodiscard]] bool holdsArrayOfGriddedField4() const;
388 operator ArrayOfGriddedField4() const;
389
392 [[nodiscard]] bool holdsArrayOfIndex() const;
393 operator ArrayOfIndex() const;
394
397 [[nodiscard]] bool holdsArrayOfJacobianTarget() const;
398 operator ArrayOfJacobianTarget() const;
399
400 TokVal(ArrayOfMatrix in);
401 TokVal& operator=(ArrayOfMatrix in);
402 [[nodiscard]] bool holdsArrayOfMatrix() const;
403 operator ArrayOfMatrix() const;
404
407 [[nodiscard]] bool holdsArrayOfPpath() const;
408 operator ArrayOfPpath() const;
409
410 TokVal(ArrayOfPropagationMatrix in);
411 TokVal& operator=(ArrayOfPropagationMatrix in);
412 [[nodiscard]] bool holdsArrayOfPropagationMatrix() const;
413 operator ArrayOfPropagationMatrix() const;
414
417 [[nodiscard]] bool holdsArrayOfQuantumIdentifier() const;
418 operator ArrayOfQuantumIdentifier() const;
419
422 [[nodiscard]] bool holdsArrayOfRadiationVector() const;
423 operator ArrayOfRadiationVector() const;
424
427 [[nodiscard]] bool holdsArrayOfRetrievalQuantity() const;
428 operator ArrayOfRetrievalQuantity() const;
429
432 [[nodiscard]] bool holdsArrayOfScatteringMetaData() const;
433 operator ArrayOfScatteringMetaData() const;
434
437 [[nodiscard]] bool holdsArrayOfSingleScatteringData() const;
438 operator ArrayOfSingleScatteringData() const;
439
440 TokVal(ArrayOfSparse in);
441 TokVal& operator=(ArrayOfSparse in);
442 [[nodiscard]] bool holdsArrayOfSparse() const;
443 operator ArrayOfSparse() const;
444
447 [[nodiscard]] bool holdsArrayOfSpeciesTag() const;
448 operator ArrayOfSpeciesTag() const;
449
450 TokVal(ArrayOfStokesVector in);
451 TokVal& operator=(ArrayOfStokesVector in);
452 [[nodiscard]] bool holdsArrayOfStokesVector() const;
453 operator ArrayOfStokesVector() const;
454
457 [[nodiscard]] bool holdsArrayOfString() const;
458 operator ArrayOfString() const;
459
460 TokVal(ArrayOfSun in);
462 [[nodiscard]] bool holdsArrayOfSun() const;
463 operator ArrayOfSun() const;
464
467 [[nodiscard]] bool holdsArrayOfTelsemAtlas() const;
468 operator ArrayOfTelsemAtlas() const;
469
470 TokVal(ArrayOfTensor3 in);
471 TokVal& operator=(ArrayOfTensor3 in);
472 [[nodiscard]] bool holdsArrayOfTensor3() const;
473 operator ArrayOfTensor3() const;
474
475 TokVal(ArrayOfTensor4 in);
476 TokVal& operator=(ArrayOfTensor4 in);
477 [[nodiscard]] bool holdsArrayOfTensor4() const;
478 operator ArrayOfTensor4() const;
479
480 TokVal(ArrayOfTensor5 in);
481 TokVal& operator=(ArrayOfTensor5 in);
482 [[nodiscard]] bool holdsArrayOfTensor5() const;
483 operator ArrayOfTensor5() const;
484
485 TokVal(ArrayOfTensor6 in);
486 TokVal& operator=(ArrayOfTensor6 in);
487 [[nodiscard]] bool holdsArrayOfTensor6() const;
488 operator ArrayOfTensor6() const;
489
490 TokVal(ArrayOfTensor7 in);
491 TokVal& operator=(ArrayOfTensor7 in);
492 [[nodiscard]] bool holdsArrayOfTensor7() const;
493 operator ArrayOfTensor7() const;
494
497 [[nodiscard]] bool holdsArrayOfTime() const;
498 operator ArrayOfTime() const;
499
502 [[nodiscard]] bool holdsArrayOfTransmissionMatrix() const;
503 operator ArrayOfTransmissionMatrix() const;
504
505 TokVal(ArrayOfVector in);
506 TokVal& operator=(ArrayOfVector in);
507 [[nodiscard]] bool holdsArrayOfVector() const;
508 operator ArrayOfVector() const;
509
512 [[nodiscard]] bool holdsArrayOfXsecRecord() const;
513 operator ArrayOfXsecRecord() const;
514
515 TokVal(CIARecord in);
517 [[nodiscard]] bool holdsCIARecord() const;
518 operator CIARecord() const;
519
522 [[nodiscard]] bool holdsCallbackFunction() const;
523 operator CallbackFunction() const;
524
527 [[nodiscard]] bool holdsCovarianceMatrix() const;
528 operator CovarianceMatrix() const;
529
532 [[nodiscard]] bool holdsEnergyLevelMap() const;
533 operator EnergyLevelMap() const;
534
537 [[nodiscard]] bool holdsGasAbsLookup() const;
538 operator GasAbsLookup() const;
539
540 TokVal(GridPos in);
542 [[nodiscard]] bool holdsGridPos() const;
543 operator GridPos() const;
544
547 [[nodiscard]] bool holdsGriddedField1() const;
548 operator GriddedField1() const;
549
552 [[nodiscard]] bool holdsGriddedField2() const;
553 operator GriddedField2() const;
554
557 [[nodiscard]] bool holdsGriddedField3() const;
558 operator GriddedField3() const;
559
562 [[nodiscard]] bool holdsGriddedField4() const;
563 operator GriddedField4() const;
564
567 [[nodiscard]] bool holdsGriddedField5() const;
568 operator GriddedField5() const;
569
572 [[nodiscard]] bool holdsGriddedField6() const;
573 operator GriddedField6() const;
574
577 [[nodiscard]] bool holdsHitranRelaxationMatrixData() const;
578 operator HitranRelaxationMatrixData() const;
579
580 TokVal(Index in);
581 TokVal& operator=(Index in);
582 [[nodiscard]] bool holdsIndex() const;
583 operator Index() const;
584
587 [[nodiscard]] bool holdsJacobianTarget() const;
588 operator JacobianTarget() const;
589
590 TokVal(MCAntenna in);
592 [[nodiscard]] bool holdsMCAntenna() const;
593 operator MCAntenna() const;
594
597 [[nodiscard]] bool holdsMapOfErrorCorrectedSuddenData() const;
598 operator MapOfErrorCorrectedSuddenData() const;
599
600 TokVal(Matrix in);
601 TokVal& operator=(Matrix in);
602 [[nodiscard]] bool holdsMatrix() const;
603 operator Matrix() const;
604
605 TokVal(Numeric in);
606 TokVal& operator=(Numeric in);
607 [[nodiscard]] bool holdsNumeric() const;
608 operator Numeric() const;
609
610 TokVal(Ppath in);
612 [[nodiscard]] bool holdsPpath() const;
613 operator Ppath() const;
614
615 TokVal(PredefinedModelData in);
616 TokVal& operator=(PredefinedModelData in);
617 [[nodiscard]] bool holdsPredefinedModelData() const;
618 operator PredefinedModelData() const;
619
620 TokVal(PropagationMatrix in);
621 TokVal& operator=(PropagationMatrix in);
622 [[nodiscard]] bool holdsPropagationMatrix() const;
623 operator PropagationMatrix() const;
624
627 [[nodiscard]] bool holdsQuantumIdentifier() const;
628 operator QuantumIdentifier() const;
629
632 [[nodiscard]] bool holdsRadiationVector() const;
633 operator RadiationVector() const;
634
635 TokVal(Rational in);
636 TokVal& operator=(Rational in);
637 [[nodiscard]] bool holdsRational() const;
638 operator Rational() const;
639
642 [[nodiscard]] bool holdsScatteringMetaData() const;
643 operator ScatteringMetaData() const;
644
647 [[nodiscard]] bool holdsSingleScatteringData() const;
648 operator SingleScatteringData() const;
649
650 TokVal(Sparse in);
651 TokVal& operator=(Sparse in);
652 [[nodiscard]] bool holdsSparse() const;
653 operator Sparse() const;
654
657 [[nodiscard]] bool holdsSpeciesIsotopologueRatios() const;
658 operator SpeciesIsotopologueRatios() const;
659
660 TokVal(SpectralRadianceProfileOperator in);
661 TokVal& operator=(SpectralRadianceProfileOperator in);
662 [[nodiscard]] bool holdsSpectralRadianceProfileOperator() const;
663 operator SpectralRadianceProfileOperator() const;
664
665 TokVal(StokesVector in);
666 TokVal& operator=(StokesVector in);
667 [[nodiscard]] bool holdsStokesVector() const;
668 operator StokesVector() const;
669
670 TokVal(String in);
672 [[nodiscard]] bool holdsString() const;
673 operator String() const;
674
677 [[nodiscard]] bool holdsTelsemAtlas() const;
678 operator TelsemAtlas() const;
679
680 TokVal(Tensor3 in);
681 TokVal& operator=(Tensor3 in);
682 [[nodiscard]] bool holdsTensor3() const;
683 operator Tensor3() const;
684
685 TokVal(Tensor4 in);
686 TokVal& operator=(Tensor4 in);
687 [[nodiscard]] bool holdsTensor4() const;
688 operator Tensor4() const;
689
690 TokVal(Tensor5 in);
691 TokVal& operator=(Tensor5 in);
692 [[nodiscard]] bool holdsTensor5() const;
693 operator Tensor5() const;
694
695 TokVal(Tensor6 in);
696 TokVal& operator=(Tensor6 in);
697 [[nodiscard]] bool holdsTensor6() const;
698 operator Tensor6() const;
699
700 TokVal(Tensor7 in);
701 TokVal& operator=(Tensor7 in);
702 [[nodiscard]] bool holdsTensor7() const;
703 operator Tensor7() const;
704
705 TokVal(TessemNN in);
707 [[nodiscard]] bool holdsTessemNN() const;
708 operator TessemNN() const;
709
710 TokVal(Time in);
711 TokVal& operator=(Time in);
712 [[nodiscard]] bool holdsTime() const;
713 operator Time() const;
714
715 TokVal(Timer in);
717 [[nodiscard]] bool holdsTimer() const;
718 operator Timer() const;
719
722 [[nodiscard]] bool holdsTransmissionMatrix() const;
723 operator TransmissionMatrix() const;
724
725 TokVal(Vector in);
726 TokVal& operator=(Vector in);
727 [[nodiscard]] bool holdsVector() const;
728 operator Vector() const;
729
730 TokVal(Verbosity in);
732 [[nodiscard]] bool holdsVerbosity() const;
733 operator Verbosity() const;
734
735 TokVal(const char * const c);
736
737 TokVal();
738 TokVal(const TokVal& v);
739 TokVal& operator=(const TokVal& v);
740 [[nodiscard]] std::string_view type() const;
741 TokVal& operator=(TokVal&& t) noexcept {using std::swap; swap(ptr, t.ptr); return*this;}
742 TokVal(TokVal&& t) noexcept : ptr(nullptr) {using std::swap; swap(ptr, t.ptr);}
743
744 ~TokVal() noexcept;
745
746 [[nodiscard]] std::shared_ptr<void> copy_value() const;
747
749 [[nodiscard]] void * data() const {return ptr;}
750};
751
752#endif
Contains the absorption namespace.
Array< ArrayOfAbsorptionLines > ArrayOfArrayOfAbsorptionLines
Array< AbsorptionLines > ArrayOfAbsorptionLines
Absorption::Lines AbsorptionLines
Array< Index > ArrayOfIndex
An array of Index.
Definition array.h:119
Array< ArrayOfIndex > ArrayOfArrayOfIndex
Definition array.h:121
Stuff related to time in ARTS.
Array< Time > ArrayOfTime
List of times.
Definition artstime.h:122
Array< ArrayOfTime > ArrayOfArrayOfTime
List of times.
Definition artstime.h:125
Header file for work with HITRAN collision induced absorption (CIA).
Array< CIARecord > ArrayOfCIARecord
Definition cia.h:29
The Agenda class.
A placeholder for any type.
This can be used to make arrays out of anything.
Definition array.h:31
CIA data for a single pair of molecules.
Definition cia.h:57
An absorption lookup table.
A telsem atlas.
Definition telsem.h:42
bool holdsArrayOfArrayOfTensor6() const
Definition tokval.cc:222
TokVal()
Definition tokval.cc:792
bool holdsStokesVector() const
Definition tokval.cc:286
bool holdsCIARecord() const
Definition tokval.cc:256
bool holdsArrayOfRetrievalQuantity() const
Definition tokval.cc:238
bool holdsArrayOfArrayOfPropagationMatrix() const
Definition tokval.cc:214
bool holdsAny() const
Definition tokval.cc:205
bool holdsSpeciesIsotopologueRatios() const
Definition tokval.cc:284
bool holdsGridPos() const
Definition tokval.cc:261
bool holdsArrayOfArrayOfGriddedField1() const
Definition tokval.cc:209
bool holdsArrayOfRadiationVector() const
Definition tokval.cc:237
bool holdsArrayOfTensor4() const
Definition tokval.cc:248
bool holdsTensor3() const
Definition tokval.cc:289
bool holdsTessemNN() const
Definition tokval.cc:294
bool holdsGriddedField3() const
Definition tokval.cc:264
bool holdsAgenda() const
Definition tokval.cc:204
bool holdsArrayOfSingleScatteringData() const
Definition tokval.cc:240
bool holdsArrayOfArrayOfScatteringMetaData() const
Definition tokval.cc:216
bool holdsArrayOfIndex() const
Definition tokval.cc:231
bool holdsTimer() const
Definition tokval.cc:296
bool holdsArrayOfSun() const
Definition tokval.cc:245
bool holdsArrayOfGriddedField4() const
Definition tokval.cc:230
~TokVal() noexcept
Definition tokval.cc:802
bool holdsVector() const
Definition tokval.cc:298
bool holdsRational() const
Definition tokval.cc:280
bool holdsEnergyLevelMap() const
Definition tokval.cc:259
bool holdsArrayOfArrayOfTensor3() const
Definition tokval.cc:221
bool holdsGriddedField1() const
Definition tokval.cc:262
bool holdsPpath() const
Definition tokval.cc:275
bool holdsMCAntenna() const
Definition tokval.cc:271
bool holdsTensor5() const
Definition tokval.cc:291
bool holdsArrayOfArrayOfMatrix() const
Definition tokval.cc:213
bool holdsArrayOfSpeciesTag() const
Definition tokval.cc:242
bool holdsJacobianTarget() const
Definition tokval.cc:270
bool holdsArrayOfAgenda() const
Definition tokval.cc:207
bool holdsArrayOfTelsemAtlas() const
Definition tokval.cc:246
TokVal(TokVal &&t) noexcept
Definition tokval.h:742
bool holdsArrayOfTensor7() const
Definition tokval.cc:251
bool holdsArrayOfArrayOfRadiationVector() const
Definition tokval.cc:215
bool holdsCovarianceMatrix() const
Definition tokval.cc:258
bool holdsIndex() const
Definition tokval.cc:269
std::string_view type() const
Definition tokval.cc:689
bool holdsArrayOfGriddedField3() const
Definition tokval.cc:229
bool holdsArrayOfGriddedField2() const
Definition tokval.cc:228
bool holdsGriddedField5() const
Definition tokval.cc:266
bool holdsTensor7() const
Definition tokval.cc:293
bool holdsArrayOfTime() const
Definition tokval.cc:252
bool holdsArrayOfTransmissionMatrix() const
Definition tokval.cc:253
bool holdsPropagationMatrix() const
Definition tokval.cc:277
bool holdsArrayOfArrayOfTransmissionMatrix() const
Definition tokval.cc:224
bool holdsArrayOfPpath() const
Definition tokval.cc:234
bool holdsGriddedField6() const
Definition tokval.cc:267
bool holdsString() const
Definition tokval.cc:287
bool holdsArrayOfTensor6() const
Definition tokval.cc:250
bool holdsArrayOfArrayOfIndex() const
Definition tokval.cc:212
bool holdsMapOfErrorCorrectedSuddenData() const
Definition tokval.cc:272
bool holdsGriddedField4() const
Definition tokval.cc:265
bool holdsArrayOfAbsorptionLines() const
Definition tokval.cc:206
bool holdsSparse() const
Definition tokval.cc:283
bool holdsArrayOfArrayOfVector() const
Definition tokval.cc:225
bool holdsHitranRelaxationMatrixData() const
Definition tokval.cc:268
bool holdsVerbosity() const
Definition tokval.cc:299
bool holdsArrayOfArrayOfString() const
Definition tokval.cc:220
bool holdsArrayOfTensor5() const
Definition tokval.cc:249
bool holdsArrayOfArrayOfGriddedField2() const
Definition tokval.cc:210
bool holdsArrayOfArrayOfAbsorptionLines() const
Definition tokval.cc:208
bool holdsArrayOfGriddedField1() const
Definition tokval.cc:227
bool holdsScatteringMetaData() const
Definition tokval.cc:281
bool holdsArrayOfArrayOfSingleScatteringData() const
Definition tokval.cc:217
bool holdsTime() const
Definition tokval.cc:295
bool holdsArrayOfScatteringMetaData() const
Definition tokval.cc:239
bool holdsPredefinedModelData() const
Definition tokval.cc:276
bool holdsArrayOfCIARecord() const
Definition tokval.cc:226
bool holdsArrayOfArrayOfGriddedField3() const
Definition tokval.cc:211
bool holdsArrayOfMatrix() const
Definition tokval.cc:233
bool holdsArrayOfTensor3() const
Definition tokval.cc:247
bool holdsTensor6() const
Definition tokval.cc:292
bool holdsArrayOfXsecRecord() const
Definition tokval.cc:255
bool holdsQuantumIdentifier() const
Definition tokval.cc:278
bool holdsGriddedField2() const
Definition tokval.cc:263
bool holdsSingleScatteringData() const
Definition tokval.cc:282
bool holdsTensor4() const
Definition tokval.cc:290
bool holdsArrayOfArrayOfSpeciesTag() const
Definition tokval.cc:218
bool holdsAbsorptionLines() const
Definition tokval.cc:203
bool holdsTransmissionMatrix() const
Definition tokval.cc:297
bool holdsGasAbsLookup() const
Definition tokval.cc:260
bool holdsArrayOfArrayOfTime() const
Definition tokval.cc:223
bool holdsCallbackFunction() const
Definition tokval.cc:257
void * ptr
Definition tokval.h:248
void * data() const
Only for cases when you also have to include tokval_variant.h manually (or via, e....
Definition tokval.h:749
bool holdsArrayOfQuantumIdentifier() const
Definition tokval.cc:236
bool holdsArrayOfStokesVector() const
Definition tokval.cc:243
bool holdsArrayOfPropagationMatrix() const
Definition tokval.cc:235
bool holdsNumeric() const
Definition tokval.cc:274
bool holdsArrayOfVector() const
Definition tokval.cc:254
bool holdsSpectralRadianceProfileOperator() const
Definition tokval.cc:285
bool holdsArrayOfArrayOfStokesVector() const
Definition tokval.cc:219
bool holdsTelsemAtlas() const
Definition tokval.cc:288
TokVal & operator=(AbsorptionLines in)
Definition tokval.cc:105
bool holdsMatrix() const
Definition tokval.cc:273
bool holdsArrayOfString() const
Definition tokval.cc:244
TokVal & operator=(TokVal &&t) noexcept
Definition tokval.h:741
bool holdsArrayOfSparse() const
Definition tokval.cc:241
bool holdsArrayOfJacobianTarget() const
Definition tokval.cc:232
bool holdsRadiationVector() const
Definition tokval.cc:279
std::shared_ptr< void > copy_value() const
Definition tokval.cc:804
Header files of CovarianceMatrix class.
Class to map energy levels.
Declarations for the gas absorption lookup table.
Array< Array< GriddedField3 > > ArrayOfArrayOfGriddedField3
Array< GriddedField3 > ArrayOfGriddedField3
Array< GriddedField4 > ArrayOfGriddedField4
Array< Array< GriddedField2 > > ArrayOfArrayOfGriddedField2
Array< Array< GriddedField1 > > ArrayOfArrayOfGriddedField1
Array< GriddedField2 > ArrayOfGriddedField2
Array< GriddedField1 > ArrayOfGriddedField1
Species::IsotopologueRatios SpeciesIsotopologueRatios
Jacobian::Target JacobianTarget
Definition jacobian.h:305
Array< Jacobian::Target > ArrayOfJacobianTarget
Definition jacobian.h:306
Array< RetrievalQuantity > ArrayOfRetrievalQuantity
Definition jacobian.h:529
Absorption::LineMixing::MapOfErrorCorrectedSuddenData MapOfErrorCorrectedSuddenData
Definition linemixing.h:296
Namespace and functions to deal with HITRAN linemixing.
Workspace functions for the solution of cloud-box radiative transfer by Monte Carlo methods....
my_basic_string< char > String
The String type for ARTS.
Definition mystring.h:199
Array< Array< String > > ArrayOfArrayOfString
An array of Strings.
Definition mystring.h:205
Array< String > ArrayOfString
An array of Strings.
Definition mystring.h:202
Scattering database structure and functions.
Array< ScatteringMetaData > ArrayOfScatteringMetaData
Array< SingleScatteringData > ArrayOfSingleScatteringData
Array< Array< SingleScatteringData > > ArrayOfArrayOfSingleScatteringData
Array< Array< ScatteringMetaData > > ArrayOfArrayOfScatteringMetaData
Array< Ppath > ArrayOfPpath
An array of propagation paths.
Array< QuantumIdentifier > ArrayOfQuantumIdentifier
Quantum::Number::GlobalState QuantumIdentifier
Array< ArrayOfSpeciesTag > ArrayOfArrayOfSpeciesTag
Structure to store a grid position.
Holds all information required for individual partial derivatives.
Definition jacobian.h:93
An Antenna object used by MCGeneral.
Definition mc_antenna.h:33
The structure to describe a propagation path and releated quantities.
A logical struct for global quantum numbers with species identifiers.
Radiation Vector for Stokes dimension 1-4.
Class to handle time in ARTS.
Definition artstime.h:25
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
static constexpr Index value
Definition tokval.h:146
Declaration of functions in star.cc.
Array< Sun > ArrayOfSun
An array of sun.
Definition sun.h:58
Declarations for supergeneric methods.
This file contains the definition of the TELSEM atlas format.
Array< TelsemAtlas > ArrayOfTelsemAtlas
Definition telsem.h:379
This file contains functions that are adapted from TESSEM code which is used to calculate surface emi...
Array< Agenda > ArrayOfAgenda
Definition tokval.h:32
constexpr Index WorkspaceGroupIndexValue
Definition tokval.h:245
Stuff related to the transmission matrix.
Array< ArrayOfTransmissionMatrix > ArrayOfArrayOfTransmissionMatrix
#define v
Array< ArrayOfRadiationVector > ArrayOfArrayOfRadiationVector
Array< RadiationVector > ArrayOfRadiationVector
Array< TransmissionMatrix > ArrayOfTransmissionMatrix
#define c
Methods and classes for HITRAN absorption cross section data.
Array< XsecRecord > ArrayOfXsecRecord
Definition xsec_fit.h:137