Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
 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";
     }
 }
Exemplo n.º 3
0
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();
}
Exemplo n.º 4
0
    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();
                }
            }
        }
    }
Exemplo n.º 5
0
static void collect() {
    std::for_each(g_datas.begin(), g_datas.end(), delete_proc<data>());
}
Exemplo n.º 6
0
 ~datatype_decl() {
     std::for_each(m_constructors.begin(), m_constructors.end(), delete_proc<constructor_decl>());
 }
Exemplo n.º 7
0
 ~constructor_decl() {
     std::for_each(m_accessors.begin(), m_accessors.end(), delete_proc<accessor_decl>());
 }