aboutsummaryrefslogtreecommitdiff
path: root/src/list.cpp
blob: 360d6b6620369aa49191c5758c5ab588d3874bbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* Projection System: default list of projections
** Use local definition of PJ_LIST_H for subset.
*/

#include "proj.h"

#define USE_PJ_LIST_H 1
#include "proj_internal.h"


/* Generate prototypes for projection functions */
#define PROJ_HEAD(id, name) extern "C" struct PJconsts *pj_##id(struct PJconsts*);
#include "pj_list.h"
#undef PROJ_HEAD

/* Generate extern declarations for description strings */
#define PROJ_HEAD(id, name) extern "C" const char * const pj_s_##id;
#include "pj_list.h"
#undef PROJ_HEAD

/* Generate the null-terminated list of projection functions with associated mnemonics and descriptions */
#define PROJ_HEAD(id, name) {#id, pj_##id, &pj_s_##id},
const struct PJ_LIST pj_list[] = {
#include "pj_list.h"
    {nullptr,     nullptr,  nullptr},
};
#undef PROJ_HEAD


const PJ_OPERATIONS *proj_list_operations(void) {
    return pj_list;
}