Project
Loading...
Searching...
No Matches
qconfig.cxx File Reference
#include <cstdio>
#include <cstdlib>
#include <memory.h>
#include <utility>
#include <vector>
#include <functional>
#include <iostream>
#include <tuple>
#include "qconfig.h"
#include "qconfig_helpers.h"

Go to the source code of this file.

Classes

struct  qConfig::qConfigSettings< T >
 
struct  qConfig::qSettingsType< T >
 
struct  qConfig::qSettingsType< std::tuple< X... > >
 
struct  qConfig::qConfigTypeSpecialized< T >
 
struct  qConfig::qConfigTypeSpecialized< std::tuple< X... > >
 
struct  qConfig::qAddOptionMainTupleStruct< T, index, left >
 
struct  qConfig::qAddOptionMainTupleStruct< T, index, 0 >
 
struct  qConfig::qConfigType< T >
 

Namespaces

namespace  qConfig
 

Macros

#define QCONFIG_PARSER_CXX
 
#define QCONFIG_INSTANCE
 
#define QCONFIG_SETTING(name, type)
 
#define QCONFIG_SETTING_TEMPLATE(name)
 
#define QCONFIG_HELP
 
#define QCONFIG_PARSE
 
#define QCONFIG_PRINT
 

Functions

template<>
int32_t qConfig::qAddOptionType< bool > (qConfigSettings< bool > &settings, bool &ref, int32_t &i, const char **argv, const int argc, bool)
 
template<>
int32_t qConfig::qAddOptionType< int8_t > (qConfigSettings< int8_t > &settings, int8_t &ref, int32_t &i, const char **argv, const int argc, int8_t)
 
template<>
int32_t qConfig::qAddOptionType< uint8_t > (qConfigSettings< uint8_t > &settings, uint8_t &ref, int32_t &i, const char **argv, const int argc, uint8_t)
 
template<>
int32_t qConfig::qAddOptionType< int32_t > (qConfigSettings< int32_t > &settings, int32_t &ref, int32_t &i, const char **argv, const int argc, int32_t)
 
template<>
int32_t qConfig::qAddOptionType< uint32_t > (qConfigSettings< uint32_t > &settings, uint32_t &ref, int32_t &i, const char **argv, const int argc, uint32_t)
 
template<>
int32_t qConfig::qAddOptionType< int16_t > (qConfigSettings< int16_t > &settings, int16_t &ref, int32_t &i, const char **argv, const int argc, int16_t)
 
template<>
int32_t qConfig::qAddOptionType< uint16_t > (qConfigSettings< uint16_t > &settings, uint16_t &ref, int32_t &i, const char **argv, const int argc, uint16_t)
 
template<>
int32_t qConfig::qAddOptionType< int64_t > (qConfigSettings< int64_t > &settings, int64_t &ref, int32_t &i, const char **argv, const int argc, int64_t)
 
template<>
int32_t qConfig::qAddOptionType< uint64_t > (qConfigSettings< uint64_t > &settings, uint64_t &ref, int32_t &i, const char **argv, const int argc, uint64_t)
 
template<>
int32_t qConfig::qAddOptionType< float > (qConfigSettings< float > &settings, float &ref, int32_t &i, const char **argv, const int argc, float)
 
template<>
int32_t qConfig::qAddOptionType< double > (qConfigSettings< double > &settings, double &ref, int32_t &i, const char **argv, const int argc, double)
 
template<>
int32_t qConfig::qAddOptionType< const char * > (qConfigSettings< const char * > &settings, const char *&ref, int32_t &i, const char **argv, const int argc, const char *)
 
template<>
int32_t qConfig::qAddOptionType< std::string > (qConfigSettings< std::string > &settings, std::string &ref, int32_t &i, const char **argv, const int argc, std::string)
 
template<>
int32_t qConfig::qAddOptionMinMax< bool > (qConfigSettings< bool > &, bool &, const char *)
 
template<typename T >
void qConfig::qAddOptionMessage (qConfigSettings< T > &settings, T &ref)
 
int32_t qConfigParse (int argc, const char **argv, const char *filename)
 
void qConfigPrint ()
 

Variables

std::vector< std::function< void()> > qConfig::qprint_global
 

Detailed Description

Author
David Rohr

Definition in file qconfig.cxx.

Macro Definition Documentation

◆ QCONFIG_HELP

#define QCONFIG_HELP

◆ QCONFIG_INSTANCE

#define QCONFIG_INSTANCE

Definition at line 28 of file qconfig.cxx.

◆ QCONFIG_PARSE

#define QCONFIG_PARSE

◆ QCONFIG_PARSER_CXX

#define QCONFIG_PARSER_CXX

Definition at line 27 of file qconfig.cxx.

◆ QCONFIG_PRINT

#define QCONFIG_PRINT

Definition at line 509 of file qconfig.cxx.

◆ QCONFIG_SETTING

#define QCONFIG_SETTING (   name,
  type 
)
Value:
struct qon_mxcat3(q, name, _t) \
{ \
type v; \
constexpr qon_mxcat3(q, name, _t)(type s) : v(s) {} \
}; \
constexpr qon_mxcat3(q, name, _t) name(type v) { return (qon_mxcat3(q, name, _t)(v)); }
const GLdouble * v
Definition glcorearb.h:832
GLuint const GLchar * name
Definition glcorearb.h:781
GLint GLint GLsizei GLint GLenum GLenum type
Definition glcorearb.h:275
#define qon_mxcat3(a, b, c)

Definition at line 34 of file qconfig.cxx.

◆ QCONFIG_SETTING_TEMPLATE

#define QCONFIG_SETTING_TEMPLATE (   name)
Value:
template <typename T> \
struct qon_mxcat3(q, name, _t) \
{ \
T v; \
constexpr qon_mxcat3(q, name, _t)(const T& s) : v(s) {} \
}; \
template <typename T> \
constexpr qon_mxcat3(q, name, _t)<T> name(T v) \
{ \
return (qon_mxcat3(q, name, _t) < T > (v)); \
}

Definition at line 42 of file qconfig.cxx.

Function Documentation

◆ qConfigParse()

int32_t qConfigParse ( int  argc,
const char **  argv,
const char filename 
)

Definition at line 515 of file qconfig.cxx.

◆ qConfigPrint()

void qConfigPrint ( )

Definition at line 517 of file qconfig.cxx.