Crossfire Server, Trunk
inja.hpp File Reference
#include <nlohmann/json.hpp>
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <memory>
#include <sstream>
#include <string>
#include <functional>
#include <algorithm>
#include <cassert>
#include <iterator>
#include <limits>
#include <ostream>
#include <vector>
#include <stack>
#include <utility>
#include <queue>
#include <stdexcept>
#include <cctype>
#include <locale>
#include <map>
#include <numeric>
+ Include dependency graph for inja.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  inja::AstNode
 Base node class for the abstract syntax tree (AST). More...
 
class  inja::BlockNode
 
class  inja::BlockStatementNode
 
class  inja::Environment
 Class for changing the configuration. More...
 
class  inja::ExpressionListNode
 
class  inja::ExpressionNode
 
class  inja::ExtendsStatementNode
 
struct  inja::FileError
 
class  inja::ForArrayStatementNode
 
class  inja::ForObjectStatementNode
 
class  inja::ForStatementNode
 
class  inja::FunctionNode
 
class  inja::FunctionStorage
 Class for builtin functions and user-defined callbacks. More...
 
struct  inja::FunctionStorage::FunctionData
 
class  inja::IfStatementNode
 
class  inja::IncludeStatementNode
 
struct  inja::InjaError
 
struct  inja::JsonError
 
class  inja::JsonNode
 
class  inja::Lexer
 Class for lexing an inja Template. More...
 
class  inja::LiteralNode
 
class  inja::NodeVisitor
 
class  inja::Parser
 Class for parsing an inja Template. More...
 
struct  inja::ParserError
 
class  inja::Renderer
 Class for rendering a Template with data. More...
 
struct  inja::RenderError
 
class  inja::SetStatementNode
 
struct  inja::SourceLocation
 
class  inja::StatementNode
 
class  inja::StatisticsVisitor
 A class for counting statistics on a Template. More...
 
struct  inja::Template
 The main inja Template. More...
 
class  inja::TextNode
 
struct  inja::Token
 Helper-class for the inja Lexer. More...
 

Namespaces

 inja
 
 inja::string_view
 
 nonstd
 
 nonstd::sv_lite
 

Macros

#define INCLUDE_INJA_CONFIG_HPP_
 
#define INCLUDE_INJA_ENVIRONMENT_HPP_
 
#define INCLUDE_INJA_EXCEPTIONS_HPP_
 
#define INCLUDE_INJA_FUNCTION_STORAGE_HPP_
 
#define INCLUDE_INJA_LEXER_HPP_
 
#define INCLUDE_INJA_NODE_HPP_
 
#define INCLUDE_INJA_PARSER_HPP_
 
#define INCLUDE_INJA_RENDERER_HPP_
 
#define INCLUDE_INJA_STATISTICS_HPP_
 
#define INCLUDE_INJA_TEMPLATE_HPP_
 
#define INCLUDE_INJA_TOKEN_HPP_
 
#define INCLUDE_INJA_UTILS_HPP_
 
#define INJA_NOEXCEPTION
 
#define INJA_THROW(exception)   std::abort(); std::ignore = exception
 
#define NONSTD_SV_LITE_H_INCLUDED
 
#define nssv_BETWEEN(v, lo, hi)   ((lo) <= (v) && (v) < (hi))
 
#define nssv_COMPILER_CLANG_VERSION   0
 
#define nssv_COMPILER_GNUC_VERSION   0
 
#define nssv_COMPILER_MSVC_VER   0
 
#define nssv_COMPILER_MSVC_VERSION   0
 
#define nssv_COMPILER_VERSION(major, minor, patch)   (10 * (10 * (major) + (minor)) + (patch))
 
#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS   1
 
#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS   1
 
#define nssv_CONFIG_NO_EXCEPTIONS   1
 
#define nssv_CONFIG_SELECT_STRING_VIEW   (nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD)
 
#define nssv_CONFIG_STD_SV_OPERATOR   0
 
#define nssv_CONFIG_USR_SV_OPERATOR   1
 
#define nssv_constexpr   /*constexpr*/
 
