cprover
Loading...
Searching...
No Matches
c_defines.h
Go to the documentation of this file.
1/*******************************************************************\
2
3Module: C Defines
4
5Author: Daniel Kroening, dkr@amazon.com
6
7\*******************************************************************/
8
11
12#ifndef CPROVER_CRANGLER_C_DEFINES_H
13#define CPROVER_CRANGLER_C_DEFINES_H
14
15#include <util/optional.h>
16
17#include <string>
18#include <unordered_map>
19#include <vector>
20
24{
25public:
26 struct definet
27 {
29 std::string value;
30 };
31
32 using mapt = std::unordered_map<std::string, definet>;
34
35 void parse(const std::string &);
36 std::string operator()(const std::string &) const;
37};
38
39#endif // CPROVER_CRANGLER_C_DEFINES_H
This class maintains a representation of one assignment to the preprocessor macros in a C program.
Definition: c_defines.h:24
mapt map
Definition: c_defines.h:33
std::string operator()(const std::string &) const
Definition: c_defines.cpp:41
void parse(const std::string &)
Definition: c_defines.cpp:21
std::unordered_map< std::string, definet > mapt
Definition: c_defines.h:32
nonstd::optional< T > optionalt
Definition: optional.h:35
optionalt< std::vector< std::string > > parameters
Definition: c_defines.h:28
std::string value
Definition: c_defines.h:29