GCC Middle and Back End API Reference
ana::point_and_state Class Reference

#include <exploded-graph.h>

Collaboration diagram for ana::point_and_state:

Public Member Functions

 point_and_state (const program_point &point, const program_state &state)
 point_and_state (const point_and_state &other)=default
 point_and_state (point_and_state &&other)
hashval_t hash () const
bool operator== (const point_and_state &other) const
const program_point & get_point () const
const program_state & get_state () const
void set_state (const program_state &state)
void set_state (program_state &&state)
void validate (const extrinsic_state &ext_state) const

Private Attributes

program_point m_point
program_state m_state
hashval_t m_hash

Detailed Description

A <program_point, program_state> pair, used internally by
exploded_node as its immutable data, and as a key for identifying
exploded_nodes we've already seen in the graph.   

Constructor & Destructor Documentation

◆ point_and_state() [1/3]

ana::point_and_state::point_and_state ( const program_point & point,
const program_state & state )
inline

◆ point_and_state() [2/3]

ana::point_and_state::point_and_state ( const point_and_state & other)
default

References point_and_state().

◆ point_and_state() [3/3]

ana::point_and_state::point_and_state ( point_and_state && other)
inline

Member Function Documentation

◆ get_point()

const program_point & ana::point_and_state::get_point ( ) const
inline

◆ get_state()

const program_state & ana::point_and_state::get_state ( ) const
inline

References m_state.

Referenced by ana::exploded_node::get_state().

◆ hash()

hashval_t ana::point_and_state::hash ( ) const
inline

◆ operator==()

bool ana::point_and_state::operator== ( const point_and_state & other) const
inline

References m_point, m_state, and point_and_state().

◆ set_state() [1/2]

void ana::point_and_state::set_state ( const program_state & state)
inline

◆ set_state() [2/2]

void ana::point_and_state::set_state ( program_state && state)
inline

◆ validate()

void ana::point_and_state::validate ( const extrinsic_state & ext_state) const

Field Documentation

◆ m_hash

hashval_t ana::point_and_state::m_hash
private

◆ m_point

program_point ana::point_and_state::m_point
private

◆ m_state

program_state ana::point_and_state::m_state
private

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