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: