void dealloc_ptr_vector_content(ptr_vector<relation_base> & v) { ptr_vector<relation_base>::iterator it = v.begin(); ptr_vector<relation_base>::iterator end = v.end(); for(; it!=end; ++it) { (*it)->deallocate(); } }
void context::display_clauses(std::ostream & out, ptr_vector<clause> const & v) const { ptr_vector<clause>::const_iterator it = v.begin(); ptr_vector<clause>::const_iterator end = v.end(); for (; it != end; ++it) { display_clause(out, *it); out << "\n"; } }
void grobner::del_monomials(ptr_vector<monomial>& ms) { ptr_vector<monomial>::iterator it = ms.begin(); ptr_vector<monomial>::iterator end = ms.end(); for (; it != end; ++it) { del_monomial(*it); } ms.reset(); }
void product_relation_plugin::get_common_spec(const ptr_vector<const product_relation> & rels, rel_spec & res) { vector<rel_spec> specs; ptr_vector<const product_relation>::const_iterator rit = rels.begin(); ptr_vector<const product_relation>::const_iterator rend = rels.end(); for(; rit!=rend; ++rit) { specs.push_back((*rit)->m_spec); } vector<rel_spec>::iterator sit = specs.begin(); vector<rel_spec>::iterator send = specs.end(); for(; sit!=send; ++sit) { rel_spec & s = *sit; std::sort(s.begin(), s.end()); } res.reset(); for(;;) { family_id next = -1; sit = specs.begin(); for(; sit!=send; ++sit) { rel_spec & s = *sit; if(!s.empty() && s.back()>next) { next = s.back(); } } if(next==-1) { //we're done break; } res.push_back(next); sit = specs.begin(); for(; sit!=send; ++sit) { rel_spec & s = *sit; if(!s.empty() && s.back()==next) { s.pop_back(); } } } }
static void collect() { std::for_each(g_datas.begin(), g_datas.end(), delete_proc<data>()); }
~datatype_decl() { std::for_each(m_constructors.begin(), m_constructors.end(), delete_proc<constructor_decl>()); }
~constructor_decl() { std::for_each(m_accessors.begin(), m_accessors.end(), delete_proc<accessor_decl>()); }