Listing 2: Routine to update arcs upon node insertion

void _patch_arcs_insert(node_iterator it, size_type n)
    { 
        size_type base = it - begin_nodes();
        // arcs incident to node >= base need to be inc'd by n
        arc_iterator ait(begin_arcs());
        while( !(ait==end_arcs()) )
        {
            if( (*ait._Myit()).source_node >= base )
                (*ait._Myit()).source_node += n;
            if( (*ait._Myit()).destin_node >= base )
                (*ait._Myit()).destin_node += n;
            ait++;
        }
    }
//End of File