CBMC: goto_functionst Class Reference

A collection of goto functions. More...

#include <goto_functions.h>

Public Member Functions

 goto_functionst ()
 
 goto_functionst (const goto_functionst &)=delete
 
goto_functionstoperator= (const goto_functionst &)=delete
 
 goto_functionst (goto_functionst &&other)
 
goto_functionstoperator= (goto_functionst &&other)
 
std::size_t unload (const irep_idt &name)
 Remove the function named name from the function map, if it exists.
 
void clear ()
 
void compute_location_numbers ()
 
void compute_location_numbers (goto_programt &)
 
void compute_loop_numbers ()
 
void compute_target_numbers ()
 
void compute_incoming_edges ()
 
void update ()
 
void swap (goto_functionst &other)
 
void copy_from (const goto_functionst &other)
 
std::vector< function_mapt::const_iterator > sorted () const
 returns a vector of the iterators in alphabetical order
 
std::vector< function_mapt::iterator > sorted ()
 returns a vector of the iterators in alphabetical order
 
void validate (const namespacet &, validation_modet) const
 Check that the goto functions are well-formed.
 

Private Attributes

unsigned unused_location_number
 A location number such that numbers in the interval [unused_location_number, MAX_UINT] are all unused.
 

A collection of goto functions.

Definition at line 24 of file goto_functions.h.

◆ function_mapt

◆ goto_functiont

goto_functionst::goto_functionst ( )
inline

◆ goto_functionst() [2/3]

◆ goto_functionst() [3/3]

◆ clear()

void goto_functionst::clear ( )
inline

◆ compute_incoming_edges()

void goto_functionst::compute_incoming_edges ( )

◆ compute_location_numbers() [1/2]

void goto_functionst::compute_location_numbers ( )

◆ compute_location_numbers() [2/2]

◆ compute_loop_numbers()

void goto_functionst::compute_loop_numbers ( )

◆ compute_target_numbers()

void goto_functionst::compute_target_numbers ( )

◆ copy_from()

◆ entry_point()

Get the identifier of the entry point to a goto model.

Definition at line 97 of file goto_functions.h.

◆ operator=() [1/2]

◆ operator=() [2/2]

◆ sorted() [1/2]

std::vector< goto_functionst::function_mapt::iterator > goto_functionst::sorted ( )

returns a vector of the iterators in alphabetical order

Definition at line 86 of file goto_functions.cpp.

◆ sorted() [2/2]

std::vector< goto_functionst::function_mapt::const_iterator > goto_functionst::sorted ( ) const

returns a vector of the iterators in alphabetical order

Definition at line 66 of file goto_functions.cpp.

◆ swap()

◆ unload()

std::size_t goto_functionst::unload ( const irep_idt name)
inline

Remove the function named name from the function map, if it exists.

Returns
Returns 0 when name was not present, and 1 when name was removed.

Definition at line 72 of file goto_functions.h.

◆ update()

void goto_functionst::update ( )
inline

◆ validate()

Check that the goto functions are well-formed.

The validation mode indicates whether well-formedness check failures are reported via DATA_INVARIANT violations or exceptions.

Definition at line 105 of file goto_functions.cpp.

◆ function_map

◆ unused_location_number

unsigned goto_functionst::unused_location_number

private

A location number such that numbers in the interval [unused_location_number, MAX_UINT] are all unused.

There might still be unused numbers below this. If numbering a new function or renumbering a function, starting from this number is safe.

Definition at line 37 of file goto_functions.h.


The documentation for this class was generated from the following files: