LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
config.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2/*
3 * This file is part of pex_config.
4 *
5 * Developed for the LSST Data Management System.
6 * This product includes software developed by the LSST Project
7 * (http://www.lsst.org).
8 * See the COPYRIGHT file at the top-level directory of this distribution
9 * for details of code ownership.
10 *
11 * This software is dual licensed under the GNU General Public License and also
12 * under a 3-clause BSD license. Recipients may choose which of these licenses
13 * to use; please see the files gpl-3.0.txt and/or bsd_license.txt,
14 * respectively. If you choose the GPL option then the following text applies
15 * (but note that there is still no warranty even if you opt for BSD instead):
16 *
17 * This program is free software: you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License as published by
19 * the Free Software Foundation, either version 3 of the License, or
20 * (at your option) any later version.
21 *
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * You should have received a copy of the GNU General Public License
28 * along with this program. If not, see <http://www.gnu.org/licenses/>.
29 */
30
31#ifndef LSST_PEX_CONFIG_H
32#define LSST_PEX_CONFIG_H
33
43#define LSST_CONTROL_FIELD(NAME, TYPE, DOC) \
44 static char const * _doc_ ## NAME() { \
45 static char const * doc = DOC; \
46 return doc; \
47 } \
48 static char const * _type_ ## NAME() { \
49 static char const * type = #TYPE; \
50 return type; \
51 } \
52 TYPE NAME
53
69#define LSST_NESTED_CONTROL_FIELD(NAME, MODULE, TYPE, DOC) \
70 static char const * _doc_ ## NAME() { \
71 static char const * doc = DOC; \
72 return doc; \
73 } \
74 static char const * _type_ ## NAME() { \
75 static char const * type = #TYPE; \
76 return type; \
77 } \
78 static char const * _module_ ## NAME() { \
79 static char const * mod = #MODULE; \
80 return mod; \
81 } \
82 TYPE NAME
83
84#endif