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

Main datastructures. More...

Namespaces

 detail
 

Data Structures

struct  TaggedIndexedRoot
 
class  DelineationInterval
 An interval of a delineation. More...
 
class  Delineation
 Represents the delineation of a set of polynomials (at a sample), that is. More...
 
class  BaseDerivation
 A BaseDerivation has a level and a set of properties of this level, and an underlying derivation representing the lower levels. More...
 
class  DelineatedDerivation
 A DelineatedDerivation is a BaseDerivation with a Delineation and an underlying SampledDerivation. More...
 
class  SampledDerivation
 A SampledDerivation is a DelineatedDerivation with a sample and an DelineationInterval w.r.t. More...
 
class  DerivationRef
 A reference to a derivation, which is either. More...
 
struct  PolyRef
 Refers to a polynomial. More...
 
struct  PolyConstraint
 
class  PolyPool
 A pool for polynomials. More...
 
class  Projections
 Encapsulates all computations on polynomials. More...
 
struct  property_hash
 
struct  PropertiesTContent
 
struct  PropertiesTContent< T, true >
 
struct  PropertiesTContent< T, false >
 
struct  PropertiesT
 Set of properties. More...
 
struct  PropertiesT< T, Ts... >
 
struct  CellRepresentation
 Represents a cell. More...
 
struct  CoveringRepresentation
 Represents a covering over a cell. More...
 
struct  IndexedRoot
 Represents the i-th root of a multivariate polynomial at its main variable (given an appropriate sample). More...
 
struct  PiecewiseLinearInfo
 
struct  CompoundMinMax
 Represents the minimum function of the contained indexed root functions. More...
 
struct  CompoundMaxMin
 Represents the maximum function of the contained indexed root functions. More...
 
class  RootFunction
 
class  Bound
 Bound type of a SymbolicInterval. More...
 
class  SymbolicInterval
 A symbolic interal whose bounds are defined by indexed root expressions. More...
 
class  CoveringDescription
 Describes a covering of the real line by SymbolicIntervals (given an appropriate sample). More...
 
struct  IndexedRootRelation
 A relation between two roots. More...
 
class  IndexedRootOrdering
 Describes an ordering of IndexedRoots. More...
 

Typedefs

using RootMap = boost::container::flat_map< RAN, std::vector< TaggedIndexedRoot > >
 
using RootMapPlain = boost::container::flat_map< RAN, std::vector< IndexedRoot > >
 
template<typename Properties >
using BaseDerivationRef = std::shared_ptr< BaseDerivation< Properties > >
 
template<typename Properties >
using DelineatedDerivationRef = std::shared_ptr< DelineatedDerivation< Properties > >
 
template<typename Properties >
using SampledDerivationRef = std::shared_ptr< SampledDerivation< Properties > >
 
using level_t = unsigned
 
using id_t = unsigned
 
template<typename T >
using PropertiesTSet = boost::container::flat_set< T >
 

Functions

std::ostream & operator<< (std::ostream &os, const TaggedIndexedRoot &data)
 
bool operator== (const TaggedIndexedRoot &lhs, const TaggedIndexedRoot &rhs)
 
bool operator< (const TaggedIndexedRoot &lhs, const TaggedIndexedRoot &rhs)
 
std::ostream & operator<< (std::ostream &os, const DelineationInterval &data)
 
std::ostream & operator<< (std::ostream &os, const Delineation &data)
 
bool lower_lt_lower (const DelineationInterval &del1, const DelineationInterval &del2)
 Compares the lower bounds of two DelineationIntervals. More...
 
bool lower_eq_lower (const DelineationInterval &del1, const DelineationInterval &del2)
 Compares the lower bounds of two DelineationIntervals. More...
 
bool upper_lt_upper (const DelineationInterval &del1, const DelineationInterval &del2)
 Compares the upper bounds of two DelineationIntervals. More...
 
bool upper_lt_lower (const DelineationInterval &del1, const DelineationInterval &del2)
 Compares an upper bound with a lower bound of DelineationIntervals. More...
 
bool upper_eq_upper (const DelineationInterval &del1, const DelineationInterval &del2)
 Compares the upper bounds of two DelineationIntervals. More...
 
