Project
Loading...
Searching...
No Matches
qconfig_internal_helpers.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11
14
15#ifndef QCONFIG_INTERNAL_HELPERS_H
16#define QCONFIG_INTERNAL_HELPERS_H
17
18namespace qConfig
19{
20#define QCONFIG_SETTING(name, type) \
21 struct qon_mxcat3(q, name, _t) { \
22 type v; \
23 constexpr qon_mxcat3(q, name, _t)(type s) : v(s) {} \
24 }; \
25 constexpr qon_mxcat3(q, name, _t) name(type v) { return (qon_mxcat3(q, name, _t)(v)); }
26
27#define QCONFIG_SETTING_TEMPLATE(name) \
28 template <typename T> \
29 struct qon_mxcat3(q, name, _t) { \
30 T v; \
31 constexpr qon_mxcat3(q, name, _t)(const T& s) : v(s) {} \
32 }; \
33 template <typename T> \
34 constexpr qon_mxcat3(q, name, _t)<T> name(T v) \
35 { \
36 return (qon_mxcat3(q, name, _t) < T > (v)); \
37 }
38
39QCONFIG_SETTING(message, const char*)
44} // namespace qConfig
45
46#endif
GLuint GLsizei const GLchar * message
Definition glcorearb.h:2517
#define QCONFIG_SETTING(name, type)
#define QCONFIG_SETTING_TEMPLATE(name)
constexpr size_t min
constexpr size_t max