#define nssv_constexpr14   /*constexpr*/
 
#define nssv_CPLUSPLUS   __cplusplus
 
#define nssv_CPP11_100   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600)
 
#define nssv_CPP11_110   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700)
 
#define nssv_CPP11_120   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800)
 
#define nssv_CPP11_140   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900)
 
#define nssv_CPP11_141   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910)
 
#define nssv_CPP11_90   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500)
 
#define nssv_CPP11_OR_GREATER   (nssv_CPLUSPLUS >= 201103L)
 
#define nssv_CPP11_OR_GREATER_   (nssv_CPLUSPLUS >= 201103L)
 
#define nssv_CPP14_000   (nssv_CPP14_OR_GREATER)
 
#define nssv_CPP14_OR_GREATER   (nssv_CPLUSPLUS >= 201402L)
 
#define nssv_CPP17_000   (nssv_CPP17_OR_GREATER)
 
#define nssv_CPP17_OR_GREATER   (nssv_CPLUSPLUS >= 201703L)
 
#define nssv_CPP20_OR_GREATER   (nssv_CPLUSPLUS >= 202000L)
 
#define nssv_CPP98_OR_GREATER   (nssv_CPLUSPLUS >= 199711L)
 
#define nssv_DISABLE_MSVC_WARNINGS(codes)
 
#define nssv_explicit   /*explicit*/
 
#define nssv_HAS_CPP0X   0
 
#define nssv_HAVE_CONSTEXPR_11   nssv_CPP11_140
 
#define nssv_HAVE_CONSTEXPR_14   nssv_CPP14_000
 
#define nssv_HAVE_ENDS_WITH   nssv_HAVE_STARTS_WITH
 
#define nssv_HAVE_EXPLICIT_CONVERSION   nssv_CPP11_140
 
#define nssv_HAVE_INLINE_NAMESPACE   nssv_CPP11_140
 
#define nssv_HAVE_NODISCARD   nssv_CPP17_000
 
#define nssv_HAVE_NOEXCEPT   nssv_CPP11_140
 
#define nssv_HAVE_NULLPTR   nssv_CPP11_100
 
#define nssv_HAVE_REF_QUALIFIER   nssv_CPP11_140
 
#define nssv_HAVE_STARTS_WITH   (nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW)
 
#define nssv_HAVE_STD_DEFINED_LITERALS   nssv_CPP11_140
 
#define nssv_HAVE_STD_HASH   nssv_CPP11_120
 
#define nssv_HAVE_STD_STRING_VIEW   0
 
#define nssv_HAVE_UNICODE_LITERALS   nssv_CPP11_140
 
#define nssv_HAVE_USER_DEFINED_LITERALS   nssv_CPP11_140
 
#define nssv_HAVE_WCHAR16_T   nssv_CPP11_100
 
#define nssv_HAVE_WCHAR32_T   nssv_CPP11_100
 
#define nssv_inline_ns   /*inline*/
 
#define nssv_nodiscard   /*[[nodiscard]]*/
 
#define nssv_noexcept   /*noexcept*/
 
#define nssv_nullptr   NULL
 
#define nssv_RESTORE_WARNINGS()
 
#define nssv_STRING_VIEW_DEFAULT   0
 
#define nssv_STRING_VIEW_NONSTD   1
 
#define nssv_STRING_VIEW_STD   2
 
#define nssv_STRINGIFY(x)   nssv_STRINGIFY_(x)
 
#define nssv_STRINGIFY_(x)   #x
 
#define nssv_SUPPRESS_MSGSL_WARNING(expr)
 
#define nssv_SUPPRESS_MSVC_WARNING(code, descr)
 
#define nssv_USES_STD_STRING_VIEW
 
#define string_view_lite_MAJOR   1
 
#define string_view_lite_MINOR   4
 
#define string_view_lite_PATCH   0
 
#define string_view_lite_VERSION
 

Typedefs

using inja::Arguments = std::vector< const json * >
 
using inja::CallbackFunction = std::function< json(Arguments &args)>
 