template<typename P >
bool operator== (const DerivationRef< P > &lhs, const DerivationRef< P > &rhs)
 
template<typename P >
bool operator< (const DerivationRef< P > &lhs, const DerivationRef< P > &rhs)
 
template<typename Properties >
DerivationRef< Properties > make_derivation (Projections &proj, const Assignment &assignment, size_t level)
 Initializes a derivation according the the given assignment and level. More...
 
template<typename Properties >
SampledDerivationRef< Properties > make_sampled_derivation (DelineatedDerivationRef< Properties > delineated, const RAN &main_sample)
 Initializes a sampled derivation w.r.t. More...
 
template<typename Properties >
SampledDerivationRef< Properties > make_sampled_derivation (SampledDerivationRef< Properties > underlying, const RAN &main_sample)
 Initializes a sampled derivation w.r.t. More...
 
template<typename Properties >
void merge_underlying (std::vector< SampledDerivationRef< Properties >> &derivations)
 Merges the underlying derivations of a set of sampled derivations. More...
 
template<typename Properties >
SampledDerivationRef< Properties > merge (std::vector< SampledDerivationRef< Properties >> &derivations)
 Merges a set of sampled derivations. More...
 
bool operator< (const PolyRef &lhs, const PolyRef &rhs)
 
bool operator== (const PolyRef &lhs, const PolyRef &rhs)
 
bool operator!= (const PolyRef &lhs, const PolyRef &rhs)
 
std::ostream & operator<< (std::ostream &os, const PolyRef &data)
 
bool operator< (const PolyConstraint &lhs, const PolyConstraint &rhs)
 
bool operator== (const PolyConstraint &lhs, const PolyConstraint &rhs)
 
bool operator!= (const PolyConstraint &lhs, const PolyConstraint &rhs)
 
std::ostream & operator<< (std::ostream &os, const PolyConstraint &data)
 
auto base_level (Polynomial poly)
 
template<class T , class... Ts>
void prop_insert (PropertiesT< T, Ts... > &sets, const T &element)
 
template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
void prop_insert (PropertiesT< T, Ts... > &sets, const S &element)
 
template<class T , class... Ts>
bool prop_has (const PropertiesT< T, Ts... > &sets, const T &element)
 
template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
bool prop_has (const PropertiesT< T, Ts... > &sets, const S &element)
 
template<class T , class... Ts>
const auto & prop_get (const PropertiesT< T, Ts... > &sets)
 
template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
const auto & prop_get (const PropertiesT< T, Ts... > &sets)
 
template<class T , class... Ts>
void merge (PropertiesT< T, Ts... > &sets_a, const PropertiesT< T, Ts... > &sets_b)
 
template<typename P >
std::ostream & operator<< (std::ostream &os, const CellRepresentation< P > &data)
 
template<typename P >
std::ostream & operator<< (std::ostream &os, const CoveringRepresentation< P > &data)
 
bool operator== (const IndexedRoot &lhs, const IndexedRoot &rhs)
 
bool operator< (const IndexedRoot &lhs, const IndexedRoot &rhs)
 
bool operator!= (const IndexedRoot &lhs, const IndexedRoot &rhs)
 
std::ostream & operator<< (std::ostream &os, const IndexedRoot &data)
 
bool operator== (const CompoundMinMax &lhs, const CompoundMinMax &rhs)
 
bool operator< (const CompoundMinMax &lhs, const CompoundMinMax &rhs)
 
bool operator!= (const CompoundMinMax &lhs, const CompoundMinMax &rhs)
 
std::ostream & operator<< (std::ostream &os, const CompoundMinMax &data)
 
bool operator== (const CompoundMaxMin &lhs, const CompoundMaxMin &rhs)
 
bool operator< (const CompoundMaxMin &lhs, const CompoundMaxMin &rhs)
 
bool operator!= (const CompoundMaxMin &lhs, const CompoundMaxMin &rhs)
 
std::ostream & operator<< (std::ostream &os, const CompoundMaxMin &data)
 
bool operator== (const RootFunction &lhs, const RootFunction &rhs)
 
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)
 
std::ostream & operator<< (std::ostream &os, const SymbolicInterval &data)
 
std::ostream & operator<< (std::ostream &os, const CoveringDescription &data)
 
