ARTS 2.5.9 (git: 825fa5f2)
methods.cc File Reference

Definition of method description data. More...

#include "methods.h"
#include "arts.h"
#include "groups.h"
#include "wsv_aux.h"
#include <algorithm>
#include <array>
#include <string>

Go to the source code of this file.

Namespaces

namespace  global_data
 

Macros

#define NAME(x)   x
 
#define DESCRIPTION(x)   x
 
#define AUTHORS(...)    string_array( __VA_ARGS__ )
 
#define OUT(...)    string_array( __VA_ARGS__ )
 
#define GOUT(...)    string_array( __VA_ARGS__ )
 
#define GOUT_TYPE(...)    string_array( __VA_ARGS__ )
 
#define GOUT_DESC(...)    string_array( __VA_ARGS__ )
 
#define IN(...)    string_array( __VA_ARGS__ )
 
#define GIN(...)    string_array( __VA_ARGS__ )
 
#define GIN_TYPE(...)    string_array( __VA_ARGS__ )
 
#define GIN_DEFAULT(...)    string_array( __VA_ARGS__ )
 
#define GIN_DESC(...)    string_array( __VA_ARGS__ )
 
#define SETMETHOD(x)   x
 
#define AGENDAMETHOD(x)   x
 
#define USES_TEMPLATES(x)   x
 
#define PASSWORKSPACE(x)   x
 
#define PASSWSVNAMES(x)   x
 

Functions

template<typename ... T>
std::array< const char *, sizeof...(T)> string_array (const T *... input)
 
template<size_t NUM_OF_AUTHORS, size_t NUM_OF_OUTPUTS, size_t NUM_OF_GOUT_ARGS, size_t NUM_OF_GOUT_TYPES, size_t NUM_OF_GOUT_DESCRIPTIONS, size_t NUM_OF_INPUTS, size_t NUM_OF_GIN_ARGS, size_t NUM_OF_GIN_TYPES, size_t NUM_OF_GIN_DEFAULTS, size_t NUM_OF_GIN_DESCRIPTIONS, typename ... Ts>
MdRecord create_mdrecord (const char *name, const char *description, const std::array< const char *, NUM_OF_AUTHORS > &authors, const std::array< const char *, NUM_OF_OUTPUTS > &output, const std::array< const char *, NUM_OF_GOUT_ARGS > &gout, const std::array< const char *, NUM_OF_GOUT_TYPES > &gouttype, const std::array< const char *, NUM_OF_GOUT_DESCRIPTIONS > &goutdesc, const std::array< const char *, NUM_OF_INPUTS > &input, const std::array< const char *, NUM_OF_GIN_ARGS > &gin, const std::array< const char *, NUM_OF_GIN_TYPES > &gintype, const std::array< const char *, NUM_OF_GIN_DEFAULTS > &gindefault, const std::array< const char *, NUM_OF_GIN_DESCRIPTIONS > &gindesc, Ts ... flags)
 
void define_md_data_raw ()
 

Detailed Description

Definition of method description data.

This file contains only the definition of the function define_md_data, which sets the WSV lookup data. You have to change this function each time you add a new method. See methods.h for more documentation.

Author
Stefan Buehler
Date
2000-06-10

Definition in file methods.cc.

Macro Definition Documentation

◆ AGENDAMETHOD

#define AGENDAMETHOD (   x)    x

Definition at line 124 of file methods.cc.

◆ AUTHORS

#define AUTHORS (   ...)     string_array( __VA_ARGS__ )

Definition at line 103 of file methods.cc.

◆ DESCRIPTION

#define DESCRIPTION (   x)    x

Definition at line 102 of file methods.cc.

◆ GIN

#define GIN (   ...)     string_array( __VA_ARGS__ )

Definition at line 115 of file methods.cc.

◆ GIN_DEFAULT

#define GIN_DEFAULT (   ...)     string_array( __VA_ARGS__ )

Definition at line 119 of file methods.cc.

◆ GIN_DESC

#define GIN_DESC (   ...)     string_array( __VA_ARGS__ )

