16 #ifndef __APXX_ENVIRONMENT_HH
17 #define __APXX_ENVIRONMENT_HH
22 #include "ap_environment.h"
241 friend environment lce(
const std::vector<environment>& x, std::vector<dimchange>& chg);
347 void print(FILE* stream=stdout)
const;
Level 1 abstract value (ap_abstract1_t wrapper).
Definition: apxx_abstract1.hh:42
Dimension change object (ap_dimchange_t wrapper).
Definition: apxx_dimension.hh:102
Dimension permutation object (ap_dimperm_t wrapper).
Definition: apxx_dimension.hh:292
Level 1 environment (ap_environment_t wrapper).
Definition: apxx_environment.hh:51
const ap_environment_t * get_ap_environment_t() const
Returns a pointer to the internal APRON object pointed by *this.
Definition: apxx_environment_inline.hh:425
ap_environment_t * e
Definition: apxx_environment.hh:55
friend int cmp(const environment &x, const environment &y)
Environment comparison.
void print(FILE *stream=stdout) const
Prints to a C stream.
Definition: apxx_environment_inline.hh:416
size_t realdim() const
Returns the number of real dimensions in the environment.
Definition: apxx_environment_inline.hh:332
friend environment lce(const std::vector< environment > &x)
Returns the least common environment of a vector of environments.
const environment & operator=(const environment &x)
Assignment (reference counter manipulation).
Definition: apxx_environment_inline.hh:79
environment add(const std::vector< var > &intdim, const std::vector< var > &realdim) const
Returns a copy of the environment with some integer and/or real variable names added.
Definition: apxx_environment_inline.hh:92
friend std::ostream & operator<<(std::ostream &os, const environment &s)
Printing.
environment remove(const std::vector< var > &dims) const
Returns a copy of the environment with some variable names removed.
Definition: apxx_environment_inline.hh:139
std::vector< var > get_vars() const
Returns (a copy of) the full map from dimensions to variable names.
Definition: apxx_environment_inline.hh:367
friend environment lce(const environment *env, size_t env_size)
Returns the least common environment of an array env of env_size environments.
friend environment lce(const environment *env, dimchange *chg, size_t env_size)
Returns the least common environment of an array env of env_size environments.
bool contains(const var &x) const
Whether the environment contains the variable name x.
Definition: apxx_environment_inline.hh:337
ap_dim_t get_dim(const var &x) const
Returns the dimension associated with a variable name.
Definition: apxx_environment_inline.hh:354
friend bool operator==(const environment &x, const environment &y)
Equality testing.
friend environment lce(const environment &x, const environment &y, dimchange &chgx, dimchange &chgy)
Returns the least common environment of two environments.
friend environment lce(const std::vector< environment > &x, std::vector< dimchange > &chg)
Returns the least common environment of a vector of environments.
friend environment lce(const environment &x, const environment &y)
Returns the least common environment of two environments.
ap_dim_t operator[](const var &x) const
Returns the dimension associated with the variable name.
Definition: apxx_environment_inline.hh:342
size_t intdim() const
Returns the number of integer dimensions in the environment.
Definition: apxx_environment_inline.hh:327
const var & get_var(ap_dim_t d) const
Returns the variable name at a given dimension (bound-checked).
Definition: apxx_environment_inline.hh:361
friend bool operator!=(const environment &x, const environment &y)
Disequality testing.
environment()
Creates a new empty environment.
Definition: apxx_environment_inline.hh:44
environment(ap_environment_t *x)
Used internally only. Wraps the APRON object in an environment object (no copy, no change in referenc...
Definition: apxx_environment.hh:58
friend bool operator>=(const environment &x, const environment &y)
Inclusion testing.
friend bool operator<=(const environment &x, const environment &y)
Inclusion testing.
environment rename(const std::vector< std::pair< var, var > > &dims) const
Returns a copy of the environment with some variable names substituted.
Definition: apxx_environment_inline.hh:158
~environment()
Decrements the reference counter and, if null, actually frees the environment.
Definition: apxx_environment_inline.hh:70
friend dimchange get_dimchange(const environment &x, const environment &y)
Returns the dimension change to transform an environment x into a super-environment y.
Array of generators (ap_generator1_array_t wrapper).
Definition: apxx_generator1.hh:272
Level 1 generator (ap_generator1_t wrapper).
Definition: apxx_generator1.hh:40
Array of linear constraints (ap_lincons1_array_t wrapper).
Definition: apxx_lincons1.hh:331
Level 1 linear constraint (ap_lincons1_t wrapper).
Definition: apxx_lincons1.hh:40
Level 1 linear expression (ap_linexpr1_t wrapper).
Definition: apxx_linexpr1.hh:39
Array of arbitrary constraints (ap_tcons1_array_t wrapper).
Definition: apxx_tcons1.hh:337
Level 1 arbitrary constraint (ap_tcons1_t wrapper).
Definition: apxx_tcons1.hh:39
Level 1 arbitrary expression tree (ap_texpr1_t wrapper).
Definition: apxx_texpr1.hh:42
Variable name (ap_var_t wrapper).
Definition: apxx_var.hh:39
Definition: apxx_abstract0.hh:27
Inherited by most wrappers to map new and delete to malloc and free.
Definition: apxx_scalar.hh:69