bool operator== (const IndexedRootRelation &lhs, const IndexedRootRelation &rhs)
 
bool operator< (const IndexedRootRelation &lhs, const IndexedRootRelation &rhs)
 
std::ostream & operator<< (std::ostream &os, const IndexedRootRelation &data)
 
std::ostream & operator<< (std::ostream &os, const IndexedRootOrdering &data)
 

Detailed Description

Main datastructures.

Polynomials and projection results

We assume a fixed variable ordering VariableOrdering. All polynomials are pooled in PolyPool w.r.t. this ordering, that is, they are identified by a PolyRef (a pair of the polynomial's level and an ID on this level). Projection results are cached in Projections. The latter holds a reference to a PolyPool. An instance Projections will be required for all kinds of operations and passed during various function calls. Thus, we initialize these data structures as follows:

 VariableOrdering vars; // a variable ordering of all variables that will occur.
 datastructures::PolyPool pool(vars);
 datastructures::Projections proj(pool);

Note that PolyPool and Projections do not do reference counting; the cache needs to be cleared explicitly, see Projections::clear_cache and Projections::clear_assignment_cache.

Basic datastructures

The basic datastructures for representing mathematical objects are datastructures::IndexedRoot, datastructures::SymbolicInterval, datastructures::CoveringDescription, and datastructures::IndexedRootOrdering.

Properties

datastructures::PropertiesT is the datastructure for storing properties on a single level.

If you work on an algorithm using this framework, you don't need to know this datastructure. If you need to implement a new property, then you find the interfaces a property needs to implement there.

Delineations

datastructures::Delineation is the datastructure for storing the delineation of the indexed roots that stem from properties.

If you work on an algorithm using this framework, you don't need to know this datastructure. If you need to implement a new property or a heuristic for describing a cell (i.e. compute a representation), then you might be interested in this.

Derivations

In the derivation datastructures, all data regarding the derivation is stored - that is the current sample points, the set of properties, the delineation of roots and the possible cell boundaries.

This datastructure is recursive, that is, each derivation object handles only a single level and holds a pointer to a derivation object of the next lower level (the underyling derivation). All operations are forwarded to lower levels whenever neccessary.

Furthermore, there are three types of derivations:

datastructures::DerivationRef allows to reference a derivation independent of its type.

For initializing derivations properly, use datastructures::make_derivation. To create a sampled derivation from a delineated derivation and a sample, use datastructures::make_sampled_derivation. For merging underlying derivations, use datastructures::merge_underlying.

For more information on memory management read datastructures::DerivationRef.

Representations

The derivation objects do not store heuristic decisions, they just describe the current state. At some point, a representation of this state needs to be determined that is passed to the operator. This heuristic decision is stored in datastructures::CellRepresentation or datastructures::CoveringRepresentation.

The heuristics for computing representations are in representation.

Operators

The operators work on derivations and representations.

Typedef Documentation

◆ BaseDerivationRef

template<typename Properties >
using smtrat::cadcells::datastructures::BaseDerivationRef = typedef std::shared_ptr<BaseDerivation<Properties> >

Definition at line 20 of file derivation.h.

◆ DelineatedDerivationRef

template<typename Properties >
using smtrat::cadcells::datastructures::DelineatedDerivationRef = typedef std::shared_ptr<DelineatedDerivation<Properties> >

Definition at line 22 of file derivation.h.

◆ id_t

using smtrat::cadcells::datastructures::id_t = typedef unsigned

Definition at line 11 of file polynomials.h.

◆ level_t

Definition at line 10 of file polynomials.h.

◆ PropertiesTSet

template<typename T >
using smtrat::cadcells::datastructures::PropertiesTSet = typedef boost::container::flat_set<T>

Definition at line 19 of file properties.h.

◆ RootMap

using smtrat::cadcells::datastructures::RootMap = typedef boost::container::flat_map<RAN, std::vector<TaggedIndexedRoot> >

Definition at line 31 of file delineation.h.

◆ RootMapPlain

using smtrat::cadcells::datastructures::RootMapPlain = typedef boost::container::flat_map<RAN, std::vector<IndexedRoot> >

Definition at line 32 of file delineation.h.

◆ SampledDerivationRef

template<typename Properties >
using smtrat::cadcells::datastructures::SampledDerivationRef = typedef std::shared_ptr<SampledDerivation<Properties> >

Definition at line 25 of file derivation.h.

Function Documentation

◆ base_level()

auto smtrat::cadcells::datastructures::base_level ( Polynomial  poly)
inline

Definition at line 56 of file polynomials.h.

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

◆ lower_eq_lower()

bool smtrat::cadcells::datastructures::lower_eq_lower ( const DelineationInterval del1,
const DelineationInterval del2 
)
inline

Compares the lower bounds of two DelineationIntervals.

It respects whether the interval is a section or sector.

Definition at line 276 of file delineation.h.

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

◆ lower_lt_lower()

bool smtrat::cadcells::datastructures::lower_lt_lower ( const DelineationInterval del1,
const DelineationInterval del2 
)
inline

Compares the lower bounds of two DelineationIntervals.

It respects whether the interval is a section or sector.

Definition at line 266 of file delineation.h.

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

◆ make_derivation()

template<typename Properties >
DerivationRef<Properties> smtrat::cadcells::datastructures::make_derivation ( Projections proj,
const Assignment assignment,
size_t  level 
)

Initializes a derivation according the the given assignment and level.

Definition at line 361 of file derivation.h.

Here is the call graph for this function:

◆ make_sampled_derivation() [1/2]

template<typename Properties >
SampledDerivationRef<Properties> smtrat::cadcells::datastructures::make_sampled_derivation ( DelineatedDerivationRef< Properties >  delineated,
const RAN main_sample 
)

Initializes a sampled derivation w.r.t.

the delineated derivation and sample.

Definition at line 385 of file derivation.h.

Here is the caller graph for this function:

◆ make_sampled_derivation() [2/2]

template<typename Properties >
SampledDerivationRef<Properties> smtrat::cadcells::datastructures::make_sampled_derivation ( SampledDerivationRef< Properties >  underlying,
const RAN main_sample 
)

Initializes a sampled derivation w.r.t.

the delineated derivation and sample.

Definition at line 397 of file derivation.h.

◆ merge() [1/2]

template<class T , class... Ts>
void smtrat::cadcells::datastructures::merge ( PropertiesT< T, Ts... > &  sets_a,
const PropertiesT< T, Ts... > &  sets_b 
)

Definition at line 101 of file properties.h.

Here is the call graph for this function:

◆ merge() [2/2]

template<typename Properties >
SampledDerivationRef<Properties> smtrat::cadcells::datastructures::merge ( std::vector< SampledDerivationRef< Properties >> &  derivations)

Merges a set of sampled derivations.

After the operation, all sampled derivations point to the same underlying derivation.

Definition at line 427 of file derivation.h.

Here is the caller graph for this function:

◆ merge_underlying()

template<typename Properties >
void smtrat::cadcells::datastructures::merge_underlying ( std::vector< SampledDerivationRef< Properties >> &  derivations)

Merges the underlying derivations of a set of sampled derivations.

After the operation, all sampled derivations point to the same underlying derivation.

Definition at line 408 of file derivation.h.

Here is the caller graph for this function:

◆ operator!=() [1/6]

bool smtrat::cadcells::datastructures::operator!= ( const CompoundMaxMin lhs,
const CompoundMaxMin rhs 
)
inline

Definition at line 99 of file roots.h.

◆ operator!=() [2/6]

bool smtrat::cadcells::datastructures::operator!= ( const CompoundMinMax lhs,
const CompoundMinMax rhs 
)
inline

Definition at line 71 of file roots.h.

◆ operator!=() [3/6]

bool smtrat::cadcells::datastructures::operator!= ( const IndexedRoot lhs,
const IndexedRoot rhs 
)
inline

Definition at line 29 of file roots.h.

◆ operator!=() [4/6]

bool smtrat::cadcells::datastructures::operator!= ( const PolyConstraint lhs,
const PolyConstraint rhs 
)
inline

Definition at line 48 of file polynomials.h.

◆ operator!=() [5/6]

bool smtrat::cadcells::datastructures::operator!= ( const PolyRef lhs,
const PolyRef rhs 
)
inline

Definition at line 30 of file polynomials.h.

◆ operator!=() [6/6]

bool smtrat::cadcells::datastructures::operator!= ( const RootFunction lhs,
const RootFunction rhs 
)
inline

Definition at line 195 of file roots.h.

◆ operator<() [1/9]

bool smtrat::cadcells::datastructures::operator< ( const CompoundMaxMin lhs,
const CompoundMaxMin rhs 
)
inline

Definition at line 96 of file roots.h.

◆ operator<() [2/9]

bool smtrat::cadcells::datastructures::operator< ( const CompoundMinMax lhs,
const CompoundMinMax rhs 
)
inline

Definition at line 68 of file roots.h.

◆ operator<() [3/9]

template<typename P >
bool smtrat::cadcells::datastructures::operator< ( const DerivationRef< P > &  lhs,
const DerivationRef< P > &  rhs 
)

Definition at line 137 of file derivation.h.

◆ operator<() [4/9]

bool smtrat::cadcells::datastructures::operator< ( const IndexedRoot lhs,
const IndexedRoot rhs 
)
inline

Definition at line 26 of file roots.h.

◆ operator<() [5/9]

bool smtrat::cadcells::datastructures::operator< ( const IndexedRootRelation lhs,
const IndexedRootRelation rhs 
)
inline

Definition at line 385 of file roots.h.

◆ operator<() [6/9]

bool smtrat::cadcells::datastructures::operator< ( const PolyConstraint lhs,
const PolyConstraint rhs 
)
inline

Definition at line 42 of file polynomials.h.

◆ operator<() [7/9]

bool smtrat::cadcells::datastructures::operator< ( const PolyRef lhs,
const PolyRef rhs 
)
inline

Definition at line 24 of file polynomials.h.

◆ operator<() [8/9]

bool smtrat::cadcells::datastructures::operator< ( const RootFunction lhs,
const RootFunction rhs 
)
inline

Definition at line 192 of file roots.h.

◆ operator<() [9/9]

bool smtrat::cadcells::datastructures::operator< ( const TaggedIndexedRoot lhs,
const TaggedIndexedRoot rhs 
)
inline

Definition at line 27 of file delineation.h.

◆ operator<<() [1/15]

template<typename P >
std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const CellRepresentation< P > &  data 
)
inline

