16#ifndef __APXX_LINCONS0_HH
17#define __APXX_LINCONS0_HH
20#include "ap_lincons0.h"
69 lincons0(ap_constyp_t constyp=AP_CONS_SUPEQ);
277 void print(
char** name_of_dim=NULL, FILE* stream=stdout)
const;
345 ap_lincons0_array_t
a;
479 operator std::vector<lincons0>()
const;
500 void print(
char** name_of_dim = NULL, FILE* stream=stdout)
const;
Coefficient (ap_coeff_t wrapper).
Definition apxx_coeff.hh:36
Represents a dimension (i.e., variable by index) in an expression tree.
Definition apxx_texpr0.hh:33
Dimension change object (ap_dimchange_t wrapper).
Definition apxx_dimension.hh:102
Dimension permutation object (ap_dimperm_t wrapper).
Definition apxx_dimension.hh:292
size_t size() const
Returns the size of the array.
Definition apxx_lincons0.hh:376
friend class abstract0
Definition apxx_lincons0.hh:351
~lincons0_array()
Frees the space used by the array and all its constraints.
Definition apxx_lincons0.hh:314
lincons0 & get(size_t i)
Returns a (modifiable) reference to an element (bound-checked).
Definition apxx_lincons0.hh:401
const ap_lincons0_array_t * get_ap_lincons0_array_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_lincons0.hh:463
void permute_dimensions(const dimperm &d)
Applies permute_dimensions to all constraints in the array.
Definition apxx_lincons0.hh:367
lincons0 * contents()
Returns a pointer to the start of the internal array holding the constraints.
Definition apxx_lincons0.hh:381
ap_lincons0_array_t a
Structure managed by APRON.
Definition apxx_lincons0.hh:345
lincons0_array(ap_lincons0_array_t &a)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_lincons0.hh:348
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_lincons0.hh:439
bool is_linear() const
Whether all constraints are linear.
Definition apxx_lincons0.hh:448
bool is_quasilinear() const
Whether all constraints are quasi-linear.
Definition apxx_lincons0.hh:453
lincons0 & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition apxx_lincons0.hh:391
void resize(size_t size)
Resizes the array.
Definition apxx_lincons0.hh:357
friend class lincons1_array
Definition apxx_lincons0.hh:350
friend std::ostream & operator<<(std::ostream &os, const lincons0_array &s)
Printing.
Definition apxx_lincons0.hh:430
ap_lincons0_array_t * get_ap_lincons0_array_t()
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_lincons0.hh:468
lincons0_array & operator=(const lincons0_array &x)
(Deep) copy.
Definition apxx_lincons0.hh:323
void add_dimensions(const dimchange &d)
Applies add_dimensions to all constraints in the array.
Definition apxx_lincons0.hh:362
Level 0 linear constraint (ap_lincons0_t wrapper).
Definition apxx_lincons0.hh:43
coeff & operator[](ap_dim_t dim)
Returns a (modifiable) reference to the coefficient corresponding to the given dimension.
Definition apxx_lincons0.hh:198
bool has_modulo() const
Whether the constraint has a valid auxiliary scalar (used in modulo constraints).
Definition apxx_lincons0.hh:146
bool has_linexpr() const
Whether the constraint has a valid linear expression.
Definition apxx_lincons0.hh:151
void add_dimensions(const dimchange &d)
Changes the dimension of the underlying linear expression.
Definition apxx_lincons0.hh:109
friend class abstract0
Definition apxx_lincons0.hh:52
void resize(size_t size)
Resizes the underlying linear expression.
Definition apxx_lincons0.hh:102
void set_linexpr(const linexpr0 &c)
Sets the underlying linear expression to c (copied).
Definition apxx_lincons0.hh:186
lincons0(ap_lincons0_t l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_lincons0.hh:24
bool is_unsat() const
Whether the constraint is unsatisfiable.
Definition apxx_lincons0.hh:230
bool is_quasilinear() const
Whether the underlying linear expression has only scalar coefficients, except maybe for the constant ...
Definition apxx_lincons0.hh:242
bool is_linear() const
Whether the underlying linear expression has only scalar coefficients.
Definition apxx_lincons0.hh:236
const ap_lincons0_t * get_ap_lincons0_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_lincons0.hh:253
friend std::ostream & operator<<(std::ostream &os, const lincons0 &s)
Printing.
Definition apxx_lincons0.hh:208
ap_lincons0_t l
Structure managed by APRON.
Definition apxx_lincons0.hh:47
coeff & get_cst()
Returns a (modifiable) reference to the constant coefficient.
Definition apxx_lincons0.hh:192
scalar & get_modulo()
Returns a (modifiable) reference to the auxiliary scalar.
Definition apxx_lincons0.hh:156
~lincons0()
Frees the constraint, including the embedded linear expression and optional modulo scalar.
Definition apxx_lincons0.hh:73
void set_modulo(const scalar &c)
Sets the auxiliary scalar modulo to c (copied).
Definition apxx_lincons0.hh:168
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition apxx_lincons0.hh:136
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_lincons0.hh:221
void permute_dimensions(const dimperm &d)
Applies a permutation to the underlying linear expression.
Definition apxx_lincons0.hh:115
size_t size() const
Returns the size of the underlying linear expression.
Definition apxx_lincons0.hh:127
linexpr0 & get_linexpr()
Returns a (modifiable) reference to the underlying linear expression.
Definition apxx_lincons0.hh:174
lincons0 & operator=(const lincons0 &x)
(Deep) copy.
Definition apxx_lincons0.hh:82
Level 0 linear expression (ap_linexpr0_t wrapper).
Definition apxx_linexpr0.hh:44
Scalar (ap_scalar_t wrapper).
Definition apxx_scalar.hh:89
Definition apxx_abstract0.hh:27
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