using inja::json = nlohmann::json
 
using inja::TemplateStorage = std::map< std::string, Template >
 
using inja::VoidCallbackFunction = std::function< void(Arguments &args)>
 

Functions

SourceLocation inja::get_source_location (nonstd::string_view content, size_t pos)
 
 nssv_DISABLE_MSVC_WARNINGS (4455 26481 26472) namespace nonstd
 
void inja::open_file_or_throw (const std::string &path, std::ifstream &file)
 
std::string inja::render (nonstd::string_view input, const json &data)
 render with default settings to a string More...
 
void inja::render_to (std::ostream &os, nonstd::string_view input, const json &data)
 render with default settings to the given output stream More...
 
void inja::replace_substring (std::string &s, const std::string &f, const std::string &t)
 
nonstd::string_view inja::string_view::slice (nonstd::string_view view, size_t start, size_t end)
 
std::pair< nonstd::string_view, nonstd::string_view > inja::string_view::split (nonstd::string_view view, char Separator)
 
bool inja::string_view::starts_with (nonstd::string_view view, nonstd::string_view prefix)
 
template<class CharT , class Traits >
std::basic_string< CharT, Traits > nonstd::sv_lite::to_string (basic_string_view< CharT, Traits > v)
 
template<class CharT , class Traits , class Allocator >
std::basic_string< CharT, Traits, Allocator > nonstd::sv_lite::to_string (basic_string_view< CharT, Traits > v, Allocator const &a)
 
template<class CharT , class Traits , class Allocator >
basic_string_view< CharT, Traits > nonstd::sv_lite::to_string_view (std::basic_string< CharT, Traits, Allocator > const &s)
 

Macro Definition Documentation

◆ INCLUDE_INJA_CONFIG_HPP_

#define INCLUDE_INJA_CONFIG_HPP_

Definition at line 58 of file inja.hpp.

◆ INCLUDE_INJA_ENVIRONMENT_HPP_

#define INCLUDE_INJA_ENVIRONMENT_HPP_

Definition at line 46 of file inja.hpp.

◆ INCLUDE_INJA_EXCEPTIONS_HPP_

#define INCLUDE_INJA_EXCEPTIONS_HPP_

Definition at line 1714 of file inja.hpp.

◆ INCLUDE_INJA_FUNCTION_STORAGE_HPP_

#define INCLUDE_INJA_FUNCTION_STORAGE_HPP_

Definition at line 1556 of file inja.hpp.

◆ INCLUDE_INJA_LEXER_HPP_

#define INCLUDE_INJA_LEXER_HPP_

Definition at line 1766 of file inja.hpp.

◆ INCLUDE_INJA_NODE_HPP_

#define INCLUDE_INJA_NODE_HPP_

Definition at line 2365 of file inja.hpp.

◆ INCLUDE_INJA_PARSER_HPP_

#define INCLUDE_INJA_PARSER_HPP_

Definition at line 1701 of file inja.hpp.

◆ INCLUDE_INJA_RENDERER_HPP_

#define INCLUDE_INJA_RENDERER_HPP_

Definition at line 3493 of file inja.hpp.

◆ INCLUDE_INJA_STATISTICS_HPP_

#define INCLUDE_INJA_STATISTICS_HPP_

Definition at line 2754 of file inja.hpp.

◆ INCLUDE_INJA_TEMPLATE_HPP_

#define INCLUDE_INJA_TEMPLATE_HPP_

Definition at line 2743 of file inja.hpp.

◆ INCLUDE_INJA_TOKEN_HPP_

#define INCLUDE_INJA_TOKEN_HPP_

Definition at line 1775 of file inja.hpp.

◆ INCLUDE_INJA_UTILS_HPP_

#define INCLUDE_INJA_UTILS_HPP_

Definition at line 1852 of file inja.hpp.

◆ INJA_NOEXCEPTION

#define INJA_NOEXCEPTION

Definition at line 40 of file inja.hpp.

◆ INJA_THROW

#define INJA_THROW (   exception)    std::abort(); std::ignore = exception