Definition at line 31 of file representation.h.

◆ operator<<() [2/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const CompoundMaxMin data 
)
inline

Definition at line 102 of file roots.h.

◆ operator<<() [3/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const CompoundMinMax data 
)
inline

Definition at line 74 of file roots.h.

◆ operator<<() [4/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const CoveringDescription data 
)
inline

Definition at line 368 of file roots.h.

Here is the call graph for this function:

◆ operator<<() [5/15]

template<typename P >
std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const CoveringRepresentation< P > &  data 
)

Definition at line 94 of file representation.h.

◆ operator<<() [6/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const Delineation data 
)
inline

Definition at line 258 of file delineation.h.

Here is the call graph for this function:

◆ operator<<() [7/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const DelineationInterval data 
)
inline

Definition at line 93 of file delineation.h.

Here is the call graph for this function:

◆ operator<<() [8/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const IndexedRoot data 
)
inline

Definition at line 32 of file roots.h.

◆ operator<<() [9/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const IndexedRootOrdering data 
)
inline

Definition at line 592 of file roots.h.

Here is the call graph for this function:

◆ operator<<() [10/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const IndexedRootRelation data 
)
inline

Definition at line 388 of file roots.h.

◆ operator<<() [11/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const PolyConstraint data 
)
inline

Definition at line 51 of file polynomials.h.

◆ operator<<() [12/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const PolyRef data 
)
inline

Definition at line 33 of file polynomials.h.

◆ operator<<() [13/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const RootFunction data 
)
inline

Definition at line 198 of file roots.h.

◆ operator<<() [14/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const SymbolicInterval data 
)
inline

Definition at line 316 of file roots.h.

Here is the call graph for this function:

◆ operator<<() [15/15]

std::ostream& smtrat::cadcells::datastructures::operator<< ( std::ostream &  os,
const TaggedIndexedRoot data 
)
inline

Definition at line 17 of file delineation.h.

◆ operator==() [1/9]

bool smtrat::cadcells::datastructures::operator== ( const CompoundMaxMin lhs,
const CompoundMaxMin rhs 
)
inline

Definition at line 93 of file roots.h.

◆ operator==() [2/9]

bool smtrat::cadcells::datastructures::operator== ( const CompoundMinMax lhs,
const CompoundMinMax rhs 
)
inline

Definition at line 65 of file roots.h.

◆ operator==() [3/9]

template<typename P >
bool smtrat::cadcells::datastructures::operator== ( const DerivationRef< P > &  lhs,
const DerivationRef< P > &  rhs 
)

Definition at line 133 of file derivation.h.

◆ operator==() [4/9]

bool smtrat::cadcells::datastructures::operator== ( const IndexedRoot lhs,
const IndexedRoot rhs 
)
inline

