JSON Voorhees
Killer JSON for C++
config.hpp File Reference

Copyright (c) 2014-2019 by Travis Gockel. More...

Go to the source code of this file.

Macros

#define JSONV_VERSION_MAJOR   1
 
#define JSONV_VERSION_MINOR   4
 
#define JSONV_VERSION_PATCH   0
 
#define JSONV_DEBUG   0
 Was JSON Voorhees compiled in debug mode? This value must be the same between when the SO was built and when you are compiling. More...
 
#define JSONV_SO   1
 Are you using shared objects (DLLs in Windows)?
 
#define JSONV_COMPILING   0
 Is JSON Voorhees currently compiling? You probably do not want to set this by hand. More...
 
#define JSONV_PUBLIC   JSONV_IMPORT
 This function or class is part of the public API for JsonVoorhees. More...
 
#define JSONV_LOCAL   JSONV_HIDDEN
 This function or class is internal-use only. More...
 
#define JSONV_UNUSED
 Note that you know the variable is unused, but make the compiler stop complaining about it.
 
#define JSONV_NO_RETURN
 Mark that a given function will never return control to the caller, either by exiting or throwing an exception.
 
#define JSONV_ALWAYS_INLINE
 Always inline the function this decorates, no matter what the compiler might think is best.
 
#define JSONV_INTEGER_ALTERNATES_LIST(item)
 An item list of types to also consider as an integer. More...
 
#define JSONV_COMPILER_SUPPORTS_TEMPLATE_TEMPLATES   1
 Does the compiler properly support template templates? Most compilers do, MSVC does not.
 

Detailed Description

Copyright (c) 2014-2019 by Travis Gockel.

All rights reserved.

This program is free software: you can redistribute it and/or modify it under the terms of the Apache License as published by the Apache Software Foundation, either version 2 of the License, or (at your option) any later version.

Author
Travis Gockel (travi.nosp@m.s@go.nosp@m.ckelh.nosp@m.ut.c.nosp@m.om)

Definition in file config.hpp.

Macro Definition Documentation

#define JSONV_COMPILING   0

Is JSON Voorhees currently compiling? You probably do not want to set this by hand.

It is set by the build system when the library is compiled.

Definition at line 52 of file config.hpp.

#define JSONV_DEBUG   0

Was JSON Voorhees compiled in debug mode? This value must be the same between when the SO was built and when you are compiling.

In general, this is not useful outside of library maintainers.

Warning
Keep in mind this value is always defined. Use #if JSONV_DEBUG, not #ifdef JSONV_DEBUG.

Definition at line 34 of file config.hpp.

#define JSONV_INTEGER_ALTERNATES_LIST (   item)
Value:
item(int) \
item(unsigned int) \
item(unsigned long) \
item(unsigned long long)

An item list of types to also consider as an integer.

This mostly exists to help resolve the C-induced type ambiguity for the literal 0. It most prefers to be an int, but might also become a long or a pointer type.

Definition at line 148 of file config.hpp.

#define JSONV_LOCAL   JSONV_HIDDEN

This function or class is internal-use only.

See also
JSONV_HIDDEN

Definition at line 105 of file config.hpp.

#define JSONV_PUBLIC   JSONV_IMPORT

This function or class is part of the public API for JsonVoorhees.

If you are including JsonVoorhees for another library, this will have import semantics (JSONV_IMPORT); if you are building JsonVoorhees, this will have export semantics (JSONV_EXPORT).

Definition at line 104 of file config.hpp.