symbolic
Classes | Public Member Functions | Friends | List of all members
symbolic::PartialState Class Reference

Classes

class  UnknownEvaluation
 

Public Member Functions

 PartialState (const State &pos, const State &neg)
 
 PartialState (State &&pos, State &&neg)
 
 PartialState (const Pddl &pddl, const std::unordered_set< std::string > &str_pos, const std::unordered_set< std::string > &str_neg)
 
const State & pos () const
 
State & pos ()
 
const State & neg () const
 
State & neg ()
 
bool empty () const
 
size_t size () const
 
bool contains (const PropositionBase &prop) const
 
bool does_not_contain (const PropositionBase &prop) const
 
int insert (const PropositionBase &prop)
 
int insert (Proposition &&prop)
 
template<class... Args>
int emplace (Args &&... args)
 
int erase (const PropositionBase &prop)
 
int erase (Proposition &&prop)
 
bool IsConsistent () const
 
std::pair< std::unordered_set< std::string >, std::unordered_set< std::string > > Stringify () const
 

Friends

bool operator== (const PartialState &lhs, const PartialState &rhs)
 
bool operator!= (const PartialState &lhs, const PartialState &rhs)
 
bool operator< (const PartialState &lhs, const PartialState &rhs)
 
std::ostream & operator<< (std::ostream &os, const PartialState &state)
 

Member Function Documentation

◆ erase()

int symbolic::PartialState::erase ( const PropositionBase &  prop)

Inserts the proposition into the negative state.

If the proposition is negated, returns 2. If the proposition is simply inserted, returns 1. If the proposition already exists, returns 0.

◆ insert()

int symbolic::PartialState::insert ( const PropositionBase &  prop)

Inserts the proposition into the positive state.

If the proposition is negated, returns 2. If the proposition is simply inserted, returns 1. If the proposition already exists, returns 0.

◆ IsConsistent()

bool symbolic::PartialState::IsConsistent ( ) const

Ensure positive and negative proposition sets don't overlap.


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