Definition at line 121 of file methods.cc.

◆ GIN_TYPE

#define GIN_TYPE (   ...)     string_array( __VA_ARGS__ )

Definition at line 117 of file methods.cc.

◆ GOUT

#define GOUT (   ...)     string_array( __VA_ARGS__ )

Definition at line 107 of file methods.cc.

◆ GOUT_DESC

#define GOUT_DESC (   ...)     string_array( __VA_ARGS__ )

Definition at line 111 of file methods.cc.

◆ GOUT_TYPE

#define GOUT_TYPE (   ...)     string_array( __VA_ARGS__ )

Definition at line 109 of file methods.cc.

◆ IN

#define IN (   ...)     string_array( __VA_ARGS__ )

Definition at line 113 of file methods.cc.

◆ NAME

#define NAME (   x)    x

Definition at line 101 of file methods.cc.

◆ OUT

#define OUT (   ...)     string_array( __VA_ARGS__ )

Definition at line 105 of file methods.cc.

◆ PASSWORKSPACE

#define PASSWORKSPACE (   x)    x

Definition at line 126 of file methods.cc.

◆ PASSWSVNAMES

#define PASSWSVNAMES (   x)    x

Definition at line 127 of file methods.cc.

◆ SETMETHOD

#define SETMETHOD (   x)    x

Definition at line 123 of file methods.cc.

◆ USES_TEMPLATES

#define USES_TEMPLATES (   x)    x

Definition at line 125 of file methods.cc.

Function Documentation

◆ create_mdrecord()

template<size_t NUM_OF_AUTHORS, size_t NUM_OF_OUTPUTS, size_t NUM_OF_GOUT_ARGS, size_t NUM_OF_GOUT_TYPES, size_t NUM_OF_GOUT_DESCRIPTIONS, size_t NUM_OF_INPUTS, size_t NUM_OF_GIN_ARGS, size_t NUM_OF_GIN_TYPES, size_t NUM_OF_GIN_DEFAULTS, size_t NUM_OF_GIN_DESCRIPTIONS, typename ... Ts>
MdRecord create_mdrecord ( const char *  name,
const char *  description,
const std::array< const char *, NUM_OF_AUTHORS > &  authors,
const std::array< const char *, NUM_OF_OUTPUTS > &  output,
const std::array< const char *, NUM_OF_GOUT_ARGS > &  gout,
const std::array< const char *, NUM_OF_GOUT_TYPES > &  gouttype,
const std::array< const char *, NUM_OF_GOUT_DESCRIPTIONS > &  goutdesc,
const std::array< const char *, NUM_OF_INPUTS > &  input,
const std::array< const char *, NUM_OF_GIN_ARGS > &  gin,
const std::array< const char *, NUM_OF_GIN_TYPES > &  gintype,
const std::array< const char *, NUM_OF_GIN_DEFAULTS > &  gindefault,
const std::array< const char *, NUM_OF_GIN_DESCRIPTIONS > &  gindesc,
Ts ...  flags 
)

Definition at line 63 of file methods.cc.

Referenced by define_md_data_raw().

◆ define_md_data_raw()

void define_md_data_raw ( )

Add all the agenda-setting methods below here:

Special method that has to look through some of the above methods for changes

Special method that has to look through some of the above methods for changes

Definition at line 190 of file methods.cc.

References a, AGENDAMETHOD, ARTS_ASSERT, AUTHORS, b, create_mdrecord(), DESCRIPTION, get_array_groups_as_string(), GIN, GIN_DEFAULT, GIN_DESC, GIN_TYPE, GOUT, GOUT_DESC, GOUT_TYPE, IN, global_data::md_data_raw, NAME, Array< base >::nelem(), NODEF, OUT, PASSWORKSPACE, PASSWSVNAMES, SETMETHOD, USES_TEMPLATES, and global_data::wsv_groups.

Referenced by main().

◆ string_array()

template<typename ... T>
std::array< const char *, sizeof...(T)> string_array ( const T *...  input)

Definition at line 47 of file methods.cc.