cprover
source_lines.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Source Lines
4 
5 Author: Mark R. Tuttle
6 
7 \*******************************************************************/
8 
11 
19 
20 #ifndef CPROVER_GOTO_INSTRUMENT_SOURCE_LINES_H
21 #define CPROVER_GOTO_INSTRUMENT_SOURCE_LINES_H
22 
23 #include <map>
24 #include <set>
25 #include <string>
26 
27 class source_locationt;
28 
30 {
31 public:
33  source_linest() = default;
34  explicit source_linest(const source_locationt &loc)
35  {
36  insert(loc);
37  }
38 
41  void insert(const source_locationt &loc);
42 
50  std::string to_string() const;
51 
52 private:
54  typedef std::set<std::size_t> linest;
56  typedef std::map<std::string, linest> block_linest;
57 
59 };
60 
61 #endif // CPROVER_GOTO_INSTRUMENT_SOURCE_LINES_H
source_linest::source_linest
source_linest()=default
Constructors.
source_linest::linest
std::set< std::size_t > linest
A set of lines from a single file.
Definition: source_lines.h:54
source_linest::to_string
std::string to_string() const
Construct a string representing the set of lines.
Definition: source_lines.cpp:38
source_linest::insert
void insert(const source_locationt &loc)
Insert a line (a source location) into the set of lines.
Definition: source_lines.cpp:22
source_linest
Definition: source_lines.h:30
source_locationt
Definition: source_location.h:20
source_linest::source_linest
source_linest(const source_locationt &loc)
Definition: source_lines.h:34
source_linest::block_lines
block_linest block_lines
Definition: source_lines.h:58
source_linest::block_linest
std::map< std::string, linest > block_linest
A set of lines from multiple files.
Definition: source_lines.h:56