APRONXX
0.9.12
|
Array of arbitrary constraints (ap_tcons0_array_t wrapper). More...
#include <apxx_tcons0.hh>
Inherits apron::use_malloc.
Public Member Functions | |
Constructors | |
tcons0_array (size_t size) | |
Creates a new array of the given size containing uninitialized constraints. More... | |
tcons0_array (const tcons0_array &x) | |
(Deep) copy. More... | |
tcons0_array (const tcons0_array &x, const dimchange &d, bool add=true) | |
Makes a (deep) copy of the array and applies add_dimensions to all constraints. More... | |
tcons0_array (const tcons0_array &x, const dimperm &d) | |
Makes a (deep) copy of the array and applies permute_dimensions to all constraints. More... | |
tcons0_array (size_t size, const tcons0 x[]) | |
Creates a tcons0_array from an array of constraints of the given size (copied). More... | |
tcons0_array (const std::vector< tcons0 > &x) | |
Creates a tcons0_array from a vector of constraints (copied). More... | |
tcons0_array (const lincons0_array &x) | |
Makes a constraint array from a linear constraint array (copying coefficients). More... | |
Destructor | |
~tcons0_array () | |
Frees the space used by the array and all its constraints. More... | |
Assignments | |
tcons0_array & | operator= (const tcons0_array &x) |
(Deep) copy. More... | |
tcons0_array & | operator= (const tcons0 x[]) |
Copies the constraints from the array into *this. More... | |
tcons0_array & | operator= (const std::vector< tcons0 > &x) |
Copies the constraints from the vector into the array, changing its size if needed. More... | |
tcons0_array & | operator= (const lincons0_array &x) |
Makes *this equal to the linear constraint array x (coefficients are copied), deleting the previous value of *this. More... | |
Dimension operations | |
void | resize (size_t size) |
Resizes the array. More... | |
void | add_dimensions (const dimchange &d) |
Applies add_dimensions to all constraints in the array. More... | |
void | remove_dimensions (const dimchange &d) |
Applies remove_dimensions to all constraints in the array. More... | |
void | permute_dimensions (const dimperm &d) |
Applies permute_dimensions to all constraints in the array. More... | |
Accesses | |
size_t | size () const |
Returns the size of the array. More... | |
tcons0 * | contents () |
Returns a pointer to the start of the internal array holding the constraints. More... | |
const tcons0 * | contents () const |
Returns a pointer to the start of the internal array holding the constraints. More... | |
tcons0 & | operator[] (size_t i) |
Returns a (modifiable) reference to an element, no bound checking. More... | |
const tcons0 & | operator[] (size_t i) const |
Returns a reference to an element, no bound checking. More... | |
tcons0 & | get (size_t i) |
Returns a (modifiable) reference to an element (bound-checked). More... | |
const tcons0 & | get (size_t i) const |
Returns a reference to an element (bound-checked). More... | |
Conversion | |
operator std::vector< tcons0 > () const | |
Returns a copy of the constraints in the form of a vector. More... | |
Tests | |
bool | is_interval_linear () const |
Whether all constraints are linear. More... | |
C API compatibility | |
const ap_tcons0_array_t * | get_ap_tcons0_array_t () const |
Returns a pointer to the internal APRON object stored in *this. More... | |
ap_tcons0_array_t * | get_ap_tcons0_array_t () |
Returns a pointer to the internal APRON object stored in *this. More... | |
![]() | |
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 | |
tcons0_array (ap_tcons0_array_t &a) | |
Internal use only. Performs a shallow copy and takes ownership of the contents. More... | |
Protected Attributes | |
ap_tcons0_array_t | a |
Structure managed by APRON. More... | |
Printing | |
std::ostream & | operator<< (std::ostream &os, const tcons0_array &s) |
Printing. More... | |
void | print (char **name_of_dim=NULL, FILE *stream=stdout) const |
Prints to a C stream. More... | |
Array of arbitrary constraints (ap_tcons0_array_t wrapper).
A tcons0_array represents an array of constraints on arbitrary expressions.
|
inlineprotected |
Internal use only. Performs a shallow copy and takes ownership of the contents.
|
inline |
Creates a new array of the given size containing uninitialized constraints.
has_modulo and has_texpr will return false on all elements of the array.
|
inline |
(Deep) copy.
|
inline |
Makes a (deep) copy of the array and applies add_dimensions to all constraints.
|
inline |
Makes a (deep) copy of the array and applies permute_dimensions to all constraints.
|
inline |
Creates a tcons0_array from an array of constraints of the given size (copied).
|
inline |
Creates a tcons0_array from a vector of constraints (copied).
|
inline |
Makes a constraint array from a linear constraint array (copying coefficients).
Real-valued addition and multiplication operators are used (i.e., no rounding).
|
inline |
Frees the space used by the array and all its constraints.
|
inline |
Applies add_dimensions to all constraints in the array.
|
inline |
Returns a pointer to the start of the internal array holding the constraints.
|
inline |
Returns a pointer to the start of the internal array holding the constraints.
|
inline |
Returns a (modifiable) reference to an element (bound-checked).
std::out_of_range | if the index is invalid. |
|
inline |
Returns a reference to an element (bound-checked).
std::out_of_range | if the index is invalid. |
|
inline |
Returns a pointer to the internal APRON object stored in *this.
|
inline |
Returns a pointer to the internal APRON object stored in *this.
|
inline |
Whether all constraints are linear.
|
inline |
Returns a copy of the constraints in the form of a vector.
|
inline |
(Deep) copy.
|
inline |
Copies the constraints from the array into *this.
|
inline |
Copies the constraints from the vector into the array, changing its size if needed.
|
inline |
Makes *this equal to the linear constraint array x (coefficients are copied), deleting the previous value of *this.
Real-valued addition and multiplication operators are used (i.e., no rounding).
|
inline |
Returns a (modifiable) reference to an element, no bound checking.
|
inline |
Returns a reference to an element, no bound checking.
|
inline |
Applies permute_dimensions to all constraints in the array.
|
inline |
Prints to a C stream.
|
inline |
Applies remove_dimensions to all constraints in the array.
|
inline |
Resizes the array.
|
inline |
Returns the size of the array.
|
friend |
Printing.
Variable naming can be configured through the varname stream modifier.
std::invalid_argument | an underlying expression is missing, or an extra scalar is missing (for modulo constraint). |
|
protected |
Structure managed by APRON.