repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
default.h
Go to the documentation of this file.
1#pragma once
2#include <librepr/feature.h>
3#include "platform.h"
4#include "warning.h"
5
6#ifndef REPR_HARD_CHECKS
7# define REPR_HARD_CHECKS OFF
8#else
9# undef REPR_HARD_CHECKS
10// Redefining so it matches the conventions.
11// This avoids cases where the user may do something
12// like `-DREPR_HARD_CHECKS=1` failing.
13# define REPR_HARD_CHECKS ON
14#endif
15
16#if !defined(REPR_RTTI) && !defined(REPR_CTTI)
17 #define REPR_RTTI ON
18 #define REPR_CTTI OFF
19#elif defined(REPR_RTTI) && !defined(REPR_CTTI)
20 #if USING(REPR_RTTI)
21 #define REPR_CTTI OFF
22 #else
23 #define REPR_CTTI ON
24 #endif
25#elif !defined(REPR_RTTI) && defined(REPR_CTTI)
26 #if USING(REPR_CTTI)
27 #define REPR_RTTI OFF
28 #else
29 #define REPR_RTTI ON
30 #endif
31#else
32 #if USING(REPR_RTTI) && USING(REPR_CTTI)
33 #error "Select either RTTI or CTTI"
34 #endif
35#endif
36
37#if !defined(REPR_SOURCE_LOCATION)
38 #define REPR_SOURCE_LOCATION OFF
39#endif
40
41#if !defined(REPR_DEFAULT_TEMPLATE_ARGUMENTS)
42 #define REPR_DEFAULT_TEMPLATE_ARGUMENTS OFF
43#endif
44
45#if !defined(REPR_DEMANGLE_MAX)
46 #define REPR_DEMANGLE_MAX 1024
47#endif
48
49#if !defined(REPR_USE_MAGIC_ENUM)
50 #define REPR_USE_MAGIC_ENUM OFF
51#endif
52
53#if !defined(REPR_ENUM_MIN_SIGNED)
54 #define REPR_ENUM_MIN_SIGNED -128
55#endif
56
57#if !defined(REPR_ENUM_MAX_SIGNED)
58 #define REPR_ENUM_MAX_SIGNED 127
59#endif
60
61#if !defined(REPR_ENUM_MIN_UNSIGNED)
62 #define REPR_ENUM_MIN_UNSIGNED 0
63#endif
64
65#if !defined(REPR_ENUM_MAX_UNSIGNED)
66 #define REPR_ENUM_MAX_UNSIGNED 255
67#endif
68
69#if !defined(REPR_ENUM_CHUNKSIZE)
70 #define REPR_ENUM_CHUNKSIZE 255
71#endif
72
73#if !defined(REPR_ENUM_FAST_SEARCH)
74#define REPR_ENUM_FAST_SEARCH ON
75#elif USING(LIBREPR_COMPILER_GCC)
76 #define REPR_ENUM_FAST_SEARCH ON
77#elif USING(LIBREPR_COMPILER_MSVC)
78 //TODO
79 #define REPR_ENUM_FAST_SEARCH OFF
80#endif
81
82#if !defined(REPR_ENUM_RECURSIVE_SEARCH)
83#define REPR_ENUM_RECURSIVE_SEARCH OFF
84#endif