Definition at line 23 of file roots.h.

◆ operator==() [5/9]

bool smtrat::cadcells::datastructures::operator== ( const IndexedRootRelation lhs,
const IndexedRootRelation rhs 
)
inline

Definition at line 382 of file roots.h.

◆ operator==() [6/9]

bool smtrat::cadcells::datastructures::operator== ( const PolyConstraint lhs,
const PolyConstraint rhs 
)
inline

Definition at line 45 of file polynomials.h.

◆ operator==() [7/9]

bool smtrat::cadcells::datastructures::operator== ( const PolyRef lhs,
const PolyRef rhs 
)
inline

Definition at line 27 of file polynomials.h.

◆ operator==() [8/9]

bool smtrat::cadcells::datastructures::operator== ( const RootFunction lhs,
const RootFunction rhs 
)
inline

Definition at line 189 of file roots.h.

◆ operator==() [9/9]

bool smtrat::cadcells::datastructures::operator== ( const TaggedIndexedRoot lhs,
const TaggedIndexedRoot rhs 
)
inline

Definition at line 24 of file delineation.h.

◆ prop_get() [1/2]

template<class T , class... Ts>
const auto& smtrat::cadcells::datastructures::prop_get ( const PropertiesT< T, Ts... > &  sets)

Definition at line 85 of file properties.h.

◆ prop_get() [2/2]

template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
const auto& smtrat::cadcells::datastructures::prop_get ( const PropertiesT< T, Ts... > &  sets)

Definition at line 89 of file properties.h.

◆ prop_has() [1/2]

template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
bool smtrat::cadcells::datastructures::prop_has ( const PropertiesT< T, Ts... > &  sets,
const S &  element 
)

Definition at line 79 of file properties.h.

◆ prop_has() [2/2]

template<class T , class... Ts>
bool smtrat::cadcells::datastructures::prop_has ( const PropertiesT< T, Ts... > &  sets,
const T &  element 
)

Definition at line 70 of file properties.h.

◆ prop_insert() [1/2]

template<class S , class T , class... Ts, typename std::enable_if<!std::is_same< S, T >::value >::type >
void smtrat::cadcells::datastructures::prop_insert ( PropertiesT< T, Ts... > &  sets,
const S &  element 
)

Definition at line 64 of file properties.h.

◆ prop_insert() [2/2]

template<class T , class... Ts>
void smtrat::cadcells::datastructures::prop_insert ( PropertiesT< T, Ts... > &  sets,
const T &  element 
)

Definition at line 56 of file properties.h.

◆ upper_eq_upper()

bool smtrat::cadcells::datastructures::upper_eq_upper ( const DelineationInterval del1,
const DelineationInterval del2 
)
inline

Compares the upper bounds of two DelineationIntervals.

It respects whether the interval is a section or sector.

Definition at line 307 of file delineation.h.

Here is the call graph for this function:

◆ upper_lt_lower()

bool smtrat::cadcells::datastructures::upper_lt_lower ( const DelineationInterval del1,
const DelineationInterval del2 
)
inline

Compares an upper bound with a lower bound of DelineationIntervals.

It respects whether the interval is a section or sector.

Definition at line 296 of file delineation.h.

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

◆ upper_lt_upper()

bool smtrat::cadcells::datastructures::upper_lt_upper ( const DelineationInterval del1,
const DelineationInterval del2 
)
inline

Compares the upper bounds of two DelineationIntervals.

It respects whether the interval is a section or sector.

Definition at line 286 of file delineation.h.

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