New plugins system
[opsoft.git] / gclib2 / modules / Core / elist.h
bloba6ceb9ff3a2e132d847060ca4820bea6c4dd8aa0
1 /*
2 * (c) Oleg Puchinin 2006
3 * graycardinalster@gmail.com
5 */
7 #ifndef DEFINE_ELIST_H
8 #define DEFINE_ELIST_H
10 #ifdef __cplusplus
11 class EList;
13 /// Класс - список.
14 class EList : public DList
16 public:
17 EList ();
18 ~EList ();
20 char * get ();
21 char * first ();
22 char * last ();
23 char * next ();
24 char * prev ();
25 char * rm ();
27 // v2.2
28 char * get_first ();
29 char * get_last ();
30 char * add_before (char * S);
31 char * add_after (char * S);
32 char * shift ();
33 char * unshift (char * S);
34 char * push (char *S);
35 char * pop ();
36 void dump ();
37 void bdump ();
38 __dlist_entry_t * get_entry ();
39 EArray * toArray ();
40 /**/
42 bool eol ();
43 inline char * add (char *S) {
44 return add_tail (S);
46 EList & operator << (char *);
47 char * operator [] (int offset);
48 EList & operator = (EList &);
49 bool operator == (EList &);
50 bool operator != (EList &);
51 EList & operator + (EList & l);
53 private:
54 __dlist_entry_t * pos;
56 #endif
58 #endif