next up previous contents
Next: The Child SLLIST: Up: A Specific List Class: Previous: The Child DL_CELL Class:

The LIST_CORE Class:

class DOUBLE_LIST_CORE{
    friend class DOUBLE_CELL_CORE;
    friend istream& operator>>(istream& in,DOUBLE_LIST_CORE& A)
      {A.grab(in); return(in);};
    friend istream& operator>>(istream& in,DOUBLE_LIST_CORE* A)
      {A->grab(in); return(in);};
    friend ostream& operator<<(ostream& out,const DOUBLE_LIST_CORE& A)
      {A.print(out); return(out);};
    friend ostream& operator<<(ostream& out,const DOUBLE_LIST_CORE* A)
      {A->print(out); return(out);};
  public:
    virtual int is_empty() = 0;
    virtual void delete_element(DOUBLE target_key) = 0;
    virtual void search_element(DOUBLE search_key) = 0;
    virtual void build_list(DOUBLE *A,int size) = 0;
    virtual int get_number_elements() = 0;
    virtual void insert_after(DOUBLE before,DOUBLE after) = 0;
    virtual void insert_before(DOUBLE after,DOUBLE before) = 0;
    virtual istream& grab(istream& in) = 0;
    virtual ostream& print(ostream& out) const = 0;
  protected:
    char *name;    
  };



Jim Peterson
1999-05-17