diff options
Diffstat (limited to 'src/list.cpp')
| -rw-r--r-- | src/list.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/list.cpp b/src/list.cpp new file mode 100644 index 00000000..73ca5f86 --- /dev/null +++ b/src/list.cpp @@ -0,0 +1,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 "projects.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; +} |
