cprover
Toggle main menu visibility
Loading...
Searching...
No Matches
goto_trace_storage.h
Go to the documentation of this file.
1
/*******************************************************************\
2
3
Module: Goto Trace Storage
4
5
Author: Daniel Kroening, Peter Schrammel
6
7
\*******************************************************************/
8
11
12
#ifndef CPROVER_GOTO_CHECKER_GOTO_TRACE_STORAGE_H
13
#define CPROVER_GOTO_CHECKER_GOTO_TRACE_STORAGE_H
14
15
#include <
goto-programs/goto_trace.h
>
16
17
#include <
util/merge_irep.h
>
18
19
#include <list>
20
21
class
goto_trace_storaget
22
{
23
public
:
24
explicit
goto_trace_storaget
(
const
namespacet
&);
25
goto_trace_storaget
(
const
goto_trace_storaget
&) =
delete
;
26
28
const
goto_tracet
&
insert
(
goto_tracet
&&);
29
33
const
goto_tracet
&
insert_all
(
goto_tracet
&&);
34
35
const
std::list<goto_tracet> &
all
()
const
;
36
const
goto_tracet
&
operator[]
(
const
irep_idt
&property_id)
const
;
37
38
const
namespacet
&
get_namespace
()
const
;
39
40
protected
:
42
const
namespacet
&
ns
;
43
45
std::list<goto_tracet>
traces
;
46
47
// maps property ID to index in traces
48
std::unordered_map<irep_idt, std::size_t>
property_id_to_trace_index
;
49
51
merge_irept
merge_ireps
;
52
};
53
54
#endif
// CPROVER_GOTO_CHECKER_GOTO_TRACE_STORAGE_H
goto_trace_storaget::insert
const goto_tracet & insert(goto_tracet &&)
Store trace that ends in a violated assertion.
Definition
goto_trace_storage.cpp:18
goto_trace_storaget::merge_ireps
merge_irept merge_ireps
irep container for shared ireps
Definition
goto_trace_storage.h:51
goto_trace_storaget::ns
const namespacet & ns
the namespace related to the traces
Definition
goto_trace_storage.h:42
goto_trace_storaget::goto_trace_storaget
goto_trace_storaget(const goto_trace_storaget &)=delete
goto_trace_storaget::insert_all
const goto_tracet & insert_all(goto_tracet &&)
Store trace that contains multiple violated assertions.
Definition
goto_trace_storage.cpp:37
goto_trace_storaget::property_id_to_trace_index
std::unordered_map< irep_idt, std::size_t > property_id_to_trace_index
Definition
goto_trace_storage.h:48
goto_trace_storaget::operator[]
const goto_tracet & operator[](const irep_idt &property_id) const
Definition
goto_trace_storage.cpp:60
goto_trace_storaget::get_namespace
const namespacet & get_namespace() const
Definition
goto_trace_storage.cpp:69
goto_trace_storaget::all
const std::list< goto_tracet > & all() const
Definition
goto_trace_storage.cpp:54
goto_trace_storaget::traces
std::list< goto_tracet > traces
stores the traces
Definition
goto_trace_storage.h:45
goto_trace_storaget::goto_trace_storaget
goto_trace_storaget(const namespacet &)
Definition
goto_trace_storage.cpp:14
goto_tracet
Trace of a GOTO program.
Definition
goto_trace.h:177
merge_irept
Definition
merge_irep.h:106
namespacet
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition
namespace.h:91
goto_trace.h
Traces of GOTO Programs.
merge_irep.h
irep_idt
dstringt irep_idt
Definition
verification_result.h:16
goto-checker
goto_trace_storage.h
Generated by
1.17.0