47 #ifndef BlockDegLexOrder_h_
48 #define BlockDegLexOrder_h_
79 enum { order_code = CTypes::block_dlex, baseorder_code = CTypes::dlex };
83 m_indices.push_back(0);
84 m_indices.push_back(CTypes::max_idx);
97 comp_type compare(
const monom_type&,
const monom_type&)
const;
100 comp_type compare(
const exp_type&,
const exp_type&)
const;
103 monom_type lead(
const poly_type&)
const;
106 monom_type lead(
const poly_type& poly, size_type)
const;
109 exp_type leadExp(
const poly_type&)
const;
112 exp_type leadExp(
const poly_type&, size_type)
const;
115 indirect_iterator leadIteratorBegin(
const poly_type&)
const;
116 indirect_iterator leadIteratorEnd()
const;
117 indirect_exp_iterator leadExpIteratorBegin(
const poly_type&)
const;
118 indirect_exp_iterator leadExpIteratorEnd()
const;
122 block_iterator
blockBegin()
const {
return m_indices.begin() + 1; }
123 block_iterator
blockEnd()
const {
return m_indices.end(); }
125 m_indices.back() = idx;
126 m_indices.push_back(CTypes::max_idx);
130 m_indices.push_back(0);
131 m_indices.push_back(CTypes::max_idx);
136 block_idx_type m_indices;
142 #endif // BlockDegLexOrder_h_