class VOID_SLLIST : public VOID_LIST_CORE{
friend class VOID_SL_CELL;
friend class VOIDSLLISTFIter;
public:
VOID_SLLIST(ACCESS_VOID *element_access_in);
VOID_SLLIST(VOID_SLLIST&);
~VOID_SLLIST();
VOID_SLLIST& operator=(const VOID_SLLIST&);
// agents
int is_empty(){return(head==NULL);};
void delete_element(Arbent target_key);
void search_element(Arbent search_key);
//Arbent build_list(VOID_VECTOR& A);
int get_number_elements();
void insert_after(Arbent before_element,Arbent new_element);
void insert_before(Arbent after_element,Arbent new_element);
void mergesort();
istream& grab(istream& in);
ostream& print(ostream& out) const;
protected:
VOID_SL_CELL *head;
VOID_SL_CELL* get_element_address(Arbent search_key);
VOID_SL_CELL* get_before_element_address(Arbent search_key);
VOID_SL_CELL* get_after_element_address(Arbent search_key);
};