PPL  1.2
Parma_Polyhedra_Library::Expression_Hide_Last< T > Class Template Reference

An adapter for Linear_Expression that maybe hides the last coefficient. More...

#include <Expression_Hide_Last_defs.hh>

Inheritance diagram for Parma_Polyhedra_Library::Expression_Hide_Last< T >:
Collaboration diagram for Parma_Polyhedra_Library::Expression_Hide_Last< T >:

Public Types

typedef Expression_Hide_Last< T > const_reference
 The type of this object. More...
 
typedef base_type::inner_type inner_type
 The type obtained by one-level unwrapping. More...
 
typedef base_type::raw_type raw_type
 The raw, completely unwrapped type. More...
 
typedef base_type::const_iterator const_iterator
 The type of const iterators on coefficients. More...
 
- Public Types inherited from Parma_Polyhedra_Library::Expression_Adapter< T >
typedef Expression_Adapter< T > const_reference
 The type of this object. More...
 
typedef T::const_reference inner_type
 The type obtained by one-level unwrapping. More...
 
typedef T::raw_type raw_type
 The raw, completely unwrapped type. More...
 
typedef raw_type::const_iterator const_iterator
 The type of const iterators on coefficients. More...
 

Public Member Functions

 Expression_Hide_Last (const raw_type &expr, bool hide_last)
 Constructor. More...
 
const_iterator end () const
 Iterator pointing after the last nonzero variable coefficient. More...
 
const_iterator lower_bound (Variable v) const
 
dimension_type space_dimension () const
 Returns the dimension of the vector space enclosing *this. More...
 
Coefficient_traits::const_reference coefficient (Variable v) const
 Returns the coefficient of v in *this. More...
 
bool is_zero () const
 Returns true if and only if *this is zero. More...
 
bool all_homogeneous_terms_are_zero () const
 Returns true if and only if all the homogeneous terms of *this are zero. More...
 
template<typename Expression >
bool is_equal_to (const Expression &y) const
 Returns true if *this is equal to y. More...
 
bool all_zeroes (const Variables_Set &vars) const
 Returns true if the coefficient of each variable in vars is zero. More...
 
Coefficient_traits::const_reference get (dimension_type i) const
 Returns the i -th coefficient. More...
 
Coefficient_traits::const_reference get (Variable v) const
 Returns the coefficient of variable v. More...
 
bool all_zeroes (dimension_type start, dimension_type end) const
 Returns true if (*this)[i] is zero, for each i in [start, end). More...
 
dimension_type num_zeroes (dimension_type start, dimension_type end) const
 Returns the number of zero coefficient in [start, end). More...
 
Coefficient gcd (dimension_type start, dimension_type end) const
 Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero. More...
 
dimension_type last_nonzero () const
 
dimension_type last_nonzero (dimension_type first, dimension_type last) const
 
dimension_type first_nonzero (dimension_type first, dimension_type last) const
 
bool all_zeroes_except (const Variables_Set &vars, dimension_type start, dimension_type end) const
 Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero. More...
 
void has_a_free_dimension_helper (std::set< dimension_type > &x) const
 Removes from set x all the indexes of nonzero elements in *this. More...
 
template<typename Expression >
bool is_equal_to (const Expression &y, dimension_type start, dimension_type end) const
 
template<typename Expression >
bool is_equal_to (const Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) const
 
void get_row (Dense_Row &r) const
 Sets r to a copy of the row as adapted by *this. More...
 
void get_row (Sparse_Row &r) const
 Sets r to a copy of the row as adapted by *this. More...
 
template<typename Expression >
bool have_a_common_variable (const Expression &y, Variable first, Variable last) const
 
- Public Member Functions inherited from Parma_Polyhedra_Library::Expression_Adapter< T >
inner_type inner () const
 Returns an adapter after one-level unwrapping. More...
 
Representation representation () const
 Returns the current representation of *this. More...
 
const_iterator begin () const
 Iterator pointing to the first nonzero variable coefficient. More...
 
const_iterator end () const
 Iterator pointing after the last nonzero variable coefficient. More...
 
const_iterator lower_bound (Variable v) const
 
dimension_type space_dimension () const
 Returns the dimension of the vector space enclosing *this. More...
 
Coefficient_traits::const_reference coefficient (Variable v) const
 Returns the coefficient of v in *this. More...
 
Coefficient_traits::const_reference inhomogeneous_term () const
 Returns the inhomogeneous term of *this. More...
 
bool is_zero () const
 Returns true if and only if *this is zero. More...
 
bool all_homogeneous_terms_are_zero () const
 Returns true if and only if all the homogeneous terms of *this are zero. More...
 
template<typename Expression >
bool is_equal_to (const Expression &y) const
 Returns true if *this is equal to y. More...
 
bool all_zeroes (const Variables_Set &vars) const
 Returns true if the coefficient of each variable in vars is zero. More...
 
Coefficient_traits::const_reference get (dimension_type i) const
 Returns the i -th coefficient. More...
 
Coefficient_traits::const_reference get (Variable v) const
 Returns the coefficient of variable v. More...
 
bool all_zeroes (dimension_type start, dimension_type end) const
 Returns true if (*this)[i] is zero, for each i in [start, end). More...
 
dimension_type num_zeroes (dimension_type start, dimension_type end) const
 Returns the number of zero coefficient in [start, end). More...
 
Coefficient gcd (dimension_type start, dimension_type end) const
 Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero. More...
 
dimension_type last_nonzero () const
 
dimension_type last_nonzero (dimension_type first, dimension_type last) const
 
dimension_type first_nonzero (dimension_type first, dimension_type last) const
 
bool all_zeroes_except (const Variables_Set &vars, dimension_type start, dimension_type end) const
 Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero. More...
 
void has_a_free_dimension_helper (std::set< dimension_type > &x) const
 Removes from set x all the indexes of nonzero elements in *this. More...
 
template<typename Expression >
bool is_equal_to (const Expression &y, dimension_type start, dimension_type end) const
 
template<typename Expression >
bool is_equal_to (const Expression &y, Coefficient_traits::const_reference c1, Coefficient_traits::const_reference c2, dimension_type start, dimension_type end) const
 
void get_row (Dense_Row &r) const
 Sets r to a copy of the row as adapted by *this. More...
 
void get_row (Sparse_Row &r) const
 Sets r to a copy of the row as adapted by *this. More...
 
template<typename Expression >
bool have_a_common_variable (const Expression &y, Variable first, Variable last) const
 

Private Types

typedef Expression_Adapter< T > base_type
 

Private Attributes

const bool hide_last_
 Whether or not the last coefficient is hidden. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Parma_Polyhedra_Library::Expression_Adapter< T >
 Expression_Adapter (const raw_type &expr)
 Constructor. More...
 
- Protected Attributes inherited from Parma_Polyhedra_Library::Expression_Adapter< T >
const raw_typeraw_
 The raw, completely unwrapped object subject to adaptation. More...
 

Detailed Description

template<typename T>
class Parma_Polyhedra_Library::Expression_Hide_Last< T >

An adapter for Linear_Expression that maybe hides the last coefficient.

Definition at line 37 of file Expression_Hide_Last_defs.hh.

Member Typedef Documentation

template<typename T>
typedef Expression_Adapter<T> Parma_Polyhedra_Library::Expression_Hide_Last< T >::base_type
private

Definition at line 39 of file Expression_Hide_Last_defs.hh.

The type of const iterators on coefficients.

Definition at line 49 of file Expression_Hide_Last_defs.hh.

The type of this object.

Definition at line 42 of file Expression_Hide_Last_defs.hh.

The type obtained by one-level unwrapping.

Definition at line 44 of file Expression_Hide_Last_defs.hh.

The raw, completely unwrapped type.

Definition at line 46 of file Expression_Hide_Last_defs.hh.

Constructor & Destructor Documentation

template<typename T >
Parma_Polyhedra_Library::Expression_Hide_Last< T >::Expression_Hide_Last ( const raw_type expr,
bool  hide_last 
)
inlineexplicit

