APRONXX
0.9.12
|
Dimension permutation object (ap_dimperm_t wrapper). More...
#include <apxx_dimension.hh>
Inherits apron::use_malloc.
Public Member Functions | |
Constructors | |
dimperm (size_t size=0) | |
Makes an uninitialized dimperm of the given size. More... | |
dimperm (size_t size, const ap_dim_t d[]) | |
Makes a dimperm initialized with the array d. More... | |
dimperm (const std::vector< ap_dim_t > &d) | |
Makes a dimperm initialized with the vector d. More... | |
dimperm (id t) | |
Makes an identity permutation. More... | |
dimperm (const dimperm &x, bool inv=false) | |
Makes a copy of a permutation, optionally inverting it. More... | |
dimperm (const dimperm &x, const dimperm &y) | |
Makes a new dimperm that is the composition of two permutations. More... | |
Destructor | |
~dimperm () | |
Assignments | |
dimperm & | operator= (const dimperm &x) |
Copies x . More... | |
dimperm & | operator= (id t) |
Assigns the identity permutation to *this. More... | |
dimperm & | operator= (const ap_dim_t d[]) |
Assigns the permutation from the array d to *this. More... | |
dimperm & | operator= (const std::vector< ap_dim_t > &d) |
Assigns the permutation from the vector d to *this (changing its size). More... | |
Accesses, size | |
size_t | size () const |
Returns the size of the permutation. More... | |
ap_dim_t & | operator[] (size_t dim) |
Returns a (modifiable) reference to the image of dim. More... | |
const ap_dim_t & | operator[] (size_t dim) const |
Returns a reference to the image of dim. More... | |
ap_dim_t & | get (size_t dim) |
Returns a (modifiable) reference to the image of dim (bound-checked). More... | |
const ap_dim_t & | get (size_t dim) const |
Returns a reference to the image of dim (bound-checked). More... | |
C API compatibility | |
const ap_dimperm_t * | get_ap_dimperm_t () const |
Returns a pointer to the internal APRON object stored in *this. More... | |
ap_dimperm_t * | get_ap_dimperm_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 Attributes | |
ap_dimperm_t | c |
Structure managed by APRON. More... | |
Printing | |
void | print (FILE *stream=stdout) const |
Prints to a C stream. More... | |
std::ostream & | operator<< (std::ostream &os, const dimperm &s) |
Printing. More... | |
Operators | |
dimperm & | operator *= (const dimperm &y) |
Composes *this with y. More... | |
void | invert () |
Inverts *this. More... | |
dimperm | operator- () const |
Returns a new dimperm that is the inverse of *this. More... | |
dimperm | operator * (const dimperm &x, const dimperm &y) |
Returns a new dimperm that is the composition of x and y. More... | |
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.
|
inline |
Makes an uninitialized dimperm of the given size.
|
inline |
Makes a dimperm initialized with the array d.
d
should contain (at least) size dimensions.
|
inline |
Makes a dimperm initialized with the vector d.
|
inline |
Makes an identity permutation.
|
inline |
Makes a copy of a permutation, optionally inverting it.
Makes a new dimperm that is the composition of two permutations.
|
inline |
|
inline |
Returns a (modifiable) reference to the image of dim (bound-checked).
std::out_of_range | is thrown if dim>=size. |
|
inline |
Returns a reference to the image of dim (bound-checked).
std::out_of_range | is thrown if dim>=size. |
|
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 |
Inverts *this.
Composes *this with y.
std::invalid_argument | if *this and y do not have the same size. |
|
inline |
Returns a new dimperm that is the inverse of *this.
|
inline |
Assigns the permutation from the array d to *this.
d
should contain (at least) size dimensions.
|
inline |
Assigns the permutation from the vector d to *this (changing its size).
|
inline |
Returns a (modifiable) reference to the image of dim.
dim
should be strictly smaller than size (not bound-checked).
|
inline |
Returns a reference to the image of dim.
dim
should be strictly smaller than size (not bound-checked).
|
inline |
Prints to a C stream.
|
inline |
Returns the size of the permutation.
Returns a new dimperm that is the composition of x and y.
std::invalid_argument | if x and y do not have the same size. |
|
friend |
Printing.
Variable naming can be configured through the varname stream modifier.
|
protected |
Structure managed by APRON.