16#ifndef __APXX_TCONS0_HH
17#define __APXX_TCONS0_HH
73 tcons0(ap_constyp_t constyp=AP_CONS_SUPEQ);
280 void print(
char** name_of_dim=NULL, FILE* stream=stdout)
const;
503 operator std::vector<tcons0>()
const;
525 void print(
char** name_of_dim = NULL, FILE* stream=stdout)
const;
Dimension change object (ap_dimchange_t wrapper).
Definition apxx_dimension.hh:102
Dimension permutation object (ap_dimperm_t wrapper).
Definition apxx_dimension.hh:292
Array of linear constraints (ap_lincons0_array_t wrapper).
Definition apxx_lincons0.hh:341
Level 0 linear constraint (ap_lincons0_t wrapper).
Definition apxx_lincons0.hh:43
Scalar (ap_scalar_t wrapper).
Definition apxx_scalar.hh:89
friend class abstract0
Definition apxx_tcons0.hh:359
tcons0_array & operator=(const tcons0_array &x)
(Deep) copy.
Definition apxx_tcons0.hh:383
bool is_interval_linear() const
Whether all constraints are linear.
Definition apxx_tcons0.hh:523
ap_tcons0_array_t a
Structure managed by APRON.
Definition apxx_tcons0.hh:354
void add_dimensions(const dimchange &d)
Applies add_dimensions to all constraints in the array.
Definition apxx_tcons0.hh:432
size_t size() const
Returns the size of the array.
Definition apxx_tcons0.hh:451
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_tcons0.hh:514
const ap_tcons0_array_t * get_ap_tcons0_array_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_tcons0.hh:531
tcons0_array(ap_tcons0_array_t &a)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_tcons0.hh:357
const tcons0 & get(size_t i) const
Returns a reference to an element (bound-checked).
Definition apxx_tcons0.hh:482
tcons0 & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition apxx_tcons0.hh:466
tcons0 & get(size_t i)
Returns a (modifiable) reference to an element (bound-checked).
Definition apxx_tcons0.hh:476
friend std::ostream & operator<<(std::ostream &os, const tcons0_array &s)
Printing.
Definition apxx_tcons0.hh:505
tcons0 * contents()
Returns a pointer to the start of the internal array holding the constraints.
Definition apxx_tcons0.hh:456
friend class tcons1_array
Definition apxx_tcons0.hh:360
void permute_dimensions(const dimperm &d)
Applies permute_dimensions to all constraints in the array.
Definition apxx_tcons0.hh:442
~tcons0_array()
Frees the space used by the array and all its constraints.
Definition apxx_tcons0.hh:374
void resize(size_t size)
Resizes the array.
Definition apxx_tcons0.hh:427
void remove_dimensions(const dimchange &d)
Applies remove_dimensions to all constraints in the array.
Definition apxx_tcons0.hh:437
ap_tcons0_array_t * get_ap_tcons0_array_t()
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_tcons0.hh:536
Level 0 arbitrary constraint (ap_tcons0_t wrapper).
Definition apxx_tcons0.hh:47
tcons0(ap_tcons0_t &l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_tcons0.hh:24
bool is_interval_polyfrac() const
Whether the expression is a polynomial fraction and there is no rounding.
Definition apxx_tcons0.hh:287
friend class abstract0
Definition apxx_tcons0.hh:56
ap_tcons0_t l
Structure managed by APRON.
Definition apxx_tcons0.hh:51
~tcons0()
Frees the constraint, including the embedded expression tree and optional modulo scalar.
Definition apxx_tcons0.hh:82
friend tcons0 operator!=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b != 0.
Definition apxx_tcons0.hh:126
bool is_interval_cst() const
Whether the expression is constant (i.e., has no dimension leaves).
Definition apxx_tcons0.hh:272
bool has_modulo() const
Returns whether the constraint has a valid extra scalar (used in modulo constraints).
Definition apxx_tcons0.hh:198
friend tcons0 operator>(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b > 0.
Definition apxx_tcons0.hh:105
bool is_scalar() const
Whether all occurring constants are scalar.
Definition apxx_tcons0.hh:292
void remove_dimensions(const dimchange &d)
Removes dimensions to the underlying expression tree.
Definition apxx_tcons0.hh:170
bool is_interval_linear() const
Whether the expression is linear and there is no rounding.
Definition apxx_tcons0.hh:277
friend tcons0 operator<=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a >= 0.
Definition apxx_tcons0.hh:98
void set_texpr(const texpr0::builder &c)
Sets the underlying expression tree to c (copied).
Definition apxx_tcons0.hh:239
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition apxx_tcons0.hh:188
bool has_texpr() const
Whether the constraint contains a valid expression tree.
Definition apxx_tcons0.hh:203
void permute_dimensions(const dimperm &d)
Applies a permutation to the underlying expression tree.
Definition apxx_tcons0.hh:176
void set_modulo(const scalar &c)
Sets the extra scalar modulo to c (copied).
Definition apxx_tcons0.hh:220
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_tcons0.hh:263
friend tcons0 operator>=(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b >= 0.
Definition apxx_tcons0.hh:91
texpr0::iterator get_texpr()
Returns an iterator to the root of the underlying expression tree.
Definition apxx_tcons0.hh:233
void add_dimensions(const dimchange &d)
Adds dimensions to the underlying expression tree.
Definition apxx_tcons0.hh:164
bool is_interval_polynomial() const
Whether the expression is polynomial and there is no rounding.
Definition apxx_tcons0.hh:282
const ap_tcons0_t * get_ap_tcons0_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_tcons0.hh:302
friend tcons0 operator<(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint b-a > 0.
Definition apxx_tcons0.hh:112
tcons0 & operator=(const tcons0 &x)
(Deep) copy.
Definition apxx_tcons0.hh:137
friend tcons0 operator==(const texpr0::builder &a, const texpr0::builder &b)
Makes a constraint a-b == 0.
Definition apxx_tcons0.hh:119
friend std::ostream & operator<<(std::ostream &os, const tcons0 &s)
Printing.
Definition apxx_tcons0.hh:250
scalar & get_modulo()
Returns a (modifiable) reference to the extra scalar.
Definition apxx_tcons0.hh:208
Temporary expression nodes used when constructing a texpr0.
Definition apxx_texpr0.hh:581
Iterators to traverse a constant expression tree.
Definition apxx_texpr0.hh:211
Iterators to traverse and mutate an expression tree.
Definition apxx_texpr0.hh:413
Definition apxx_abstract0.hh:27
texpr0::builder add(const texpr0::builder &a, const texpr0::builder &b, ap_texpr_rtype_t rtype=AP_RTYPE_REAL, ap_texpr_rdir_t rdir=AP_RDIR_NEAREST)
Definition apxx_texpr0.hh:772
Unsatisfiable constraint, to simplify initialisations and assignments.
Definition apxx_lincons0.hh:28
Inherited by most wrappers to map new and delete to malloc and free.
Definition apxx_scalar.hh:69