Definition at line 37 of file inja.hpp.

◆ NONSTD_SV_LITE_H_INCLUDED

#define NONSTD_SV_LITE_H_INCLUDED

Definition at line 75 of file inja.hpp.

◆ nssv_BETWEEN

#define nssv_BETWEEN (   v,
  lo,
  hi 
)    ((lo) <= (v) && (v) < (hi))

Definition at line 300 of file inja.hpp.

◆ nssv_COMPILER_CLANG_VERSION

#define nssv_COMPILER_CLANG_VERSION   0

Definition at line 290 of file inja.hpp.

◆ nssv_COMPILER_GNUC_VERSION

#define nssv_COMPILER_GNUC_VERSION   0

Definition at line 296 of file inja.hpp.

◆ nssv_COMPILER_MSVC_VER

#define nssv_COMPILER_MSVC_VER   0

Definition at line 281 of file inja.hpp.

◆ nssv_COMPILER_MSVC_VERSION

#define nssv_COMPILER_MSVC_VERSION   0

Definition at line 282 of file inja.hpp.

◆ nssv_COMPILER_VERSION

#define nssv_COMPILER_VERSION (   major,
  minor,
  patch 
)    (10 * (10 * (major) + (minor)) + (patch))

Definition at line 285 of file inja.hpp.

◆ nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS

#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS   1

Definition at line 116 of file inja.hpp.

◆ nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS

#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS   1

Definition at line 120 of file inja.hpp.

◆ nssv_CONFIG_NO_EXCEPTIONS

#define nssv_CONFIG_NO_EXCEPTIONS   1

Definition at line 129 of file inja.hpp.

◆ nssv_CONFIG_SELECT_STRING_VIEW

#define nssv_CONFIG_SELECT_STRING_VIEW   (nssv_HAVE_STD_STRING_VIEW ? nssv_STRING_VIEW_STD : nssv_STRING_VIEW_NONSTD)

Definition at line 95 of file inja.hpp.

◆ nssv_CONFIG_STD_SV_OPERATOR

#define nssv_CONFIG_STD_SV_OPERATOR   0

Definition at line 103 of file inja.hpp.

◆ nssv_CONFIG_USR_SV_OPERATOR

#define nssv_CONFIG_USR_SV_OPERATOR   1

Definition at line 107 of file inja.hpp.

◆ nssv_constexpr

#define nssv_constexpr   /*constexpr*/

Definition at line 363 of file inja.hpp.

◆ nssv_constexpr14

#define nssv_constexpr14   /*constexpr*/

Definition at line 369 of file inja.hpp.

◆ nssv_CPLUSPLUS

#define nssv_CPLUSPLUS   __cplusplus

Definition at line 140 of file inja.hpp.

◆ nssv_CPP11_100

#define nssv_CPP11_100   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1600)

Definition at line 318 of file inja.hpp.

◆ nssv_CPP11_110

#define nssv_CPP11_110   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1700)

Definition at line 319 of file inja.hpp.

◆ nssv_CPP11_120

#define nssv_CPP11_120   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1800)

Definition at line 320 of file inja.hpp.

◆ nssv_CPP11_140

#define nssv_CPP11_140   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1900)

Definition at line 321 of file inja.hpp.

◆ nssv_CPP11_141

#define nssv_CPP11_141   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1910)

Definition at line 322 of file inja.hpp.

◆ nssv_CPP11_90

#define nssv_CPP11_90   (nssv_CPP11_OR_GREATER_ || nssv_COMPILER_MSVC_VER >= 1500)

Definition at line 317 of file inja.hpp.

◆ nssv_CPP11_OR_GREATER

#define nssv_CPP11_OR_GREATER   (nssv_CPLUSPLUS >= 201103L)

Definition at line 145 of file inja.hpp.

◆ nssv_CPP11_OR_GREATER_

#define nssv_CPP11_OR_GREATER_   (nssv_CPLUSPLUS >= 201103L)

Definition at line 146 of file inja.hpp.

◆ nssv_CPP14_000

#define nssv_CPP14_000   (nssv_CPP14_OR_GREATER)

Definition at line 324 of file inja.hpp.

◆ nssv_CPP14_OR_GREATER

#define nssv_CPP14_OR_GREATER   (nssv_CPLUSPLUS >= 201402L)

Definition at line 147 of file inja.hpp.

◆ nssv_CPP17_000

#define nssv_CPP17_000   (nssv_CPP17_OR_GREATER)

Definition at line 325 of file inja.hpp.

◆ nssv_CPP17_OR_GREATER

#define nssv_CPP17_OR_GREATER   (nssv_CPLUSPLUS >= 201703L)

Definition at line 148 of file inja.hpp.

◆ nssv_CPP20_OR_GREATER

#define nssv_CPP20_OR_GREATER   (nssv_CPLUSPLUS >= 202000L)

Definition at line 149 of file inja.hpp.

◆ nssv_CPP98_OR_GREATER

#define nssv_CPP98_OR_GREATER   (nssv_CPLUSPLUS >= 199711L)

Definition at line 144 of file inja.hpp.

◆ nssv_DISABLE_MSVC_WARNINGS

#define nssv_DISABLE_MSVC_WARNINGS (   codes)

Definition at line 445 of file inja.hpp.

◆ nssv_explicit

#define nssv_explicit   /*explicit*/

Definition at line 375 of file inja.hpp.

◆ nssv_HAS_CPP0X

#define nssv_HAS_CPP0X   0

Definition at line 307 of file inja.hpp.

◆ nssv_HAVE_CONSTEXPR_11

#define nssv_HAVE_CONSTEXPR_11   nssv_CPP11_140

Definition at line 329 of file inja.hpp.

◆ nssv_HAVE_CONSTEXPR_14

#define nssv_HAVE_CONSTEXPR_14   nssv_CPP14_000

Definition at line 348 of file inja.hpp.

◆ nssv_HAVE_ENDS_WITH

#define nssv_HAVE_ENDS_WITH   nssv_HAVE_STARTS_WITH

Definition at line 168 of file inja.hpp.

◆ nssv_HAVE_EXPLICIT_CONVERSION

#define nssv_HAVE_EXPLICIT_CONVERSION   nssv_CPP11_140

Definition at line 330 of file inja.hpp.

◆ nssv_HAVE_INLINE_NAMESPACE

#define nssv_HAVE_INLINE_NAMESPACE   nssv_CPP11_140

Definition at line 331 of file inja.hpp.

◆ nssv_HAVE_NODISCARD

#define nssv_HAVE_NODISCARD   nssv_CPP17_000

Definition at line 352 of file inja.hpp.

◆ nssv_HAVE_NOEXCEPT

#define nssv_HAVE_NOEXCEPT   nssv_CPP11_140

Definition at line 332 of file inja.hpp.

◆ nssv_HAVE_NULLPTR

#define nssv_HAVE_NULLPTR   nssv_CPP11_100

Definition at line 333 of file inja.hpp.

◆ nssv_HAVE_REF_QUALIFIER

#define nssv_HAVE_REF_QUALIFIER   nssv_CPP11_140

Definition at line 334 of file inja.hpp.

◆ nssv_HAVE_STARTS_WITH

#define nssv_HAVE_STARTS_WITH   (nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW)

Definition at line 167 of file inja.hpp.

◆ nssv_HAVE_STD_DEFINED_LITERALS

#define nssv_HAVE_STD_DEFINED_LITERALS   nssv_CPP11_140

Definition at line 341 of file inja.hpp.

◆ nssv_HAVE_STD_HASH

#define nssv_HAVE_STD_HASH   nssv_CPP11_120

Definition at line 356 of file inja.hpp.

◆ nssv_HAVE_STD_STRING_VIEW

#define nssv_HAVE_STD_STRING_VIEW   0

Definition at line 160 of file inja.hpp.

◆ nssv_HAVE_UNICODE_LITERALS

#define nssv_HAVE_UNICODE_LITERALS   nssv_CPP11_140

Definition at line 335 of file inja.hpp.

◆ nssv_HAVE_USER_DEFINED_LITERALS

#define nssv_HAVE_USER_DEFINED_LITERALS   nssv_CPP11_140

Definition at line 336 of file inja.hpp.

◆ nssv_HAVE_WCHAR16_T

#define nssv_HAVE_WCHAR16_T   nssv_CPP11_100

Definition at line 337 of file inja.hpp.

◆ nssv_HAVE_WCHAR32_T

#define nssv_HAVE_WCHAR32_T   nssv_CPP11_100

Definition at line 338 of file inja.hpp.

◆ nssv_inline_ns

#define nssv_inline_ns   /*inline*/

Definition at line 381 of file inja.hpp.

◆ nssv_nodiscard

#define nssv_nodiscard   /*[[nodiscard]]*/

Definition at line 407 of file inja.hpp.

◆ nssv_noexcept

#define nssv_noexcept   /*noexcept*/

Definition at line 387 of file inja.hpp.

◆ nssv_nullptr

#define nssv_nullptr   NULL

Definition at line 401 of file inja.hpp.

◆ nssv_RESTORE_WARNINGS

nssv_RESTORE_WARNINGS ( )

Class for lexer configuration.

Class for parser configuration.

Class for render configuration.

Definition at line 455 of file inja.hpp.

◆ nssv_STRING_VIEW_DEFAULT

#define nssv_STRING_VIEW_DEFAULT   0

Definition at line 90 of file inja.hpp.

◆ nssv_STRING_VIEW_NONSTD

#define nssv_STRING_VIEW_NONSTD   1

Definition at line 91 of file inja.hpp.

◆ nssv_STRING_VIEW_STD

#define nssv_STRING_VIEW_STD   2

Definition at line 92 of file inja.hpp.

◆ nssv_STRINGIFY

#define nssv_STRINGIFY (   x)    nssv_STRINGIFY_(x)

Definition at line 85 of file inja.hpp.

◆ nssv_STRINGIFY_

#define nssv_STRINGIFY_ (   x)    #x

Definition at line 86 of file inja.hpp.

◆ nssv_SUPPRESS_MSGSL_WARNING

#define nssv_SUPPRESS_MSGSL_WARNING (   expr)

Definition at line 443 of file inja.hpp.

◆ nssv_SUPPRESS_MSVC_WARNING

#define nssv_SUPPRESS_MSVC_WARNING (   code,
  descr 
)

Definition at line 444 of file inja.hpp.

◆ nssv_USES_STD_STRING_VIEW

#define nssv_USES_STD_STRING_VIEW

◆ string_view_lite_MAJOR

#define string_view_lite_MAJOR   1

Definition at line 77 of file inja.hpp.

◆ string_view_lite_MINOR

#define string_view_lite_MINOR   4

Definition at line 78 of file inja.hpp.

◆ string_view_lite_PATCH

#define string_view_lite_PATCH   0

Definition at line 79 of file inja.hpp.

◆ string_view_lite_VERSION

#define string_view_lite_VERSION

Function Documentation

◆ nssv_DISABLE_MSVC_WARNINGS()

nssv_STRING_VIEW_DEFAULT
#define nssv_STRING_VIEW_DEFAULT
Definition: inja.hpp:90
string_view_lite_MINOR
#define string_view_lite_MINOR
Definition: inja.hpp:78
nssv_STRING_VIEW_STD
#define nssv_STRING_VIEW_STD
Definition: inja.hpp:92
string_view_lite_PATCH
#define string_view_lite_PATCH
Definition: inja.hpp:79
string_view_lite_MAJOR
#define string_view_lite_MAJOR
Definition: inja.hpp:77
nssv_HAVE_STD_STRING_VIEW
#define nssv_HAVE_STD_STRING_VIEW
Definition: inja.hpp:160
nssv_STRINGIFY
#define nssv_STRINGIFY(x)
Definition: inja.hpp:85
nssv_CONFIG_SELECT_STRING_VIEW
#define nssv_CONFIG_SELECT_STRING_VIEW
Definition: inja.hpp:95