APRONXX 0.9.15
apron::texpr1::builder Class Reference

Temporary expression nodes used when constructing a texpr1. More...

#include <apxx_texpr1.hh>

Inherits apron::use_malloc.

Public Member Functions

Constructors
 builder (const builder &x)
 Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.
 
 builder (const const_iterator &x)
 Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.
 
 builder (const texpr1 &x)
 Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.
 
 builder (const environment &e, const texpr0::builder &b)
 Converts from a level 0 builder and associates an environment.
 
 builder (const environment &e, const texpr0::const_iterator &b)
 Converts from a level 0 expression (shallow copy) and associates an environment.
 
 builder (const environment &e, const texpr0 &b)
 Converts from a level 0 expression (shallow copy) and associates an environment.
 
 builder (const environment &e, const coeff &x)
 Makes a constant leaf from a scalar or interval coefficient (copied).
 
 builder (const environment &e, const scalar &x)
 Makes a constant scalar leaf from a scalar (copied).
 
 builder (const environment &e, const mpq_class &x)
 Makes a constant scalar leaf from a MPQ (copied).
 
 builder (const environment &e, mpfr_t x)
 Makes a constant scalar leaf from a MPFR (copied).
 
 builder (const environment &e, int x)
 Makes a constant scalar MPQ leaf from an integer.
 
 builder (const environment &e, long x)
 Makes a constant scalar MPQ leaf from an integer.
 
 builder (const environment &e, double x)
 Makes a constant scalar double leaf from a double.
 
 builder (const environment &e, const frac &x)
 Makes a constant scalar MPQ leaf from a fraction with integer coefficients.
 
 builder (const environment &e, const interval &x)
 Makes a constant interval leaf from an interval (copied).
 
 builder (const environment &e, const scalar &inf, const scalar &sup)
 Makes a constant interval leaf from two scalar bounds (copied).
 
 builder (const environment &e, const mpq_class &inf, const mpq_class &sup)
 Makes a constant interval leaf from two MPQ bounds (copied).
 
 builder (const environment &e, mpfr_t inf, mpfr_t sup)
 Makes a constant interval leaf from two MPFR bounds (copied).
 
 builder (const environment &e, int inf, int sup)
 Makes a constant interval leaf from two integer bounds (converted to MPQ).
 
 builder (const environment &e, long inf, long sup)
 Makes a constant interval leaf from two integer bounds (converted to MPQ).
 
 builder (const environment &e, double inf, double sup)
 Makes a constant interval leaf from two double bounds.
 
 builder (const environment &e, const frac &inf, const frac &sup)
 Makes a constant interval leaf from two fraction bounds (converted to MPQ).
 
 builder (const environment &e, top t)
 Makes a constant interval leaf equal to ]-oo;+oo[.
 
 builder (const environment &e, const var &v)
 Makes a variable name dimension leaf.
 
 builder (ap_texpr_op_t op, const builder &argA, ap_texpr_rtype_t rtype, ap_texpr_rdir_t rdir)
 Makes a unary expression node.
 
 builder (ap_texpr_op_t op, const builder &argA, const builder &argB, ap_texpr_rtype_t rtype, ap_texpr_rdir_t rdir)
 Makes a binary expression node.
 
Destructor
 ~builder ()
 Frees the memory occupied by the node, not its sub-expressions.
 
Tests
bool is_zero () const
 Whether the expression is a single coefficient node with 0 value.
 
C API compatibility
ap_texpr1_t * get_ap_texpr1_t ()
 Returns a pointer to the internal APRON object stored in *this.
 
const ap_texpr1_t * get_ap_texpr1_t () const
 Returns a pointer to the internal APRON object stored in *this.
 
- Public Member Functions inherited from apron::use_malloc
void * operator new (size_t sz)
 
void * operator new[] (size_t sz)
 
void operator delete (void *p)
 
void operator delete[] (void *p)
 

Protected Member Functions

builderoperator= (const builder &x)
 Not to be used. (Temporaries are not to be re-assigned).
 
void init_from (ap_texpr1_t *x)
 Internal use only: makes a shallow copy, copying only the root node and referencing the environment.
 
void init_from (ap_environment_t *e, ap_texpr0_t *x)
 Internal use only: makes a shallow copy, copying only the root node and referencing the environment.
 
 builder (ap_texpr1_t *x)
 Internal use only: makes a shallow copy, copying only the root node and referencing the environment.
 

Protected Attributes

ap_texpr1_t l
 

Detailed Description

Temporary expression nodes used when constructing a texpr1.

A temporary expression is composed of a level 0 node with an associated environment.

You should not create variables of type build, nor define functions that return or take builder objects as arguments.

Constructor & Destructor Documentation

◆ builder() [1/27]

texpr1::builder::builder ( ap_texpr1_t * x)
inlineprotected

Internal use only: makes a shallow copy, copying only the root node and referencing the environment.

◆ builder() [2/27]

texpr1::builder::builder ( const builder & x)
inline

Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.

◆ builder() [3/27]

texpr1::builder::builder ( const const_iterator & x)
inline

Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.

◆ builder() [4/27]

texpr1::builder::builder ( const texpr1 & x)
inline

Makes a shallow copy, copying only the root node. Sub-expressions are aliased, not copied.

◆ builder() [5/27]

texpr1::builder::builder ( const environment & e,
const texpr0::builder & b )
inline

Converts from a level 0 builder and associates an environment.

◆ builder() [6/27]

texpr1::builder::builder ( const environment & e,
const texpr0::const_iterator & b )
inline

Converts from a level 0 expression (shallow copy) and associates an environment.

◆ builder() [7/27]

texpr1::builder::builder ( const environment & e,
const texpr0 & b )
inline

Converts from a level 0 expression (shallow copy) and associates an environment.

◆ builder() [8/27]

texpr1::builder::builder ( const environment & e,
const coeff & x )
inline

Makes a constant leaf from a scalar or interval coefficient (copied).

◆ builder() [9/27]

texpr1::builder::builder ( const environment & e,
const scalar & x )
inline

Makes a constant scalar leaf from a scalar (copied).

◆ builder() [10/27]

texpr1::builder::builder ( const environment & e,
const mpq_class & x )
inline

Makes a constant scalar leaf from a MPQ (copied).

◆ builder() [11/27]

texpr1::builder::builder ( const environment & e,
mpfr_t x )
inline

Makes a constant scalar leaf from a MPFR (copied).

◆ builder() [12/27]

texpr1::builder::builder ( const environment & e,
int x )
inline

Makes a constant scalar MPQ leaf from an integer.

◆ builder() [13/27]

texpr1::builder::builder ( const environment & e,
long x )
inline

Makes a constant scalar MPQ leaf from an integer.

◆ builder() [14/27]

texpr1::builder::builder ( const environment & e,
double x )
inline

Makes a constant scalar double leaf from a double.

◆ builder() [15/27]

texpr1::builder::builder ( const environment & e,
const frac & x )
inline

Makes a constant scalar MPQ leaf from a fraction with integer coefficients.

◆ builder() [16/27]

texpr1::builder::builder ( const environment & e,
const interval & x )
inline

Makes a constant interval leaf from an interval (copied).

◆ builder() [17/27]

texpr1::builder::builder ( const environment & e,
const scalar & inf,
const scalar & sup )
inline

Makes a constant interval leaf from two scalar bounds (copied).

◆ builder() [18/27]

texpr1::builder::builder ( const environment & e,
const mpq_class & inf,
const mpq_class & sup )
inline

Makes a constant interval leaf from two MPQ bounds (copied).

◆ builder() [19/27]

texpr1::builder::builder ( const environment & e,
mpfr_t inf,
mpfr_t sup )
inline

Makes a constant interval leaf from two MPFR bounds (copied).

◆ builder() [20/27]

texpr1::builder::builder ( const environment & e,
int inf,
int sup )
inline

Makes a constant interval leaf from two integer bounds (converted to MPQ).

◆ builder() [21/27]

texpr1::builder::builder ( const environment & e,
long inf,
long sup )
inline

Makes a constant interval leaf from two integer bounds (converted to MPQ).

◆ builder() [22/27]

texpr1::builder::builder ( const environment & e,
double inf,
double sup )
inline

Makes a constant interval leaf from two double bounds.

◆ builder() [23/27]

texpr1::builder::builder ( const environment & e,
const frac & inf,
const frac & sup )
inline

Makes a constant interval leaf from two fraction bounds (converted to MPQ).

◆ builder() [24/27]

texpr1::builder::builder ( const environment & e,
top t )
inline

Makes a constant interval leaf equal to ]-oo;+oo[.

◆ builder() [25/27]

texpr1::builder::builder ( const environment & e,
const var & v )
inline

Makes a variable name dimension leaf.

◆ builder() [26/27]

texpr1::builder::builder ( ap_texpr_op_t op,
const builder & argA,
ap_texpr_rtype_t rtype,
ap_texpr_rdir_t rdir )
inline

Makes a unary expression node.

◆ builder() [27/27]

texpr1::builder::builder ( ap_texpr_op_t op,
const builder & argA,
const builder & argB,
ap_texpr_rtype_t rtype,
ap_texpr_rdir_t rdir )
inline

Makes a binary expression node.

◆ ~builder()

texpr1::builder::~builder ( )
inline

Frees the memory occupied by the node, not its sub-expressions.

Member Function Documentation

◆ get_ap_texpr1_t() [1/2]

ap_texpr1_t * texpr1::builder::get_ap_texpr1_t ( )
inline

Returns a pointer to the internal APRON object stored in *this.

◆ get_ap_texpr1_t() [2/2]

const ap_texpr1_t * texpr1::builder::get_ap_texpr1_t ( ) const
inline

Returns a pointer to the internal APRON object stored in *this.

◆ init_from() [1/2]

void texpr1::builder::init_from ( ap_environment_t * e,
ap_texpr0_t * x )
inlineprotected

Internal use only: makes a shallow copy, copying only the root node and referencing the environment.

◆ init_from() [2/2]

void texpr1::builder::init_from ( ap_texpr1_t * x)
inlineprotected

Internal use only: makes a shallow copy, copying only the root node and referencing the environment.

◆ is_zero()

bool texpr1::builder::is_zero ( ) const
inline

Whether the expression is a single coefficient node with 0 value.

◆ operator=()

builder & apron::texpr1::builder::operator= ( const builder & x)
inlineprotected

Not to be used. (Temporaries are not to be re-assigned).

Member Data Documentation

◆ l

ap_texpr1_t apron::texpr1::builder::l
protected

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