Skip to content

Policy-related Modules

List of available policy-related modules. ## Classes

Name
struct sam::Policy
Implementation of the Policy class.
struct sam::PolicyChain
Implementation of the PolicyChain class.
struct sam::PolicyChainSet

Types

Name
enum int PolicyType { Min, Max, Comp, Random, First, Last, All}
Indicates the type of the Policy.
enum int PolicyChainType { Selection, Decision}
Indicates the type of the PolicyChain.
using std::vector< std::vector< std::variant< std::shared_ptr< HackingStrategy >, PolicyChain, PolicyChainSet > >> HackingWorkflow

Types Documentation

enum PolicyType

Enumerator Value Description
Min
Max
Comp
Random
First
Last
All

Indicates the type of the Policy.

This is mainly being used by Policy to decide which type of formula it's dealing with.

enum PolicyChainType

Enumerator Value Description
Selection
Decision

Indicates the type of the PolicyChain.

A PolicyChain can either be used to perform selection, or a decision. The main difference between them being that the ::Selection chains could include a function call, e.g., min, while the ::Decision chains cannot.

using HackingWorkflow

using sam::HackingWorkflow = typedef std::vector< std::vector< std::variant<std::shared_ptr<HackingStrategy>, PolicyChain, PolicyChainSet> >>;

See: Researcher::hackTheResearch()

The representation of the Hacking Workflow

This is defined to capture a sequence of hacking → selection → decision. While it looks rather strange, it allows for some nice and flexible setup using the std::visit().


Updated on 29 June 2021 at 16:13:48 CEST


Last update: 2021-09-18