31.01.2014 Views

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

Version 5.0 The LEDA User Manual

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

18.2.3 Sorted Sequences<br />

Any class seq impl that provides the following operations can be used as actual implementation<br />

parameter for the sortseq< K,I,seq impl> data type (cf. section 7.8).<br />

class seq_impl {<br />

virtual int cmp(GenPtr, GenPtr) const = 0;<br />

virtual int int_type() const = 0;<br />

virtual void clear_key(GenPtr&) const = 0;<br />

virtual void clear_inf(GenPtr&) const = 0;<br />

virtual void copy_key(GenPtr&) const = 0;<br />

virtual void copy_inf(GenPtr&) const = 0;<br />

public:<br />

typedef ... item;<br />

seq_impl();<br />

seq_impl(const seq_impl&);<br />

virtual ~seq_impl();<br />

seq_impl& operator=(const seq_impl&);<br />

seq_impl& conc(seq_impl&);<br />

seq_impl_item insert(GenPtr,GenPtr);<br />

seq_impl_item insert_at_item(seq_impl_item,GenPtr,GenPtr);<br />

seq_impl_item lookup(GenPtr) const;<br />

seq_impl_item locate(GenPtr) const;<br />

seq_impl_item locate_pred(GenPtr) const;<br />

seq_impl_item succ(seq_impl_item) const;<br />

seq_impl_item pred(seq_impl_item) const;<br />

seq_impl_item item(void* p) const<br />

{ return seq_impl_item(p); }<br />

GenPtr key(seq_impl_item) const;<br />

GenPtr inf(seq_impl_item) const;<br />

void del(GenPtr);<br />

void del_item(seq_impl_item);<br />

void change_inf(seq_impl_item,GenPtr);<br />

void split_at_item(seq_impl_item,seq_impl&,seq_impl&);<br />

void reverse_items(seq_impl_item,seq_impl_item);<br />

void clear();<br />

int size() const;<br />

};

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!