CGAL 4.7 - Kinetic Framework
Kinetic::RootStack Concept Reference

## Definition

The concept Kinetic::RootStack enumerates through roots of a function contained in a half open interval [lb $$\dots$$ ub).

CGAL::Kinetic::FunctionKernel
CGAL::Kinetic::Certificate

## Types

typedef unspecified_type Root
The root of a function.

## Creation

RootStack ()
default constructor.

RootStack (Function f, Root lb, Root ub, Traits tr)
Construct a Kinetic::RootStack over the roots of f in the half open interval [lb to ub).

## Operations

void pop ()
Advance to the next root. More...

Root top ()
Return the current root. More...

bool empty ()
Return true if there are known to be no more roots left. More...

## Member Function Documentation

 bool Kinetic::RootStack::empty ( )

Return true if there are known to be no more roots left.

There might not actually be any roots of the polynomial left in the interval, but the work necessary to prove this has been delayed.

 void Kinetic::RootStack::pop ( )

As a precondition, empty() must be false. Note that the Root returned might not actually be in the interval (since the solver has not yet proved that there are no more roots).