Constructor.

Definition at line 33 of file Expression_Hide_Last_inlines.hh.

35  : base_type(expr), hide_last_(hide_last) {
36 }
const bool hide_last_
Whether or not the last coefficient is hidden.

Member Function Documentation

template<typename T >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::all_homogeneous_terms_are_zero ( ) const
inline

Returns true if and only if all the homogeneous terms of *this are zero.

Definition at line 82 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::Polyhedron::is_universe(), Parma_Polyhedra_Library::Polyhedron::strongly_minimize_constraints(), and Parma_Polyhedra_Library::Polyhedron::time_elapse_assign().

82  {
83  return this->inner().all_zeroes(1, space_dimension() + 1);
84 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::all_zeroes ( const Variables_Set vars) const
inline
template<typename T >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::all_zeroes ( dimension_type  start,
dimension_type  end 
) const
inline

Returns true if (*this)[i] is zero, for each i in [start, end).

Definition at line 122 of file Expression_Hide_Last_inlines.hh.

123  {
124  PPL_ASSERT(end <= space_dimension() + 1);
125  return this->inner().all_zeroes(start, end);
126 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::all_zeroes_except ( const Variables_Set vars,
dimension_type  start,
dimension_type  end 
) const
inline

Returns true if all coefficients in [start,end), except those corresponding to variables in vars, are zero.

Definition at line 169 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::PIP_Problem::solve().

170  {
171  PPL_ASSERT(end <= space_dimension() + 1);
172  return this->inner().all_zeroes_except(vars, start, end);
173 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
Coefficient_traits::const_reference Parma_Polyhedra_Library::Expression_Hide_Last< T >::coefficient ( Variable  v) const
inline

Returns the coefficient of v in *this.

Definition at line 69 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Variable::space_dimension().

69  {
70  PPL_ASSERT(v.space_dimension() <= space_dimension());
71  return this->inner().coefficient(v);
72 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
Expression_Hide_Last< T >::const_iterator Parma_Polyhedra_Library::Expression_Hide_Last< T >::end ( ) const
inline

Iterator pointing after the last nonzero variable coefficient.

Definition at line 51 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::BD_Shape< T >::BD_Shape(), Parma_Polyhedra_Library::Box< ITV >::Box(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR_original(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_systems_MS(), Parma_Polyhedra_Library::Grid::map_space_dimensions(), Parma_Polyhedra_Library::Polyhedron::map_space_dimensions(), Parma_Polyhedra_Library::Constraint::operator<<(), Parma_Polyhedra_Library::MIP_Problem::process_pending_constraints(), Parma_Polyhedra_Library::Box< ITV >::relation_with(), and Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau().

51  {
52  if (hide_last_) {
53  return this->inner().lower_bound(Variable(space_dimension()));
54  }
55  else {
56  return this->inner().end();
57  }
58 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
const bool hide_last_
Whether or not the last coefficient is hidden.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
dimension_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::first_nonzero ( dimension_type  first,
dimension_type  last 
) const
inline

Returns the index of the first nonzero element, or last if there are no nonzero elements, considering only elements in [first,last).

Definition at line 160 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference(), Parma_Polyhedra_Library::Box_Helpers::extract_interval_constraint(), Parma_Polyhedra_Library::Octagonal_Shape< T >::extract_octagonal_difference(), and Parma_Polyhedra_Library::MIP_Problem::parse_constraints().

161  {
162  PPL_ASSERT(last <= space_dimension() + 1);
163  return this->inner().first_nonzero(first, last);
164 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
Coefficient Parma_Polyhedra_Library::Expression_Hide_Last< T >::gcd ( dimension_type  start,
dimension_type  end 
) const
inline

Returns the gcd of the nonzero coefficients in [start,end). Returns zero if all the coefficients in the range are zero.

Definition at line 138 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::Polyhedron::contains_integer_point(), and Parma_Polyhedra_Library::Polyhedron::drop_some_non_integer_points().

139  {
140  PPL_ASSERT(end <= space_dimension() + 1);
141  return this->inner().gcd(start, end);
142 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
Coefficient_traits::const_reference Parma_Polyhedra_Library::Expression_Hide_Last< T >::get ( dimension_type  i) const
inline

Returns the i -th coefficient.

Definition at line 108 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::BD_Shape< T >::BD_Shape(), and Parma_Polyhedra_Library::BD_Shape< T >::extract_bounded_difference().

108  {
109  PPL_ASSERT(i <= space_dimension());
110  return this->inner().get(i);
111 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
Coefficient_traits::const_reference Parma_Polyhedra_Library::Expression_Hide_Last< T >::get ( Variable  v) const
inline

Returns the coefficient of variable v.

Definition at line 115 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Variable::space_dimension().

115  {
116  PPL_ASSERT(v.space_dimension() <= space_dimension());
117  return this->inner().get(v);
118 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
void Parma_Polyhedra_Library::Expression_Hide_Last< T >::get_row ( Dense_Row r) const
inline

Sets r to a copy of the row as adapted by *this.

Definition at line 212 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Dense_Row::resize(), and Parma_Polyhedra_Library::Dense_Row::size().

212  {
213  this->inner().get_row(r);
214  if (hide_last_) {
215  PPL_ASSERT(r.size() != 0);
216  r.resize(r.size() - 1);
217  }
218 }
const bool hide_last_
Whether or not the last coefficient is hidden.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
void Parma_Polyhedra_Library::Expression_Hide_Last< T >::get_row ( Sparse_Row r) const
inline

Sets r to a copy of the row as adapted by *this.

Definition at line 222 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Sparse_Row::resize(), and Parma_Polyhedra_Library::Sparse_Row::size().

222  {
223  this->inner().get_row(r);
224  if (hide_last_) {
225  PPL_ASSERT(r.size() != 0);
226  r.resize(r.size() - 1);
227  }
228 }
const bool hide_last_
Whether or not the last coefficient is hidden.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
void Parma_Polyhedra_Library::Expression_Hide_Last< T >::has_a_free_dimension_helper ( std::set< dimension_type > &  x) const
inline

Removes from set x all the indexes of nonzero elements in *this.

Definition at line 178 of file Expression_Hide_Last_inlines.hh.

178  {
179  if (x.empty()) {
180  return;
181  }
182  PPL_ASSERT(*(--x.end()) <= space_dimension());
183  this->inner().has_a_free_dimension_helper(x);
184 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
template<typename Expression >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::have_a_common_variable ( const Expression &  y,
Variable  first,
Variable  last 
) const
inline

Returns true if there is a variable in [first,last) whose coefficient is nonzero in both *this and y.

Definition at line 234 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Variable::space_dimension().

235  {
236  PPL_ASSERT(last.space_dimension() <= space_dimension() + 1);
237  PPL_ASSERT(last.space_dimension() <= y.space_dimension() + 1);
238  return this->inner().have_a_common_variable(y, first, last);
239 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
template<typename Expression >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::is_equal_to ( const Expression &  y) const
inline

Returns true if *this is equal to y.

Note that (*this == y) has a completely different meaning.

Definition at line 90 of file Expression_Hide_Last_inlines.hh.

90  {
91  const dimension_type x_dim = space_dimension();
92  const dimension_type y_dim = y.space_dimension();
93  if (x_dim != y_dim) {
94  return false;
95  }
96  return is_equal_to(y, 0, x_dim + 1);
97 }
size_t dimension_type
An unsigned integral type for representing space dimensions.
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
bool is_equal_to(const Expression &y) const
Returns true if *this is equal to y.
template<typename T >
template<typename Expression >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::is_equal_to ( const Expression &  y,
dimension_type  start,
dimension_type  end 
) const
inline

Returns true if (*this)[i] is equal to y[i], for each i in [start,end).

Definition at line 190 of file Expression_Hide_Last_inlines.hh.

191  {
192  PPL_ASSERT(end <= space_dimension() + 1);
193  PPL_ASSERT(end <= y.space_dimension() + 1);
194  return this->inner().is_equal_to(y, start, end);
195 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
template<typename Expression >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::is_equal_to ( const Expression &  y,
Coefficient_traits::const_reference  c1,
Coefficient_traits::const_reference  c2,
dimension_type  start,
dimension_type  end 
) const
inline

Returns true if (*this)[i]*c1 is equal to y[i]*c2, for each i in [start,end).

Definition at line 201 of file Expression_Hide_Last_inlines.hh.

204  {
205  PPL_ASSERT(end <= space_dimension() + 1);
206  PPL_ASSERT(end <= y.space_dimension() + 1);
207  return this->inner().is_equal_to(y, c1, c2, start, end);
208 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::is_zero ( ) const
inline

Returns true if and only if *this is zero.

Definition at line 76 of file Expression_Hide_Last_inlines.hh.

76  {
77  return this->inner().all_zeroes(0, space_dimension() + 1);
78 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
dimension_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::last_nonzero ( ) const
inline

Returns the index of the last nonzero element, or zero if there are no nonzero elements.

Definition at line 146 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check().

146  {
147  return this->inner().last_nonzero(0, space_dimension() + 1);
148 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
dimension_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::last_nonzero ( dimension_type  first,
dimension_type  last 
) const
inline

Returns the index of the last nonzero element in [first,last), or last if there are no nonzero elements.

Definition at line 152 of file Expression_Hide_Last_inlines.hh.

153  {
154  PPL_ASSERT(last <= space_dimension() + 1);
155  return this->inner().last_nonzero(first, last);
156 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
Expression_Hide_Last< T >::const_iterator Parma_Polyhedra_Library::Expression_Hide_Last< T >::lower_bound ( Variable  v) const
inline

Iterator pointing to the first nonzero variable coefficient of a variable bigger than or equal to v.

Definition at line 62 of file Expression_Hide_Last_inlines.hh.

References Parma_Polyhedra_Library::Variable::space_dimension().

Referenced by Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR(), Parma_Polyhedra_Library::Implementation::Termination::fill_constraint_system_PR_original(), and Parma_Polyhedra_Library::Box< ITV >::propagate_constraint_no_check().

62  {
63  PPL_ASSERT(v.space_dimension() <= space_dimension() + 1);
64  return this->inner().lower_bound(v);
65 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
template<typename T >
dimension_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::num_zeroes ( dimension_type  start,
dimension_type  end 
) const
inline

Returns the number of zero coefficient in [start, end).

Definition at line 130 of file Expression_Hide_Last_inlines.hh.

131  {
132  PPL_ASSERT(end <= space_dimension() + 1);
133  return this->inner().num_zeroes(start, end);
134 }
dimension_type space_dimension() const
Returns the dimension of the vector space enclosing *this.
inner_type inner() const
Returns an adapter after one-level unwrapping.
const_iterator end() const
Iterator pointing after the last nonzero variable coefficient.
template<typename T >
dimension_type Parma_Polyhedra_Library::Expression_Hide_Last< T >::space_dimension ( ) const
inline

Returns the dimension of the vector space enclosing *this.

Definition at line 40 of file Expression_Hide_Last_inlines.hh.

Referenced by Parma_Polyhedra_Library::Constraint::space_dimension(), Parma_Polyhedra_Library::Grid_Generator::space_dimension(), Parma_Polyhedra_Library::Generator::space_dimension(), and Parma_Polyhedra_Library::PIP_Solution_Node::update_tableau().

40  {
41  dimension_type dim = this->inner().space_dimension();
42  if (hide_last_) {
43  PPL_ASSERT(dim > 0);
44  --dim;
45  }
46  return dim;
47 }
size_t dimension_type
An unsigned integral type for representing space dimensions.
const bool hide_last_
Whether or not the last coefficient is hidden.
inner_type inner() const
Returns an adapter after one-level unwrapping.

Member Data Documentation

template<typename T>
const bool Parma_Polyhedra_Library::Expression_Hide_Last< T >::hide_last_
private

Whether or not the last coefficient is hidden.

Definition at line 160 of file Expression_Hide_Last_defs.hh.


The documentation for this class was generated from the following files: