Dimension change object (ap_dimchange_t wrapper).
More...
#include <apxx_dimension.hh>
Inherits apron::use_malloc.
|
|
| dimchange (size_t intdim=0, size_t realdim=0) |
| Makes an uninitialized dimchange.
|
|
| dimchange (size_t intdim, size_t realdim, const ap_dim_t d[]) |
| Makes a dimchange initialized using the given array of indices (copied).
|
|
| dimchange (size_t intdim, size_t realdim, const std::vector< ap_dim_t > &d) |
| Makes a dimchange initialized using the given vector of indices (copied).
|
|
| dimchange (const dimchange &x, bool inv=false) |
| Makes a copy of a dimchange, copying the array, and optionally inverting the dimension change.
|
|
|
| ~dimchange () |
|
|
dimchange & | operator= (const dimchange &x) |
| (Deep) copy.
|
|
dimchange & | operator= (const ap_dim_t d[]) |
| Assignment from an array of indices.
|
|
dimchange & | operator= (const std::vector< ap_dim_t > &d) |
| Assignment from a vector of indices (no change in size).
|
|
|
size_t | get_intdim () const |
| Returns the number of integer dimensions to add/remove.
|
|
size_t | get_realdim () const |
| Returns the number of real dimensions to add/remove.
|
|
ap_dim_t & | operator[] (size_t dim) |
| Returns a (modifiable) reference to an index in the underlying array.
|
|
const ap_dim_t & | operator[] (size_t dim) const |
| Returns a reference to a (checked) index in the underlying array.
|
|
ap_dim_t & | get (size_t dim) |
| Returns a (modifiable) reference to an index in the underlying array (bound-checked).
|
|
const ap_dim_t & | get (size_t dim) const |
| Returns a reference to a (checked) index in the underlying array (bound-checked).
|
|
|
void | add_invert () |
| Inverts *this.
|
|
dimchange | operator- () const |
| Returns the inverse of *this.
|
|
|
const ap_dimchange_t * | get_ap_dimchange_t () const |
| Returns a pointer to the internal APRON object stored in *this.
|
|
ap_dimchange_t * | get_ap_dimchange_t () |
| Returns a pointer to the internal APRON object stored in *this.
|
|
void * | operator new (size_t sz) |
|
void * | operator new[] (size_t sz) |
|
void | operator delete (void *p) |
|
void | operator delete[] (void *p) |
|
|
ap_dimchange_t | c |
| Structure managed by APRON.
|
|
|
void | print (FILE *stream=stdout) const |
| Prints to a C stream.
|
|
Dimension change object (ap_dimchange_t wrapper).
dimchange objects are used to insert or remove dimensions at arbitrary positions in expressions, constraints, and domains. A dimchange object embeds the number of integer and real dimensions to add/remove, as well as an array of indices where to add/remove dimensions. The array should be sorted in increasing order.
◆ dimchange() [1/4]
dimchange::dimchange |
( |
size_t | intdim = 0, |
|
|
size_t | realdim = 0 ) |
|
inline |
Makes an uninitialized dimchange.
◆ dimchange() [2/4]
dimchange::dimchange |
( |
size_t | intdim, |
|
|
size_t | realdim, |
|
|
const ap_dim_t | d[] ) |
|
inline |
Makes a dimchange initialized using the given array of indices (copied).
d
should contain (at least) intdim+realdim dimensions.
◆ dimchange() [3/4]
dimchange::dimchange |
( |
size_t | intdim, |
|
|
size_t | realdim, |
|
|
const std::vector< ap_dim_t > & | d ) |
|
inline |
Makes a dimchange initialized using the given vector of indices (copied).
- Exceptions
-
std::invalid_argument | if d contains less than intdim+realdim dimensions. |
◆ dimchange() [4/4]
dimchange::dimchange |
( |
const dimchange & | x, |
|
|
bool | inv = false ) |
|
inline |
Makes a copy of a dimchange, copying the array, and optionally inverting the dimension change.
- inv if inv==true, then the constructed dimchange is the inverse of x (see add_invert).
◆ ~dimchange()
dimchange::~dimchange |
( |
| ) |
|
|
inline |
◆ add_invert()
void dimchange::add_invert |
( |
| ) |
|
|
inline |
Inverts *this.
If the dimchange was used to add some dimensions, it can now be used to remove the added dimensions (but not the converse).
◆ get() [1/2]
ap_dim_t & dimchange::get |
( |
size_t | dim | ) |
|
|
inline |
Returns a (modifiable) reference to an index in the underlying array (bound-checked).
- Exceptions
-
std::out_of_range | is thrown if dim>=intdim+realdim. |
◆ get() [2/2]
const ap_dim_t & dimchange::get |
( |
size_t | dim | ) |
const |
|
inline |
Returns a reference to a (checked) index in the underlying array (bound-checked).
- Exceptions
-
std::out_of_range | is thrown if dim>=intdim+realdim. |
◆ get_ap_dimchange_t() [1/2]
ap_dimchange_t * dimchange::get_ap_dimchange_t |
( |
| ) |
|
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_ap_dimchange_t() [2/2]
const ap_dimchange_t * dimchange::get_ap_dimchange_t |
( |
| ) |
const |
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_intdim()
size_t dimchange::get_intdim |
( |
| ) |
const |
|
inline |
Returns the number of integer dimensions to add/remove.
◆ get_realdim()
size_t dimchange::get_realdim |
( |
| ) |
const |
|
inline |
Returns the number of real dimensions to add/remove.
◆ operator-()
Returns the inverse of *this.
See add_invert
.
◆ operator=() [1/3]
dimchange & dimchange::operator= |
( |
const ap_dim_t | d[] | ) |
|
|
inline |
Assignment from an array of indices.
d
should contain (at least) intdim+realdim dimensions.
◆ operator=() [2/3]
◆ operator=() [3/3]
dimchange & dimchange::operator= |
( |
const std::vector< ap_dim_t > & | d | ) |
|
|
inline |
Assignment from a vector of indices (no change in size).
- Exceptions
-
std::invalid_argument | if d contains less than intdim+realdim dimensions. |
◆ operator[]() [1/2]
ap_dim_t & dimchange::operator[] |
( |
size_t | dim | ) |
|
|
inline |
Returns a (modifiable) reference to an index in the underlying array.
dim
should be strictly smaller than intdim+realdim (not bound-checked).
◆ operator[]() [2/2]
const ap_dim_t & dimchange::operator[] |
( |
size_t | dim | ) |
const |
|
inline |
Returns a reference to a (checked) index in the underlying array.
dim
should be strictly smaller than intdim+realdim (not bound-checked).
◆ print()
void dimchange::print |
( |
FILE * | stream = stdout | ) |
const |
|
inline |
ap_dimchange_t apron::dimchange::c |
|
protected |
Structure managed by APRON.
The documentation for this class was generated from the following files: