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;
Level 0 abstract value (ap_abstract0_t* wrapper).
Definition apxx_abstract0.hh:78
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
Array of linear constraints (ap_lincons0_array_t wrapper).
Definition apxx_lincons0.hh:341
size_t size() const
Returns the size of the array.
Definition apxx_lincons0_inline.hh:375
~lincons0_array()
Frees the space used by the array and all its constraints.
Definition apxx_lincons0_inline.hh:313
lincons0 & get(size_t i)
Returns a (modifiable) reference to an element (bound-checked).
Definition apxx_lincons0_inline.hh:400
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_inline.hh:462
void permute_dimensions(const dimperm &d)
Applies permute_dimensions to all constraints in the array.
Definition apxx_lincons0_inline.hh:366
lincons0 * contents()
Returns a pointer to the start of the internal array holding the constraints.
Definition apxx_lincons0_inline.hh:380
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_inline.hh:438
bool is_linear() const
Whether all constraints are linear.
Definition apxx_lincons0_inline.hh:447
bool is_quasilinear() const
Whether all constraints are quasi-linear.
Definition apxx_lincons0_inline.hh:452
lincons0 & operator[](size_t i)
Returns a (modifiable) reference to an element, no bound checking.
Definition apxx_lincons0_inline.hh:390
void resize(size_t size)
Resizes the array.
Definition apxx_lincons0_inline.hh:356
friend std::ostream & operator<<(std::ostream &os, const lincons0_array &s)
Printing.
lincons0_array & operator=(const lincons0_array &x)
(Deep) copy.
Definition apxx_lincons0_inline.hh:322
void add_dimensions(const dimchange &d)
Applies add_dimensions to all constraints in the array.
Definition apxx_lincons0_inline.hh:361
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_inline.hh:197
bool has_modulo() const
Whether the constraint has a valid auxiliary scalar (used in modulo constraints).
Definition apxx_lincons0_inline.hh:145
bool has_linexpr() const
Whether the constraint has a valid linear expression.
Definition apxx_lincons0_inline.hh:150
void add_dimensions(const dimchange &d)
Changes the dimension of the underlying linear expression.
Definition apxx_lincons0_inline.hh:108
void resize(size_t size)
Resizes the underlying linear expression.
Definition apxx_lincons0_inline.hh:101
void set_linexpr(const linexpr0 &c)
Sets the underlying linear expression to c (copied).
Definition apxx_lincons0_inline.hh:185
lincons0(ap_lincons0_t l)
Internal use only. Performs a shallow copy and takes ownership of the contents.
Definition apxx_lincons0_inline.hh:23
bool is_unsat() const
Whether the constraint is unsatisfiable.
Definition apxx_lincons0_inline.hh:229
bool is_quasilinear() const
Whether the underlying linear expression has only scalar coefficients, except maybe for the constant ...
Definition apxx_lincons0_inline.hh:241
bool is_linear() const
Whether the underlying linear expression has only scalar coefficients.
Definition apxx_lincons0_inline.hh:235
const ap_lincons0_t * get_ap_lincons0_t() const
Returns a pointer to the internal APRON object stored in *this.
Definition apxx_lincons0_inline.hh:252
friend std::ostream & operator<<(std::ostream &os, const lincons0 &s)
Printing.
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_inline.hh:191
scalar & get_modulo()
Returns a (modifiable) reference to the auxiliary scalar.
Definition apxx_lincons0_inline.hh:155
~lincons0()
Frees the constraint, including the embedded linear expression and optional modulo scalar.
Definition apxx_lincons0_inline.hh:72
void set_modulo(const scalar &c)
Sets the auxiliary scalar modulo to c (copied).
Definition apxx_lincons0_inline.hh:167
ap_constyp_t & get_constyp()
Returns a (modifiable) reference to the constraint type.
Definition apxx_lincons0_inline.hh:135
void print(char **name_of_dim=NULL, FILE *stream=stdout) const
Prints to a C stream.
Definition apxx_lincons0_inline.hh:220
void permute_dimensions(const dimperm &d)
Applies a permutation to the underlying linear expression.
Definition apxx_lincons0_inline.hh:114
size_t size() const
Returns the size of the underlying linear expression.
Definition apxx_lincons0_inline.hh:126
linexpr0 & get_linexpr()
Returns a (modifiable) reference to the underlying linear expression.
Definition apxx_lincons0_inline.hh:173
lincons0 & operator=(const lincons0 &x)
(Deep) copy.
Definition apxx_lincons0_inline.hh:81
Array of linear constraints (ap_lincons1_array_t wrapper).
Definition apxx_lincons1.hh:331
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