24 #ifndef PPL_Grid_Generator_System_inlines_hh
25 #define PPL_Grid_Generator_System_inlines_hh 1
38 sys.unset_pending_rows();
43 sys.set_index_first_pending_row(i);
49 return sys.permute_space_dimensions(cycle);
60 sys.set_sorted(
false);
79 sys.set_space_dimension(dim);
80 sys.set_sorted(
false);
89 sys.set_sorted(
false);
105 return sys.representation();
110 sys.set_representation(r);
121 return sys.space_dimension();
133 sys.set_sorted(
false);
134 sys.unset_pending_rows();
145 return sys.external_memory_in_bytes();
155 return sys.num_rows();
185 return i.operator->();
215 return sys.has_no_rows();
241 return sys.has_no_rows();
246 sys.remove_trailing_rows(n);
256 return sys.topology();
261 return sys.first_pending_row();
279 #endif // !defined(PPL_Grid_Generator_System_inlines_hh)
static const Grid_Generator_System * zero_dim_univ_p
Holds (between class initialization and finalization) a pointer to the singleton system containing on...
bool operator==(const Grid_Generator_System &x, const Grid_Generator_System &y)
Representation representation() const
Returns the current representation of *this.
bool operator==(const const_iterator &y) const
Returns true if and only if *this and y are identical.
size_t dimension_type
An unsigned integral type for representing space dimensions.
bool empty() const
Returns true if and only if *this has no generators.
void permute_space_dimensions(const std::vector< Variable > &cycle)
Permutes the space dimensions of the matrix.
Linear_System< Grid_Generator > sys
const_iterator end() const
Returns the past-the-end const_iterator.
bool operator!=(const const_iterator &y) const
Returns true if and only if *this and y are different.
bool is_equal_to(const Grid_Generator_System &y) const
Returns true if *this is identical to y.
void clear()
Removes all the generators from the generator system and sets its space dimension to 0...
const_iterator begin() const
Returns the const_iterator pointing to the first generator, if this is not empty; otherwise...
~const_iterator()
Destructor.
const Grid_Generator & operator*() const
Dereference operator.
void set_representation(Representation r)
Converts *this to the specified representation.
void m_swap(Grid_Generator_System &y)
Swaps *this with y.
static dimension_type max_space_dimension()
Returns the maximum space dimension a Grid_Generator_System can handle.
const_iterator & operator=(const const_iterator &y)
Assignment operator.
memory_size_type external_memory_in_bytes() const
Returns the size in bytes of the memory managed by *this.
const_iterator()
Default constructor.
~Grid_Generator_System()
Destructor.
const_iterator & operator++()
Prefix increment operator.
An iterator over a system of grid generators.
dimension_type first_pending_row() const
Returns the index of the first pending row.
const Grid_Generator & operator[](dimension_type k) const
Returns a constant reference to the k- th generator of the system.
const Grid_Generator * operator->() const
Indirect member selector.
Swapping_Vector< Row >::const_iterator const_iterator
void set_sorted(bool b)
Sets the sortedness flag of the system to b.
Topology topology() const
Returns the system topology.
void insert_verbatim(const Grid_Generator &g)
void swap(Grid_Generator_System &x, Grid_Generator_System &y)
Swaps x with y.
void unset_pending_rows()
Sets the index to indicate that the system has no pending rows.
The entire library is confined to this namespace.
dimension_type num_rows() const
Returns the number of rows (generators) in the system.
static const Grid_Generator_System & zero_dim_univ()
Returns the singleton system containing only Grid_Generator::zero_dim_point().
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
static dimension_type max_space_dimension()
Returns the maximum space dimension a Linear_System can handle.
void set_index_first_pending_row(dimension_type i)
Sets the index of the first pending row to i.
Grid_Generator_System(Representation r=default_representation)
Default constructor: builds an empty system of generators.
size_t memory_size_type
An unsigned integral type for representing memory size in bytes.
Linear_System< Grid_Generator >::const_iterator i
memory_size_type total_memory_in_bytes() const
Returns the total size in bytes of the memory occupied by *this.
void remove_trailing_rows(dimension_type n)
Makes the system shrink by removing its n trailing rows.
A grid line, parameter or grid point.
Topology
Kinds of polyhedra domains.
Grid_Generator_System & operator=(const Grid_Generator_System &y)
Assignment operator.
A system of grid generators.