Dimension permutation object (ap_dimperm_t wrapper).
More...
#include <apxx_dimension.hh>
Inherits apron::use_malloc.
|
| | dimperm (size_t size=0) |
| | Makes an uninitialized dimperm of the given size.
|
| | dimperm (size_t size, const ap_dim_t d[]) |
| | Makes a dimperm initialized with the array d.
|
| | dimperm (const std::vector< ap_dim_t > &d) |
| | Makes a dimperm initialized with the vector d.
|
| | dimperm (id t) |
| | Makes an identity permutation.
|
| | dimperm (const dimperm &x, bool inv=false) |
| | Makes a copy of a permutation, optionally inverting it.
|
| | dimperm (const dimperm &x, const dimperm &y) |
| | Makes a new dimperm that is the composition of two permutations.
|
| | ~dimperm () |
| dimperm & | operator= (const dimperm &x) |
| | Copies x.
|
| dimperm & | operator= (id t) |
| | Assigns the identity permutation to *this.
|
| dimperm & | operator= (const ap_dim_t d[]) |
| | Assigns the permutation from the array d to *this.
|
| dimperm & | operator= (const std::vector< ap_dim_t > &d) |
| | Assigns the permutation from the vector d to *this (changing its size).
|
| size_t | size () const |
| | Returns the size of the permutation.
|
| ap_dim_t & | operator[] (size_t dim) |
| | Returns a (modifiable) reference to the image of dim.
|
| const ap_dim_t & | operator[] (size_t dim) const |
| | Returns a reference to the image of dim.
|
| ap_dim_t & | get (size_t dim) |
| | Returns a (modifiable) reference to the image of dim (bound-checked).
|
| const ap_dim_t & | get (size_t dim) const |
| | Returns a reference to the image of dim (bound-checked).
|
| const ap_dimperm_t * | get_ap_dimperm_t () const |
| | Returns a pointer to the internal APRON object stored in *this.
|
| ap_dimperm_t * | get_ap_dimperm_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_dimperm_t | c |
| | Structure managed by APRON.
|
|
| void | print (FILE *stream=stdout) const |
| | Prints to a C stream.
|
Dimension permutation object (ap_dimperm_t wrapper).
dimperm objects can be used to permute dimensions in expressions, constraints, and domains. They hold a map i->p[i]: [0,size-1]=>[0,size-1] using an array p of dimensions. All the p[i] must be distinct and in the range [0,size-1] where size is the size of p.
◆ dimperm() [1/6]
| dimperm::dimperm |
( |
size_t | size = 0 | ) |
|
|
inline |
Makes an uninitialized dimperm of the given size.
◆ dimperm() [2/6]
| dimperm::dimperm |
( |
size_t | size, |
|
|
const ap_dim_t | d[] ) |
|
inline |
Makes a dimperm initialized with the array d.
d should contain (at least) size dimensions.
◆ dimperm() [3/6]
| dimperm::dimperm |
( |
const std::vector< ap_dim_t > & | d | ) |
|
|
inline |
Makes a dimperm initialized with the vector d.
◆ dimperm() [4/6]
Makes an identity permutation.
◆ dimperm() [5/6]
| dimperm::dimperm |
( |
const dimperm & | x, |
|
|
bool | inv = false ) |
|
inline |
Makes a copy of a permutation, optionally inverting it.
- inv if inv==true, then the constructed permutation is the inverse of x.
◆ dimperm() [6/6]
| dimperm::dimperm |
( |
const dimperm & | x, |
|
|
const dimperm & | y ) |
|
inline |
Makes a new dimperm that is the composition of two permutations.
◆ ~dimperm()
◆ get() [1/2]
| ap_dim_t & dimperm::get |
( |
size_t | dim | ) |
|
|
inline |
Returns a (modifiable) reference to the image of dim (bound-checked).
- Exceptions
-
| std::out_of_range | is thrown if dim>=size. |
◆ get() [2/2]
| const ap_dim_t & dimperm::get |
( |
size_t | dim | ) |
const |
|
inline |
Returns a reference to the image of dim (bound-checked).
- Exceptions
-
| std::out_of_range | is thrown if dim>=size. |
◆ get_ap_dimperm_t() [1/2]
| ap_dimperm_t * dimperm::get_ap_dimperm_t |
( |
| ) |
|
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_ap_dimperm_t() [2/2]
| const ap_dimperm_t * dimperm::get_ap_dimperm_t |
( |
| ) |
const |
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ invert()
◆ operator*=()
Composes *this with y.
- Exceptions
-
| std::invalid_argument | if *this and y do not have the same size. |
◆ operator-()
| dimperm dimperm::operator- |
( |
| ) |
const |
|
inline |
Returns a new dimperm that is the inverse of *this.
◆ operator=() [1/4]
| dimperm & dimperm::operator= |
( |
const ap_dim_t | d[] | ) |
|
|
inline |
Assigns the permutation from the array d to *this.
d should contain (at least) size dimensions.
◆ operator=() [2/4]
◆ operator=() [3/4]
| dimperm & dimperm::operator= |
( |
const std::vector< ap_dim_t > & | d | ) |
|
|
inline |
Assigns the permutation from the vector d to *this (changing its size).
◆ operator=() [4/4]
Assigns the identity permutation to *this.
◆ operator[]() [1/2]
| ap_dim_t & dimperm::operator[] |
( |
size_t | dim | ) |
|
|
inline |
Returns a (modifiable) reference to the image of dim.
dim should be strictly smaller than size (not bound-checked).
◆ operator[]() [2/2]
| const ap_dim_t & dimperm::operator[] |
( |
size_t | dim | ) |
const |
|
inline |
Returns a reference to the image of dim.
dim should be strictly smaller than size (not bound-checked).
◆ print()
| void dimperm::print |
( |
FILE * | stream = stdout | ) |
const |
|
inline |
◆ size()
| size_t dimperm::size |
( |
| ) |
const |
|
inline |
Returns the size of the permutation.
| ap_dimperm_t apron::dimperm::c |
|
protected |
Structure managed by APRON.
The documentation for this class was generated from the following files: