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). 
- gentypcan 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). 
- gentypcan be- AP_GEN_LINE,- AP_GEN_RAY,- AP_GEN_VERTEX,- AP_GEN_LINEMOD, or- AP_GEN_RAYMOD.
- Warning
- linshould 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, orAP_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, orAP_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
- cshould 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: