ARTS 2.5.9 (git: 825fa5f2)
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 "matpackII.h"
17#include "matpackVII.h"
18#include "mc_antenna.h"
19#include "optproperties.h"
20#include "star.h"
21#include "supergeneric.h"
22#include "telsem.h"
23#include "tessem.h"
24#include "timer_struct.h"
25#include "transmissionmatrix.h"
26#include "xsec_fit.h"
27
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>, ArrayOfStar>
77 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfStokesVector>
78 or std::is_same_v<std::remove_cvref_t<T>, ArrayOfString>
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>, StokesVector>
119 or std::is_same_v<std::remove_cvref_t<T>, String>
120 or std::is_same_v<std::remove_cvref_t<T>, TelsemAtlas>
121 or std::is_same_v<std::remove_cvref_t<T>, Tensor3>
122 or std::is_same_v<std::remove_cvref_t<T>, Tensor4>
123 or std::is_same_v<std::remove_cvref_t<T>, Tensor5>
124 or std::is_same_v<std::remove_cvref_t<T>, Tensor6>
125 or std::is_same_v<std::remove_cvref_t<T>, Tensor7>
126 or std::is_same_v<std::remove_cvref_t<T>, TessemNN>
127 or std::is_same_v<std::remove_cvref_t<T>, Time>
128 or std::is_same_v<std::remove_cvref_t<T>, Timer>
129 or std::is_same_v<std::remove_cvref_t<T>, TransmissionMatrix>
130 or std::is_same_v<std::remove_cvref_t<T>, Vector>
131 or std::is_same_v<std::remove_cvref_t<T>, Verbosity>;
132
133template <typename T>
134concept ArtsTypeMove = ArtsType<T> and std::is_same_v<std::add_rvalue_reference<std::remove_cvref_t<T>>, T>;
135
136template <typename T>
137concept ArtsTypeRef = ArtsType<T> and std::is_same_v<std::add_lvalue_reference<std::remove_cvref_t<T>>, T>;
138
139template <typename T>
140concept ArtsTypeConstRef = ArtsType<T> and std::is_same_v<std::add_const_t<std::add_lvalue_reference<std::remove_cvref_t<T>>>, T>;
141
142template <typename T>
143concept ArtsTypeBase = ArtsType<T> and std::is_same_v<std::remove_cvref_t<T>, T>;
144
145template <ArtsTypeBase> struct WorkspaceGroupIndex { static constexpr Index value=-1; };
146template <> struct WorkspaceGroupIndex<AbsorptionLines> { static constexpr Index value=0; };
147template <> struct WorkspaceGroupIndex<Agenda> { static constexpr Index value=1; };
148template <> struct WorkspaceGroupIndex<Any> { static constexpr Index value=2; };
149template <> struct WorkspaceGroupIndex<ArrayOfAbsorptionLines> { static constexpr Index value=3; };
150template <> struct WorkspaceGroupIndex<ArrayOfAgenda> { static constexpr Index value=4; };
151template <> struct WorkspaceGroupIndex<ArrayOfArrayOfAbsorptionLines> { static constexpr Index value=5; };
152template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField1> { static constexpr Index value=6; };
153template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField2> { static constexpr Index value=7; };
154template <> struct WorkspaceGroupIndex<ArrayOfArrayOfGriddedField3> { static constexpr Index value=8; };
155template <> struct WorkspaceGroupIndex<ArrayOfArrayOfIndex> { static constexpr Index value=9; };
156template <> struct WorkspaceGroupIndex<ArrayOfArrayOfMatrix> { static constexpr Index value=10; };
157template <> struct WorkspaceGroupIndex<ArrayOfArrayOfPropagationMatrix> { static constexpr Index value=11; };
158template <> struct WorkspaceGroupIndex<ArrayOfArrayOfRadiationVector> { static constexpr Index value=12; };
159template <> struct WorkspaceGroupIndex<ArrayOfArrayOfScatteringMetaData> { static constexpr Index value=13; };
160template <> struct WorkspaceGroupIndex<ArrayOfArrayOfSingleScatteringData> { static constexpr Index value=14; };
161template <> struct WorkspaceGroupIndex<ArrayOfArrayOfSpeciesTag> { static constexpr Index value=15; };
162template <> struct WorkspaceGroupIndex<ArrayOfArrayOfStokesVector> { static constexpr Index value=16; };
163template <> struct WorkspaceGroupIndex<ArrayOfArrayOfString> { static constexpr Index value=17; };
164template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTensor3> { static constexpr Index value=18; };
165template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTensor6> { static constexpr Index value=19; };
166template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTime> { static constexpr Index value=20; };
167template <> struct WorkspaceGroupIndex<ArrayOfArrayOfTransmissionMatrix> { static constexpr Index value=21; };
168template <> struct WorkspaceGroupIndex<ArrayOfArrayOfVector> { static constexpr Index value=22; };
169template <> struct WorkspaceGroupIndex<ArrayOfCIARecord> { static constexpr Index value=23; };
170template <> struct WorkspaceGroupIndex<ArrayOfGriddedField1> { static constexpr Index value=24; };
171template <> struct WorkspaceGroupIndex<ArrayOfGriddedField2> { static constexpr Index value=25; };
172template <> struct WorkspaceGroupIndex<ArrayOfGriddedField3> { static constexpr Index value=26; };
173template <> struct WorkspaceGroupIndex<ArrayOfGriddedField4> { static constexpr Index value=27; };
174template <> struct WorkspaceGroupIndex<ArrayOfIndex> { static constexpr Index value=28; };
175template <> struct WorkspaceGroupIndex<ArrayOfJacobianTarget> { static constexpr Index value=29; };
176template <> struct WorkspaceGroupIndex<ArrayOfMatrix> { static constexpr Index value=30; };
177template <> struct WorkspaceGroupIndex<ArrayOfPpath> { static constexpr Index value=31; };
178template <> struct WorkspaceGroupIndex<ArrayOfPropagationMatrix> { static constexpr Index value=32; };
179template <> struct WorkspaceGroupIndex<ArrayOfQuantumIdentifier> { static constexpr Index value=33; };
180template <> struct WorkspaceGroupIndex<ArrayOfRadiationVector> { static constexpr Index value=34; };
181template <> struct WorkspaceGroupIndex<ArrayOfRetrievalQuantity> { static constexpr Index value=35; };
182template <> struct WorkspaceGroupIndex<ArrayOfScatteringMetaData> { static constexpr Index value=36; };
183template <> struct WorkspaceGroupIndex<ArrayOfSingleScatteringData> { static constexpr Index value=37; };
184template <> struct WorkspaceGroupIndex<ArrayOfSparse> { static constexpr Index value=38; };
185template <> struct WorkspaceGroupIndex<ArrayOfSpeciesTag> { static constexpr Index value=39; };
186template <> struct WorkspaceGroupIndex<ArrayOfStar> { static constexpr Index value=40; };
187template <> struct WorkspaceGroupIndex<ArrayOfStokesVector> { static constexpr Index value=41; };
188template <> struct WorkspaceGroupIndex<ArrayOfString> { static constexpr Index value=42; };
189template <> struct WorkspaceGroupIndex<ArrayOfTelsemAtlas> { static constexpr Index value=43; };
190template <> struct WorkspaceGroupIndex<ArrayOfTensor3> { static constexpr Index value=44; };
191template <> struct WorkspaceGroupIndex<ArrayOfTensor4> { static constexpr Index value=45; };
192template <> struct WorkspaceGroupIndex<ArrayOfTensor5> { static constexpr Index value=46; };
193template <> struct WorkspaceGroupIndex<ArrayOfTensor6> { static constexpr Index value=47; };
194template <> struct WorkspaceGroupIndex<ArrayOfTensor7> { static constexpr Index value=48; };
195template <> struct WorkspaceGroupIndex<ArrayOfTime> { static constexpr Index value=49; };
196template <> struct WorkspaceGroupIndex<ArrayOfTransmissionMatrix> { static constexpr Index value=50; };
197template <> struct WorkspaceGroupIndex<ArrayOfVector> { static constexpr Index value=51; };
198template <> struct WorkspaceGroupIndex<ArrayOfXsecRecord> { static constexpr Index value=52; };
199template <> struct WorkspaceGroupIndex<CIARecord> { static constexpr Index value=53; };
200template <> struct WorkspaceGroupIndex<CallbackFunction> { static constexpr Index value=54; };
201template <> struct WorkspaceGroupIndex<CovarianceMatrix> { static constexpr Index value=55; };
202template <> struct WorkspaceGroupIndex<EnergyLevelMap> { static constexpr Index value=56; };
203template <> struct WorkspaceGroupIndex<GasAbsLookup> { static constexpr Index value=57; };
204template <> struct WorkspaceGroupIndex<GridPos> { static constexpr Index value=58; };
205template <> struct WorkspaceGroupIndex<GriddedField1> { static constexpr Index value=59; };
206template <> struct WorkspaceGroupIndex<GriddedField2> { static constexpr Index value=60; };
207template <> struct WorkspaceGroupIndex<GriddedField3> { static constexpr Index value=61; };
208template <> struct WorkspaceGroupIndex<GriddedField4> { static constexpr Index value=62; };
209template <> struct WorkspaceGroupIndex<GriddedField5> { static constexpr Index value=63; };
210template <> struct WorkspaceGroupIndex<GriddedField6> { static constexpr Index value=64; };
211template <> struct WorkspaceGroupIndex<HitranRelaxationMatrixData> { static constexpr Index value=65; };
212template <> struct WorkspaceGroupIndex<Index> { static constexpr Index value=66; };
213template <> struct WorkspaceGroupIndex<JacobianTarget> { static constexpr Index value=67; };
214template <> struct WorkspaceGroupIndex<MCAntenna> { static constexpr Index value=68; };
215template <> struct WorkspaceGroupIndex<MapOfErrorCorrectedSuddenData> { static constexpr Index value=69; };
216template <> struct WorkspaceGroupIndex<Matrix> { static constexpr Index value=70; };
217template <> struct WorkspaceGroupIndex<Numeric> { static constexpr Index value=71; };
218template <> struct WorkspaceGroupIndex<Ppath> { static constexpr Index value=72; };
219template <> struct WorkspaceGroupIndex<PredefinedModelData> { static constexpr Index value=73; };
220template <> struct WorkspaceGroupIndex<PropagationMatrix> { static constexpr Index value=74; };
221template <> struct WorkspaceGroupIndex<QuantumIdentifier> { static constexpr Index value=75; };
222template <> struct WorkspaceGroupIndex<RadiationVector> { static constexpr Index value=76; };
223template <> struct WorkspaceGroupIndex<Rational> { static constexpr Index value=77; };
224template <> struct WorkspaceGroupIndex<ScatteringMetaData> { static constexpr Index value=78; };
225template <> struct WorkspaceGroupIndex<SingleScatteringData> { static constexpr Index value=79; };
226template <> struct WorkspaceGroupIndex<Sparse> { static constexpr Index value=80; };
227template <> struct WorkspaceGroupIndex<SpeciesIsotopologueRatios> { static constexpr Index value=81; };
228template <> struct WorkspaceGroupIndex<StokesVector> { static constexpr Index value=82; };
229template <> struct WorkspaceGroupIndex<String> { static constexpr Index value=83; };
230template <> struct WorkspaceGroupIndex<TelsemAtlas> { static constexpr Index value=84; };
231template <> struct WorkspaceGroupIndex<Tensor3> { static constexpr Index value=85; };
232template <> struct WorkspaceGroupIndex<Tensor4> { static constexpr Index value=86; };
233template <> struct WorkspaceGroupIndex<Tensor5> { static constexpr Index value=87; };
234template <> struct WorkspaceGroupIndex<Tensor6> { static constexpr Index value=88; };
235template <> struct WorkspaceGroupIndex<Tensor7> { static constexpr Index value=89; };
236template <> struct WorkspaceGroupIndex<TessemNN> { static constexpr Index value=90; };
237template <> struct WorkspaceGroupIndex<Time> { static constexpr Index value=91; };
238template <> struct WorkspaceGroupIndex<Timer> { static constexpr Index value=92; };
239template <> struct WorkspaceGroupIndex<TransmissionMatrix> { static constexpr Index value=93; };
240template <> struct WorkspaceGroupIndex<Vector> { static constexpr Index value=94; };
241template <> struct WorkspaceGroupIndex<Verbosity> { static constexpr Index value=95; };
242
243template <ArtsTypeBase T> inline constexpr Index WorkspaceGroupIndexValue = WorkspaceGroupIndex<T>::value;
244
245class TokVal {
246 void * ptr{nullptr};
247public:
250 [[nodiscard]] bool holdsAbsorptionLines() const;
251 operator AbsorptionLines() const;
252
253 TokVal(Agenda in);
255 [[nodiscard]] bool holdsAgenda() const;
256 operator Agenda() const;
257
258 TokVal(Any in);
259 TokVal& operator=(Any in);
260 [[nodiscard]] bool holdsAny() const;
261 operator Any() const;
262
265 [[nodiscard]] bool holdsArrayOfAbsorptionLines() const;
266 operator ArrayOfAbsorptionLines() const;
267
270 [[nodiscard]] bool holdsArrayOfAgenda() const;
271 operator ArrayOfAgenda() const;
272
275 [[nodiscard]] bool holdsArrayOfArrayOfAbsorptionLines() const;
276 operator ArrayOfArrayOfAbsorptionLines() const;
277
280 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField1() const;
281 operator ArrayOfArrayOfGriddedField1() const;
282
285 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField2() const;
286 operator ArrayOfArrayOfGriddedField2() const;
287
290 [[nodiscard]] bool holdsArrayOfArrayOfGriddedField3() const;
291 operator ArrayOfArrayOfGriddedField3() const;
292
295 [[nodiscard]] bool holdsArrayOfArrayOfIndex() const;
296 operator ArrayOfArrayOfIndex() const;
297
300 [[nodiscard]] bool holdsArrayOfArrayOfMatrix() const;
301 operator ArrayOfArrayOfMatrix() const;
302
305 [[nodiscard]] bool holdsArrayOfArrayOfPropagationMatrix() const;
306 operator ArrayOfArrayOfPropagationMatrix() const;
307
310 [[nodiscard]] bool holdsArrayOfArrayOfRadiationVector() const;
311 operator ArrayOfArrayOfRadiationVector() const;
312
315 [[nodiscard]] bool holdsArrayOfArrayOfScatteringMetaData() const;
316 operator ArrayOfArrayOfScatteringMetaData() const;
317
320 [[nodiscard]] bool holdsArrayOfArrayOfSingleScatteringData() const;
321 operator ArrayOfArrayOfSingleScatteringData() const;
322
325 [[nodiscard]] bool holdsArrayOfArrayOfSpeciesTag() const;
326 operator ArrayOfArrayOfSpeciesTag() const;
327
330 [[nodiscard]] bool holdsArrayOfArrayOfStokesVector() const;
331 operator ArrayOfArrayOfStokesVector() const;
332
335 [[nodiscard]] bool holdsArrayOfArrayOfString() const;
336 operator ArrayOfArrayOfString() const;
337
340 [[nodiscard]] bool holdsArrayOfArrayOfTensor3() const;
341 operator ArrayOfArrayOfTensor3() const;
342
345 [[nodiscard]] bool holdsArrayOfArrayOfTensor6() const;
346 operator ArrayOfArrayOfTensor6() const;
347
350 [[nodiscard]] bool holdsArrayOfArrayOfTime() const;
351 operator ArrayOfArrayOfTime() const;
352
355 [[nodiscard]] bool holdsArrayOfArrayOfTransmissionMatrix() const;
356 operator ArrayOfArrayOfTransmissionMatrix() const;
357
360 [[nodiscard]] bool holdsArrayOfArrayOfVector() const;
361 operator ArrayOfArrayOfVector() const;
362
365 [[nodiscard]] bool holdsArrayOfCIARecord() const;
366 operator ArrayOfCIARecord() const;
367
370 [[nodiscard]] bool holdsArrayOfGriddedField1() const;
371 operator ArrayOfGriddedField1() const;
372
375 [[nodiscard]] bool holdsArrayOfGriddedField2() const;
376 operator ArrayOfGriddedField2() const;
377
380 [[nodiscard]] bool holdsArrayOfGriddedField3() const;
381 operator ArrayOfGriddedField3() const;
382
385 [[nodiscard]] bool holdsArrayOfGriddedField4() const;
386 operator ArrayOfGriddedField4() const;
387
390 [[nodiscard]] bool holdsArrayOfIndex() const;
391 operator ArrayOfIndex() const;
392
395 [[nodiscard]] bool holdsArrayOfJacobianTarget() const;
396 operator ArrayOfJacobianTarget() const;
397
400 [[nodiscard]] bool holdsArrayOfMatrix() const;
401 operator ArrayOfMatrix() const;
402
405 [[nodiscard]] bool holdsArrayOfPpath() const;
406 operator ArrayOfPpath() const;
407
410 [[nodiscard]] bool holdsArrayOfPropagationMatrix() const;
411 operator ArrayOfPropagationMatrix() const;
412
415 [[nodiscard]] bool holdsArrayOfQuantumIdentifier() const;
416 operator ArrayOfQuantumIdentifier() const;
417
420 [[nodiscard]] bool holdsArrayOfRadiationVector() const;
421 operator ArrayOfRadiationVector() const;
422
425 [[nodiscard]] bool holdsArrayOfRetrievalQuantity() const;
426 operator ArrayOfRetrievalQuantity() const;
427
430 [[nodiscard]] bool holdsArrayOfScatteringMetaData() const;
431 operator ArrayOfScatteringMetaData() const;
432
435 [[nodiscard]] bool holdsArrayOfSingleScatteringData() const;
436 operator ArrayOfSingleScatteringData() const;
437
440 [[nodiscard]] bool holdsArrayOfSparse() const;
441 operator ArrayOfSparse() const;
442
445 [[nodiscard]] bool holdsArrayOfSpeciesTag() const;
446 operator ArrayOfSpeciesTag() const;
447
450 [[nodiscard]] bool holdsArrayOfStar() const;
451 operator ArrayOfStar() const;
452
455 [[nodiscard]] bool holdsArrayOfStokesVector() const;
456 operator ArrayOfStokesVector() const;
457
460 [[nodiscard]] bool holdsArrayOfString() const;
461 operator ArrayOfString() const;
462
465 [[nodiscard]] bool holdsArrayOfTelsemAtlas() const;
466 operator ArrayOfTelsemAtlas() const;
467
470 [[nodiscard]] bool holdsArrayOfTensor3() const;
471 operator ArrayOfTensor3() const;
472
475 [[nodiscard]] bool holdsArrayOfTensor4() const;
476 operator ArrayOfTensor4() const;
477
480 [[nodiscard]] bool holdsArrayOfTensor5() const;
481 operator ArrayOfTensor5() const;
482
485 [[nodiscard]] bool holdsArrayOfTensor6() const;
486 operator ArrayOfTensor6() const;
487
490 [[nodiscard]] bool holdsArrayOfTensor7() const;
491 operator ArrayOfTensor7() const;
492
495 [[nodiscard]] bool holdsArrayOfTime() const;
496 operator ArrayOfTime() const;
497
500 [[nodiscard]] bool holdsArrayOfTransmissionMatrix() const;
501 operator ArrayOfTransmissionMatrix() const;
502
505 [[nodiscard]] bool holdsArrayOfVector() const;
506 operator ArrayOfVector() const;
507
510 [[nodiscard]] bool holdsArrayOfXsecRecord() const;
511 operator ArrayOfXsecRecord() const;
512
513 TokVal(CIARecord in);
515 [[nodiscard]] bool holdsCIARecord() const;
516 operator CIARecord() const;
517
520 [[nodiscard]] bool holdsCallbackFunction() const;
521 operator CallbackFunction() const;
522
525 [[nodiscard]] bool holdsCovarianceMatrix() const;
526 operator CovarianceMatrix() const;
527
530 [[nodiscard]] bool holdsEnergyLevelMap() const;
531 operator EnergyLevelMap() const;
532
535 [[nodiscard]] bool holdsGasAbsLookup() const;
536 operator GasAbsLookup() const;
537
538 TokVal(GridPos in);
540 [[nodiscard]] bool holdsGridPos() const;
541 operator GridPos() const;
542
545 [[nodiscard]] bool holdsGriddedField1() const;
546 operator GriddedField1() const;
547
550 [[nodiscard]] bool holdsGriddedField2() const;
551 operator GriddedField2() const;
552
555 [[nodiscard]] bool holdsGriddedField3() const;
556 operator GriddedField3() const;
557
560 [[nodiscard]] bool holdsGriddedField4() const;
561 operator GriddedField4() const;
562
565 [[nodiscard]] bool holdsGriddedField5() const;
566 operator GriddedField5() const;
567
570 [[nodiscard]] bool holdsGriddedField6() const;
571 operator GriddedField6() const;
572
575 [[nodiscard]] bool holdsHitranRelaxationMatrixData() const;
576 operator HitranRelaxationMatrixData() const;
577
578 TokVal(Index in);
580 [[nodiscard]] bool holdsIndex() const;
581 operator Index() const;
582
585 [[nodiscard]] bool holdsJacobianTarget() const;
586 operator JacobianTarget() const;
587
588 TokVal(MCAntenna in);
590 [[nodiscard]] bool holdsMCAntenna() const;
591 operator MCAntenna() const;
592
595 [[nodiscard]] bool holdsMapOfErrorCorrectedSuddenData() const;
596 operator MapOfErrorCorrectedSuddenData() const;
597
598 TokVal(Matrix in);
600 [[nodiscard]] bool holdsMatrix() const;
601 operator Matrix() const;
602
603 TokVal(Numeric in);
605 [[nodiscard]] bool holdsNumeric() const;
606 operator Numeric() const;
607
608 TokVal(Ppath in);
610 [[nodiscard]] bool holdsPpath() const;
611 operator Ppath() const;
612
613 TokVal(PredefinedModelData in);
614 TokVal& operator=(PredefinedModelData in);
615 [[nodiscard]] bool holdsPredefinedModelData() const;
616 operator PredefinedModelData() const;
617
620 [[nodiscard]] bool holdsPropagationMatrix() const;
621 operator PropagationMatrix() const;
622
625 [[nodiscard]] bool holdsQuantumIdentifier() const;
626 operator QuantumIdentifier() const;
627
630 [[nodiscard]] bool holdsRadiationVector() const;
631 operator RadiationVector() const;
632
633 TokVal(Rational in);
635 [[nodiscard]] bool holdsRational() const;
636 operator Rational() const;
637
640 [[nodiscard]] bool holdsScatteringMetaData() const;
641 operator ScatteringMetaData() const;
642
645 [[nodiscard]] bool holdsSingleScatteringData() const;
646 operator SingleScatteringData() const;
647
648 TokVal(Sparse in);
650 [[nodiscard]] bool holdsSparse() const;
651 operator Sparse() const;
652
655 [[nodiscard]] bool holdsSpeciesIsotopologueRatios() const;
656 operator SpeciesIsotopologueRatios() const;
657
660 [[nodiscard]] bool holdsStokesVector() const;
661 operator StokesVector() const;
662
663 TokVal(String in);
665 [[nodiscard]] bool holdsString() const;
666 operator String() const;
667
670 [[nodiscard]] bool holdsTelsemAtlas() const;
671 operator TelsemAtlas() const;
672
673 TokVal(Tensor3 in);
675 [[nodiscard]] bool holdsTensor3() const;
676 operator Tensor3() const;
677
678 TokVal(Tensor4 in);
680 [[nodiscard]] bool holdsTensor4() const;
681 operator Tensor4() const;
682
683 TokVal(Tensor5 in);
685 [[nodiscard]] bool holdsTensor5() const;
686 operator Tensor5() const;
687
688 TokVal(Tensor6 in);
690 [[nodiscard]] bool holdsTensor6() const;
691 operator Tensor6() const;
692
693 TokVal(Tensor7 in);
695 [[nodiscard]] bool holdsTensor7() const;
696 operator Tensor7() const;
697
698 TokVal(TessemNN in);
700 [[nodiscard]] bool holdsTessemNN() const;
701 operator TessemNN() const;
702
703 TokVal(Time in);
704 TokVal& operator=(Time in);
705 [[nodiscard]] bool holdsTime() const;
706 operator Time() const;
707
708 TokVal(Timer in);
710 [[nodiscard]] bool holdsTimer() const;
711 operator Timer() const;
712
715 [[nodiscard]] bool holdsTransmissionMatrix() const;
716 operator TransmissionMatrix() const;
717
718 TokVal(Vector in);
720 [[nodiscard]] bool holdsVector() const;
721 operator Vector() const;
722
723 TokVal(Verbosity in);
725 [[nodiscard]] bool holdsVerbosity() const;
726 operator Verbosity() const;
727
728 TokVal(const char * const c);
729
730 TokVal();
731 TokVal(const TokVal& v);
732 TokVal& operator=(const TokVal& v);
733 [[nodiscard]] std::string_view type() const;
734 TokVal& operator=(TokVal&& t) noexcept {using std::swap; swap(ptr, t.ptr); return*this;}
735 TokVal(TokVal&& t) noexcept : ptr(nullptr) {using std::swap; swap(ptr, t.ptr);}
736
737 ~TokVal() noexcept;
738
739 [[nodiscard]] std::shared_ptr<void> copy_value() const;
740
742 [[nodiscard]] void * data() const {return ptr;}
743};
744
745#endif
Contains the absorption namespace.
Array< ArrayOfAbsorptionLines > ArrayOfArrayOfAbsorptionLines
Array< AbsorptionLines > ArrayOfAbsorptionLines
Absorption::Lines AbsorptionLines
Array< Index > ArrayOfIndex
An array of Index.
Definition: array.h:136
Array< ArrayOfIndex > ArrayOfArrayOfIndex
Definition: array.h:138
Stuff related to time in ARTS.
Array< Time > ArrayOfTime
List of times.
Definition: artstime.h:140
Array< ArrayOfTime > ArrayOfArrayOfTime
List of times.
Definition: artstime.h:143
Header file for work with HITRAN collision induced absorption (CIA).
Array< CIARecord > ArrayOfCIARecord
Definition: cia.h:45
The Agenda class.
Definition: agenda_class.h:69
A placeholder for any type.
Definition: supergeneric.h:38
This can be used to make arrays out of anything.
Definition: array.h:48
CIA data for a single pair of molecules.
Definition: cia.h:68
An absorption lookup table.
The Matrix class.
Definition: matpackI.h:1285
Stokes vector is as Propagation matrix but only has 4 possible values.
A telsem atlas.
Definition: telsem.h:59
The Tensor3 class.
Definition: matpackIII.h:352
The Tensor4 class.
Definition: matpackIV.h:435
The Tensor5 class.
Definition: matpackV.h:524
The Tensor6 class.
Definition: matpackVI.h:1105
The Tensor7 class.
Definition: matpackVII.h:2407
Definition: tokval.h:245
bool holdsArrayOfArrayOfTensor6() const
Definition: tokval.cc:220
TokVal()
Definition: tokval.cc:784
bool holdsStokesVector() const
Definition: tokval.cc:283
bool holdsCIARecord() const
Definition: tokval.cc:254
bool holdsArrayOfRetrievalQuantity() const
Definition: tokval.cc:236
bool holdsArrayOfArrayOfPropagationMatrix() const
Definition: tokval.cc:212
bool holdsAny() const
Definition: tokval.cc:203
bool holdsSpeciesIsotopologueRatios() const
Definition: tokval.cc:282
bool holdsGridPos() const
Definition: tokval.cc:259
bool holdsArrayOfArrayOfGriddedField1() const
Definition: tokval.cc:207
bool holdsArrayOfRadiationVector() const
Definition: tokval.cc:235
bool holdsArrayOfTensor4() const
Definition: tokval.cc:246
bool holdsTensor3() const
Definition: tokval.cc:286
bool holdsTessemNN() const
Definition: tokval.cc:291
bool holdsGriddedField3() const
Definition: tokval.cc:262
bool holdsAgenda() const
Definition: tokval.cc:202
bool holdsArrayOfSingleScatteringData() const
Definition: tokval.cc:238
bool holdsArrayOfArrayOfScatteringMetaData() const
Definition: tokval.cc:214
bool holdsArrayOfIndex() const
Definition: tokval.cc:229
bool holdsTimer() const
Definition: tokval.cc:293
bool holdsArrayOfGriddedField4() const
Definition: tokval.cc:228
~TokVal() noexcept
Definition: tokval.cc:788
bool holdsVector() const
Definition: tokval.cc:295
bool holdsRational() const
Definition: tokval.cc:278
bool holdsEnergyLevelMap() const
Definition: tokval.cc:257
bool holdsArrayOfArrayOfTensor3() const
Definition: tokval.cc:219
bool holdsGriddedField1() const
Definition: tokval.cc:260
bool holdsPpath() const
Definition: tokval.cc:273
bool holdsMCAntenna() const
Definition: tokval.cc:269
bool holdsTensor5() const
Definition: tokval.cc:288
bool holdsArrayOfArrayOfMatrix() const
Definition: tokval.cc:211
bool holdsArrayOfSpeciesTag() const
Definition: tokval.cc:240
bool holdsJacobianTarget() const
Definition: tokval.cc:268
bool holdsArrayOfAgenda() const
Definition: tokval.cc:205
bool holdsArrayOfTelsemAtlas() const
Definition: tokval.cc:244
TokVal(TokVal &&t) noexcept
Definition: tokval.h:735
bool holdsArrayOfTensor7() const
Definition: tokval.cc:249
bool holdsArrayOfArrayOfRadiationVector() const
Definition: tokval.cc:213
bool holdsCovarianceMatrix() const
Definition: tokval.cc:256
bool holdsIndex() const
Definition: tokval.cc:267
std::string_view type() const
Definition: tokval.cc:682
bool holdsArrayOfGriddedField3() const
Definition: tokval.cc:227
bool holdsArrayOfGriddedField2() const
Definition: tokval.cc:226
bool holdsGriddedField5() const
Definition: tokval.cc:264
bool holdsTensor7() const
Definition: tokval.cc:290
bool holdsArrayOfTime() const
Definition: tokval.cc:250
bool holdsArrayOfTransmissionMatrix() const
Definition: tokval.cc:251
bool holdsPropagationMatrix() const
Definition: tokval.cc:275
bool holdsArrayOfArrayOfTransmissionMatrix() const
Definition: tokval.cc:222
bool holdsArrayOfPpath() const
Definition: tokval.cc:232
bool holdsGriddedField6() const
Definition: tokval.cc:265
bool holdsString() const
Definition: tokval.cc:284
bool holdsArrayOfTensor6() const
Definition: tokval.cc:248
bool holdsArrayOfArrayOfIndex() const
Definition: tokval.cc:210
bool holdsMapOfErrorCorrectedSuddenData() const
Definition: tokval.cc:270
bool holdsGriddedField4() const
Definition: tokval.cc:263
bool holdsArrayOfAbsorptionLines() const
Definition: tokval.cc:204
bool holdsSparse() const
Definition: tokval.cc:281
bool holdsArrayOfArrayOfVector() const
Definition: tokval.cc:223
bool holdsHitranRelaxationMatrixData() const
Definition: tokval.cc:266
bool holdsVerbosity() const
Definition: tokval.cc:296
bool holdsArrayOfArrayOfString() const
Definition: tokval.cc:218
bool holdsArrayOfTensor5() const
Definition: tokval.cc:247
bool holdsArrayOfArrayOfGriddedField2() const
Definition: tokval.cc:208
bool holdsArrayOfArrayOfAbsorptionLines() const
Definition: tokval.cc:206
bool holdsArrayOfGriddedField1() const
Definition: tokval.cc:225
bool holdsScatteringMetaData() const
Definition: tokval.cc:279
bool holdsArrayOfArrayOfSingleScatteringData() const
Definition: tokval.cc:215
bool holdsTime() const
Definition: tokval.cc:292
bool holdsArrayOfScatteringMetaData() const
Definition: tokval.cc:237
bool holdsPredefinedModelData() const
Definition: tokval.cc:274
bool holdsArrayOfCIARecord() const
Definition: tokval.cc:224
bool holdsArrayOfArrayOfGriddedField3() const
Definition: tokval.cc:209
bool holdsArrayOfMatrix() const
Definition: tokval.cc:231
bool holdsArrayOfTensor3() const
Definition: tokval.cc:245
bool holdsTensor6() const
Definition: tokval.cc:289
bool holdsArrayOfXsecRecord() const
Definition: tokval.cc:253
bool holdsQuantumIdentifier() const
Definition: tokval.cc:276
bool holdsGriddedField2() const
Definition: tokval.cc:261
bool holdsSingleScatteringData() const
Definition: tokval.cc:280
bool holdsTensor4() const
Definition: tokval.cc:287
bool holdsArrayOfArrayOfSpeciesTag() const
Definition: tokval.cc:216
bool holdsAbsorptionLines() const
Definition: tokval.cc:201
bool holdsTransmissionMatrix() const
Definition: tokval.cc:294
bool holdsGasAbsLookup() const
Definition: tokval.cc:258
bool holdsArrayOfArrayOfTime() const
Definition: tokval.cc:221
bool holdsCallbackFunction() const
Definition: tokval.cc:255
void * ptr
Definition: tokval.h:246
void * data() const
Only for cases when you also have to include tokval_variant.h manually (or via, e....
Definition: tokval.h:742
bool holdsArrayOfQuantumIdentifier() const
Definition: tokval.cc:234
bool holdsArrayOfStar() const
Definition: tokval.cc:241
bool holdsArrayOfStokesVector() const
Definition: tokval.cc:242
bool holdsArrayOfPropagationMatrix() const
Definition: tokval.cc:233
bool holdsNumeric() const
Definition: tokval.cc:272
bool holdsArrayOfVector() const
Definition: tokval.cc:252
bool holdsArrayOfArrayOfStokesVector() const
Definition: tokval.cc:217
bool holdsTelsemAtlas() const
Definition: tokval.cc:285
TokVal & operator=(AbsorptionLines in)
Definition: tokval.cc:104
bool holdsMatrix() const
Definition: tokval.cc:271
bool holdsArrayOfString() const
Definition: tokval.cc:243
TokVal & operator=(TokVal &&t) noexcept
Definition: tokval.h:734
bool holdsArrayOfSparse() const
Definition: tokval.cc:239
bool holdsArrayOfJacobianTarget() const
Definition: tokval.cc:230
bool holdsRadiationVector() const
Definition: tokval.cc:277
std::shared_ptr< void > copy_value() const
Definition: tokval.cc:790
The Vector class.
Definition: matpackI.h:910
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:320
Array< Jacobian::Target > ArrayOfJacobianTarget
Definition: jacobian.h:321
Array< RetrievalQuantity > ArrayOfRetrievalQuantity
Definition: jacobian.h:544
Absorption::LineMixing::MapOfErrorCorrectedSuddenData MapOfErrorCorrectedSuddenData
Definition: linemixing.h:296
Namespace and functions to deal with HITRAN linemixing.
Array< Tensor3 > ArrayOfTensor3
An array of Tensor3.
Definition: matpackIII.h:479
Array< ArrayOfTensor3 > ArrayOfArrayOfTensor3
Definition: matpackIII.h:481
Header file for sparse matrices.
Array< Sparse > ArrayOfSparse
An array of sparse matrices.
Definition: matpackII.h:181
Array< Tensor4 > ArrayOfTensor4
An array of Tensor4.
Definition: matpackIV.h:597
Array< ArrayOfVector > ArrayOfArrayOfVector
Definition: matpackI.h:1446
Array< Vector > ArrayOfVector
An array of vectors.
Definition: matpackI.h:1444
Array< ArrayOfMatrix > ArrayOfArrayOfMatrix
Definition: matpackI.h:1451
Array< Matrix > ArrayOfMatrix
An array of matrices.
Definition: matpackI.h:1449
Array< Tensor7 > ArrayOfTensor7
An array of Tensor7.
Definition: matpackVII.h:2713
Array< Tensor6 > ArrayOfTensor6
An array of Tensor6.
Definition: matpackVI.h:1365
Array< ArrayOfTensor6 > ArrayOfArrayOfTensor6
Definition: matpackVI.h:1367
Array< Tensor5 > ArrayOfTensor5
An array of Tensor5.
Definition: matpackV.h:727
NUMERIC Numeric
The type to use for all floating point numbers.
Definition: matpack.h:33
INDEX Index
The type to use for all integer numbers and indices.
Definition: matpack.h:39
void swap(ComplexVector &v1, ComplexVector &v2) noexcept
Swaps two objects.
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:216
Array< Array< String > > ArrayOfArrayOfString
An array of Strings.
Definition: mystring.h:222
Array< String > ArrayOfString
An array of Strings.
Definition: mystring.h:219
Scattering database structure and functions.
Array< ScatteringMetaData > ArrayOfScatteringMetaData
Array< SingleScatteringData > ArrayOfSingleScatteringData
Definition: optproperties.h:93
Array< Array< SingleScatteringData > > ArrayOfArrayOfSingleScatteringData
Definition: optproperties.h:94
Array< Array< ScatteringMetaData > > ArrayOfArrayOfScatteringMetaData
Array< Ppath > ArrayOfPpath
An array of propagation paths.
Definition: ppath_struct.h:61
Array< StokesVector > ArrayOfStokesVector
Array< PropagationMatrix > ArrayOfPropagationMatrix
Array< ArrayOfPropagationMatrix > ArrayOfArrayOfPropagationMatrix
Array< ArrayOfStokesVector > ArrayOfArrayOfStokesVector
Array< QuantumIdentifier > ArrayOfQuantumIdentifier
Quantum::Number::GlobalState QuantumIdentifier
Array< ArrayOfSpeciesTag > ArrayOfArrayOfSpeciesTag
Definition: species_tags.h:169
Declaration of functions in star.cc.
Array< Star > ArrayOfStar
An array of star.
Definition: star.h:78
Structure to store a grid position.
Definition: interpolation.h:73
Holds all information required for individual partial derivatives.
Definition: jacobian.h:108
An Antenna object used by MCGeneral.
Definition: mc_antenna.h:50
The structure to describe a propagation path and releated quantities.
Definition: ppath_struct.h:17
A logical struct for global quantum numbers with species identifiers.
Radiation Vector for Stokes dimension 1-4.
Implements rational numbers to work with other ARTS types.
Definition: rational.h:43
The Sparse class.
Definition: matpackII.h:75
Class to handle time in ARTS.
Definition: artstime.h:43
Class to keep track of Transmission Matrices for Stokes Dim 1-4.
static constexpr Index value
Definition: tokval.h:145
Declarations for supergeneric methods.
This file contains the definition of the TELSEM atlas format.
Array< TelsemAtlas > ArrayOfTelsemAtlas
Definition: telsem.h:396
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:243
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:155