Level 0 generator (ap_generator0_t wrapper).
More...
#include <apxx_generator0.hh>
Inherits apron::use_malloc.
|
| generator0 (ap_gentyp_t gentyp=AP_GEN_RAY) |
| Creates a new generator from an empty linear expression.
|
|
| generator0 (ap_gentyp_t gentyp, const linexpr0 &lin) |
| Creates a new generator constraint from a linear expression (copied).
|
|
| generator0 (const generator0 &x) |
| (Deep) copy of a generator.
|
|
| generator0 (const generator0 &x, const dimchange &d) |
| Makes a (deep) copy of a generator, and applies a dimension change to the underlying linear expression.
|
|
| generator0 (const generator0 &x, const dimperm &d) |
| Makes a (deep) copy of a generator, and applies a permutation to the underlying linear expression.
|
|
| ~generator0 () |
| Frees the generator, including the embedded linear expression.
|
|
generator0 & | operator= (const generator0 &x) |
| (Deep) copy.
|
|
void | resize (size_t size) |
| Resizes the underlying linear expression.
|
|
void | add_dimensions (const dimchange &d) |
| Changes the dimension of the underlying linear expression.
|
|
void | permute_dimensions (const dimperm &d) |
| Applies a permutation to the underlying linear expression.
|
|
size_t | size () const |
| Returns the size of the underlying linear expression.
|
|
ap_gentyp_t & | get_gentyp () |
| Returns a (modifiable) reference to the constraint type.
|
|
const ap_gentyp_t & | get_gentyp () const |
| Returns a reference to the constraint type.
|
|
bool | has_linexpr () const |
| Returns whether the generator has a valid linear expression.
|
|
linexpr0 & | get_linexpr () |
| Returns a (modifiable) reference to the underlying linear expression.
|
|
const linexpr0 & | get_linexpr () const |
| Returns a reference to the underlying linear expression.
|
|
void | set_linexpr (const linexpr0 &c) |
| Sets the underlying linear expression to c (copied).
|
|
void | print (char **name_of_dim=NULL, FILE *stream=stdout) const |
| Prints to a C stream.
|
|
const ap_generator0_t * | get_ap_generator0_t () const |
| Returns a pointer to the internal APRON object stored in *this.
|
|
ap_generator0_t * | get_ap_generator0_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) |
|
|
| generator0 (ap_generator0_t &l) |
| Internal use only. Performs a shallow copy and takes ownership of the contents.
|
|
|
ap_generator0_t | l |
| Structure managed by APRON.
|
|
Level 0 generator (ap_generator0_t wrapper).
A generator0 object represents a generator: vertex, ray, line, modular line, or modular ray. It stores and manages a linexpr0 (linear expression with scalar coefficients only), and a generator type (vertex, ray , etc).
◆ generator0() [1/6]
apron::generator0::generator0 |
( |
ap_generator0_t & | l | ) |
|
|
inlineprotected |
Internal use only. Performs a shallow copy and takes ownership of the contents.
◆ generator0() [2/6]
generator0::generator0 |
( |
ap_gentyp_t | gentyp = AP_GEN_RAY | ) |
|
|
inline |
Creates a new generator from an empty linear expression.
The linear expression is created sparse and empty (has_linexpr returns true).
gentyp
can be AP_GEN_LINE
, AP_GEN_RAY
, AP_GEN_VERTEX
, AP_GEN_LINEMOD
, or AP_GEN_RAYMOD
.
◆ generator0() [3/6]
generator0::generator0 |
( |
ap_gentyp_t | gentyp, |
|
|
const linexpr0 & | lin ) |
|
inline |
Creates a new generator constraint from a linear expression (copied).
gentyp
can be AP_GEN_LINE
, AP_GEN_RAY
, AP_GEN_VERTEX
, AP_GEN_LINEMOD
, or AP_GEN_RAYMOD
.
- Warning
lin
should have only scalar (non-interval) coefficients (unchecked).
◆ generator0() [4/6]
(Deep) copy of a generator.
◆ generator0() [5/6]
Makes a (deep) copy of a generator, and applies a dimension change to the underlying linear expression.
◆ generator0() [6/6]
Makes a (deep) copy of a generator, and applies a permutation to the underlying linear expression.
◆ ~generator0()
generator0::~generator0 |
( |
| ) |
|
|
inline |
Frees the generator, including the embedded linear expression.
◆ add_dimensions()
void generator0::add_dimensions |
( |
const dimchange & | d | ) |
|
|
inline |
Changes the dimension of the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
◆ get_ap_generator0_t() [1/2]
ap_generator0_t * generator0::get_ap_generator0_t |
( |
| ) |
|
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_ap_generator0_t() [2/2]
const ap_generator0_t * generator0::get_ap_generator0_t |
( |
| ) |
const |
|
inline |
Returns a pointer to the internal APRON object stored in *this.
◆ get_gentyp() [1/2]
ap_gentyp_t & generator0::get_gentyp |
( |
| ) |
|
|
inline |
Returns a (modifiable) reference to the constraint type.
- Returns
- either
AP_GEN_LINE
, AP_GEN_RAY
, AP_GEN_VERTEX
, AP_GEN_LINEMOD
, or AP_GEN_RAYMOD
.
◆ get_gentyp() [2/2]
const ap_gentyp_t & generator0::get_gentyp |
( |
| ) |
const |
|
inline |
Returns a reference to the constraint type.
- Returns
- either
AP_GEN_LINE
, AP_GEN_RAY
, AP_GEN_VERTEX
, AP_GEN_LINEMOD
, or AP_GEN_RAYMOD
.
◆ get_linexpr() [1/2]
Returns a (modifiable) reference to the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
◆ get_linexpr() [2/2]
const linexpr0 & generator0::get_linexpr |
( |
| ) |
const |
|
inline |
Returns a reference to the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
◆ has_linexpr()
bool generator0::has_linexpr |
( |
| ) |
const |
|
inline |
Returns whether the generator has a valid linear expression.
- Note
- The only way the linear expression may be invalid is when accessing fields of uninitialised (or enlarged) generator0_array.
◆ operator=()
◆ permute_dimensions()
void generator0::permute_dimensions |
( |
const dimperm & | d | ) |
|
|
inline |
Applies a permutation to the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
◆ print()
void generator0::print |
( |
char ** | name_of_dim = NULL, |
|
|
FILE * | stream = stdout ) const |
|
inline |
◆ resize()
void generator0::resize |
( |
size_t | size | ) |
|
|
inline |
Resizes the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
◆ set_linexpr()
void generator0::set_linexpr |
( |
const linexpr0 & | c | ) |
|
|
inline |
Sets the underlying linear expression to c (copied).
Does not fail as get_linexpr can: if the generator was created without an underlying expression, it is created.
- Warning
c
should have only scalar (non-interval) coefficients (unchecked).
◆ size()
size_t generator0::size |
( |
| ) |
const |
|
inline |
Returns the size of the underlying linear expression.
- Exceptions
-
std::invalid_argument | if no valid linear expression has been defined. |
ap_generator0_t apron::generator0::l |
|
protected |
Structure managed by APRON.
The documentation for this class was generated from the following files: