SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
smtrat::cadcells::datastructures::RootFunction Class Reference

#include <roots.h>

Public Member Functions

 RootFunction (IndexedRoot data)
 
 RootFunction (CompoundMinMax &&data)
 
 RootFunction (CompoundMaxMin &&data)
 
bool is_root () const
 
bool is_cminmax () const
 
bool is_cmaxmin () const
 
const IndexedRootroot () const
 
const CompoundMinMaxcminmax () const
 
const CompoundMaxMincmaxmin () const
 
const auto & roots () const
 
void polys (boost::container::flat_set< PolyRef > &result) const
 
boost::container::flat_set< PolyRefpolys () const
 
bool has_poly (const PolyRef poly) const
 
std::optional< IndexedRootpoly_root_below (const PolyRef poly) const
 
std::optional< IndexedRootpoly_root_above (const PolyRef poly) const
 

Private Attributes

std::variant< IndexedRoot, CompoundMinMax, CompoundMaxMinm_data
 

Friends

bool operator== (const RootFunction &lhs, const RootFunction &rhs)
 
bool operator< (const RootFunction &lhs, const RootFunction &rhs)
 
std::ostream & operator<< (std::ostream &os, const RootFunction &data)
 

Detailed Description

Definition at line 107 of file roots.h.

Constructor & Destructor Documentation

◆ RootFunction() [1/3]

smtrat::cadcells::datastructures::RootFunction::RootFunction ( IndexedRoot  data)
inline

Definition at line 111 of file roots.h.

◆ RootFunction() [2/3]

smtrat::cadcells::datastructures::RootFunction::RootFunction ( CompoundMinMax &&  data)
inline

Definition at line 112 of file roots.h.

◆ RootFunction() [3/3]

smtrat::cadcells::datastructures::RootFunction::RootFunction ( CompoundMaxMin &&  data)
inline

Definition at line 113 of file roots.h.

Member Function Documentation

◆ cmaxmin()

const CompoundMaxMin& smtrat::cadcells::datastructures::RootFunction::cmaxmin ( ) const
inline

Definition at line 119 of file roots.h.

Here is the caller graph for this function:

◆ cminmax()

const CompoundMinMax& smtrat::cadcells::datastructures::RootFunction::cminmax ( ) const
inline

Definition at line 118 of file roots.h.

Here is the caller graph for this function:

◆ has_poly()

bool smtrat::cadcells::datastructures::RootFunction::has_poly ( const PolyRef  poly) const
inline

Definition at line 142 of file roots.h.

Here is the call graph for this function:

◆ is_cmaxmin()

bool smtrat::cadcells::datastructures::RootFunction::is_cmaxmin ( ) const
inline

Definition at line 116 of file roots.h.

Here is the caller graph for this function:

◆ is_cminmax()

bool smtrat::cadcells::datastructures::RootFunction::is_cminmax ( ) const
inline

Definition at line 115 of file roots.h.

Here is the caller graph for this function:

◆ is_root()

bool smtrat::cadcells::datastructures::RootFunction::is_root ( ) const
inline

Definition at line 114 of file roots.h.

Here is the caller graph for this function:

◆ poly_root_above()

std::optional<IndexedRoot> smtrat::cadcells::datastructures::RootFunction::poly_root_above ( const PolyRef  poly) const
inline

Definition at line 173 of file roots.h.

Here is the caller graph for this function:

◆ poly_root_below()

std::optional<IndexedRoot> smtrat::cadcells::datastructures::RootFunction::poly_root_below ( const PolyRef  poly) const
inline

Definition at line 161 of file roots.h.

Here is the caller graph for this function:

◆ polys() [1/2]

boost::container::flat_set<PolyRef> smtrat::cadcells::datastructures::RootFunction::polys ( ) const
inline

Definition at line 136 of file roots.h.

◆ polys() [2/2]

void smtrat::cadcells::datastructures::RootFunction::polys ( boost::container::flat_set< PolyRef > &  result) const
inline

Definition at line 126 of file roots.h.

Here is the caller graph for this function:

◆ root()

const IndexedRoot& smtrat::cadcells::datastructures::RootFunction::root ( ) const
inline

Definition at line 117 of file roots.h.

Here is the caller graph for this function:

◆ roots()

const auto& smtrat::cadcells::datastructures::RootFunction::roots ( ) const
inline

Definition at line 121 of file roots.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator<

bool operator< ( const RootFunction lhs,
const RootFunction rhs 
)
friend

Definition at line 192 of file roots.h.

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const RootFunction data 
)
friend

Definition at line 198 of file roots.h.

◆ operator==

bool operator== ( const RootFunction lhs,
const RootFunction rhs 
)
friend

Definition at line 189 of file roots.h.

Field Documentation

◆ m_data

std::variant<IndexedRoot, CompoundMinMax, CompoundMaxMin> smtrat::cadcells::datastructures::RootFunction::m_data
private

Definition at line 108 of file roots.h.


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