#include "treeprop.h" Ar_Vertex_list* Ar_Vertex_list::arsize_insert( Ar_Vertex* arv ) { DEM_TRACE("Ar_Vertex_list","Ar_Vertex_list* Ar_Vertex_list::arsize_insert(Ar_Vertex* arv)"); Ar_Vertex_list* return_val = new Ar_Vertex_list ; this->arsize_insert_( return_val, arv ); return return_val; } // Ar_Vertex = Vertex // Vertex_comma_list // Vertex . void Ar_Vertex::arsize_insert_( Ar_Vertex_list* & return_val, Ar_Vertex* arv, int ar_size,int& added ) { DEM_TRACE("Ar_Vertex","void Ar_Vertex::arsize_insert_(Ar_Vertex_list* & return_val,Ar_Vertex* arv,int ar_size,int& added)"); // variables for carrying in and out // assignments for carrying in // prefix class wrappers if (!added) { if (ar_size >= this->ar->list_length()) { return_val->append(arv); added = 1; } } return_val->append(this); // outgoing calls // suffix class wrappers // assignments for carrying out } // Ar_Vertex_list ~ { Ar_Vertex }. . void Ar_Vertex_list::arsize_insert_( Ar_Vertex_list* & return_val, Ar_Vertex* arv ) { DEM_TRACE("Ar_Vertex_list","void Ar_Vertex_list::arsize_insert_(Ar_Vertex_list* & return_val,Ar_Vertex* arv)"); // variables for carrying in and out int ar_size = (arv->get_ar_set())->list_length() ; int added = 0 ; // assignments for carrying in // prefix class wrappers // outgoing calls Ar_Vertex_list_iterator next_Ar_Vertex(*this); Ar_Vertex* each_Ar_Vertex; while ( each_Ar_Vertex = next_Ar_Vertex() ) { // repetition edge prefix wrappers each_Ar_Vertex->arsize_insert_( return_val, arv , ar_size , added ); // repetition edge suffix wrappers } // suffix class wrappers if (!added) return_val->append(arv); // assignments for carrying out }