56 #ifndef BlockDegRevLexAscOrder_h_
57 #define BlockDegRevLexAscOrder_h_
88 enum { order_code = CTypes::block_dp_asc, baseorder_code = CTypes::dp_asc };
92 m_indices.push_back(0);
93 m_indices.push_back(CTypes::max_idx);
106 comp_type compare(
const monom_type&,
const monom_type&)
const;
109 comp_type compare(
const exp_type&,
const exp_type&)
const;
112 monom_type lead(
const poly_type&)
const;
115 monom_type lead(
const poly_type& poly, size_type)
const;
118 exp_type leadExp(
const poly_type&)
const;
121 exp_type leadExp(
const poly_type&, size_type)
const;
124 indirect_iterator leadIteratorBegin(
const poly_type&)
const;
125 indirect_iterator leadIteratorEnd()
const;
126 indirect_exp_iterator leadExpIteratorBegin(
const poly_type&)
const;
127 indirect_exp_iterator leadExpIteratorEnd()
const;
131 block_iterator
blockBegin()
const {
return m_indices.begin() + 1; }
132 block_iterator
blockEnd()
const {
return m_indices.end(); }
134 m_indices.back() = idx;
135 m_indices.push_back(CTypes::max_idx);
139 m_indices.push_back(0);
140 m_indices.push_back(CTypes::max_idx);
145 block_idx_type m_indices;
151 #endif // BlockDegRevLexAscOrder_h_