Doxygen
Loading...
Searching...
No Matches
constexp.h
Go to the documentation of this file.
1
/******************************************************************************
2
*
3
* Copyright (C) 1997-2021 by Dimitri van Heesch.
4
*
5
* Permission to use, copy, modify, and distribute this software and its
6
* documentation under the terms of the GNU General Public License is hereby
7
* granted. No representations are made about the suitability of this software
8
* for any purpose. It is provided "as is" without express or implied warranty.
9
* See the GNU General Public License for more details.
10
*
11
* Documents produced by Doxygen are derivative works derived from the
12
* input used in their production; they are not affected by this license.
13
*
14
*/
15
16
#ifndef CONSTEXP_H
17
#define CONSTEXP_H
18
19
#include <string>
20
#include <memory>
21
22
#include "
construct.h
"
23
24
/** @brief constant expression parser used for the C preprocessor */
25
class
ConstExpressionParser
26
{
27
public
:
28
ConstExpressionParser
();
29
~ConstExpressionParser
();
30
NON_COPYABLE
(
ConstExpressionParser
)
31
bool
parse
(
const
char
*fileName,
int
line,
const
std::string &expression,
const
std::string &orgExpression);
32
private
:
33
struct
Private
;
34
std::unique_ptr<Private>
p
;
35
};
36
37
#endif
ConstExpressionParser::ConstExpressionParser
ConstExpressionParser()
Definition
constexp.l:129
ConstExpressionParser::p
std::unique_ptr< Private > p
Definition
constexp.h:34
ConstExpressionParser::~ConstExpressionParser
~ConstExpressionParser()
Definition
constexp.l:134
ConstExpressionParser::parse
bool parse(const char *fileName, int line, const std::string &expression, const std::string &orgExpression)
Definition
constexp.l:139
construct.h
NON_COPYABLE
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition
construct.h:37
ConstExpressionParser::Private
Definition
constexp.l:123
src
constexp.h
Generated by
1.13.0