CBMC
path_storage.cpp File Reference
#include "path_storage.h"
#include <sstream>
#include <util/cmdline.h>
#include <util/exit_codes.h>
+ Include dependency graph for path_storage.cpp:

Go to the source code of this file.

Functions

static const std::map< const std::string, std::pair< const std::string, const std::function< std::unique_ptr< path_storaget >)> > > path_strategies ({{"lifo", {" lifo next instruction is pushed before\n" " goto target; paths are popped in\n" " last-in, first-out order. Explores\n" " the program tree depth-first.\n", []() { return std::make_unique< path_lifot >();}}}, {"fifo", {" fifo next instruction is pushed before\n" " goto target; paths are popped in\n" " first-in, first-out order. Explores\n" " the program tree breadth-first.\n", []() { return std::make_unique< path_fifot >();}}}})
 
std::string show_path_strategies ()
 suitable for displaying as a front-end help message More...
 
std::string default_path_strategy ()
 
bool is_valid_path_strategy (const std::string strategy)
 is there a factory constructor for the named strategy? More...
 
std::unique_ptr< path_storagetget_path_strategy (const std::string strategy)
 Ensure that is_valid_strategy() returns true for a particular string before calling this function on that string. More...
 
void parse_path_strategy_options (const cmdlinet &cmdline, optionst &options, message_handlert &message_handler)
 add paths and exploration-strategy option, suitable to be invoked from front-ends. More...
 

Function Documentation

◆ default_path_strategy()

std::string default_path_strategy ( )

Definition at line 118 of file path_storage.cpp.

◆ get_path_strategy()

std::unique_ptr<path_storaget> get_path_strategy ( const std::string  strategy)

Ensure that is_valid_strategy() returns true for a particular string before calling this function on that string.

Definition at line 128 of file path_storage.cpp.

◆ is_valid_path_strategy()

bool is_valid_path_strategy ( const std::string  strategy)

is there a factory constructor for the named strategy?

Definition at line 123 of file path_storage.cpp.

◆ parse_path_strategy_options()

void parse_path_strategy_options ( const cmdlinet cmdline,
optionst options,
message_handlert message_handler 
)

add paths and exploration-strategy option, suitable to be invoked from front-ends.

Definition at line 136 of file path_storage.cpp.

◆ path_strategies()

static const std::map< const std::string, std::pair< const std::string, const std::function<std::unique_ptr<path_storaget>)> > > path_strategies ( {{"lifo", {" lifo next instruction is pushed before\n" " goto target; paths are popped in\n" " last-in, first-out order. Explores\n" " the program tree depth-first.\n", []() { return std::make_unique< path_lifot >();}}}, {"fifo", {" fifo next instruction is pushed before\n" " goto target; paths are popped in\n" " first-in, first-out order. Explores\n" " the program tree breadth-first.\n", []() { return std::make_unique< path_fifot >();}}}}  )
static

◆ show_path_strategies()

std::string show_path_strategies ( )

suitable for displaying as a front-end help message

Definition at line 110 of file path_storage.cpp.