CRAAM  2.0.0
Robust and Approximate Markov Decision Processes
Public Member Functions | Protected Attributes | List of all members
craam::OutcomeManagement Class Reference

A class that manages creation and access to outcomes to be used by actions. More...

#include <Action.hpp>

Inheritance diagram for craam::OutcomeManagement:
craam::WeightedOutcomeAction

Public Member Functions

 OutcomeManagement ()
 Empty list of outcomes.
 
 OutcomeManagement (const vector< Transition > &outcomes)
 Initializes with a list of outcomes.
 
virtual ~OutcomeManagement ()
 Empty virtual destructor.
 
virtual Transitioncreate_outcome (long outcomeid)
 Adds a sufficient number of empty outcomes for the outcomeid to be a valid identifier. More...
 
virtual Transitioncreate_outcome ()
 Creates a new outcome at the end. More...
 
const Transitionget_outcome (long outcomeid) const
 Returns a transition for the outcome. More...
 
Transitionget_outcome (long outcomeid)
 Returns a transition for the outcome. More...
 
const Transitionoperator[] (long outcomeid) const
 Returns a transition for the outcome. More...
 
Transitionoperator[] (long outcomeid)
 Returns a transition for the outcome. More...
 
size_t outcome_count () const
 Returns number of outcomes. More...
 
size_t size () const
 Returns number of outcomes. More...
 
void add_outcome (long outcomeid, const Transition &t)
 Adds an outcome defined by the transition. More...
 
void add_outcome (const Transition &t)
 Adds an outcome defined by the transition as the last outcome. More...
 
const vector< Transition > & get_outcomes () const
 Returns the list of outcomes.
 
void normalize ()
 Normalizes transitions for outcomes.
 
bool is_nature_correct (numvec oid) const
 Whether the provided outcomeid is correct.
 
void to_string (string &result) const
 Appends a string representation to the argument.
 

Protected Attributes

vector< Transitionoutcomes
 List of possible outcomes.
 

Detailed Description

A class that manages creation and access to outcomes to be used by actions.

Member Function Documentation

◆ add_outcome() [1/2]

void craam::OutcomeManagement::add_outcome ( long  outcomeid,
const Transition t 
)
inline

Adds an outcome defined by the transition.

Parameters
outcomeidId of the new outcome. Intermediate ids are created empty
tTransition that defines the outcome

◆ add_outcome() [2/2]

void craam::OutcomeManagement::add_outcome ( const Transition t)
inline

Adds an outcome defined by the transition as the last outcome.

Parameters
tTransition that defines the outcome

◆ create_outcome() [1/2]

virtual Transition& craam::OutcomeManagement::create_outcome ( long  outcomeid)
inlinevirtual

Adds a sufficient number of empty outcomes for the outcomeid to be a valid identifier.

This method is virtual to make overloading safer.

Makes the action valid.

Reimplemented in craam::WeightedOutcomeAction.

◆ create_outcome() [2/2]

virtual Transition& craam::OutcomeManagement::create_outcome ( )
inlinevirtual

Creates a new outcome at the end.

Similar to push_back.

◆ get_outcome() [1/2]

const Transition& craam::OutcomeManagement::get_outcome ( long  outcomeid) const
inline

Returns a transition for the outcome.

The transition must exist.

◆ get_outcome() [2/2]

Transition& craam::OutcomeManagement::get_outcome ( long  outcomeid)
inline

Returns a transition for the outcome.

The transition must exist.

◆ operator[]() [1/2]

const Transition& craam::OutcomeManagement::operator[] ( long  outcomeid) const
inline

Returns a transition for the outcome.

The transition must exist.

◆ operator[]() [2/2]

Transition& craam::OutcomeManagement::operator[] ( long  outcomeid)
inline

Returns a transition for the outcome.

The transition must exist.

◆ outcome_count()

size_t craam::OutcomeManagement::outcome_count ( ) const
inline

Returns number of outcomes.

◆ size()

size_t craam::OutcomeManagement::size ( ) const
inline

Returns number of outcomes.


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