Puma::CT_List Class Reference
#include <Puma/CTree.h>
List of all members.
Detailed Description
Base class for tree nodes representing lists.
|
Public Types |
enum | {
OPEN = 1,
CLOSE = 2,
OPEN_CLOSE = 3,
SEPARATORS = 4,
FORCE_EMPTY = 8,
END_SEP = 16,
NO_LAST_SEP = 32,
INTRO = 64
} |
Public Member Functions |
int | Entries () const |
CTree * | Entry (int n) const |
int | Sons () const |
CTree * | Son (int n) const |
int | GetProperties () const |
void | AddProperties (int p) |
void | AddSon (CTree *s) |
void | PrefixSon (CTree *s) |
void | InsertSon (CTree *before, CTree *son) |
void | ReplaceSon (CTree *old_son, CTree *new_son) |
void | RemoveSon (CTree *son) |
void | InsertSon (int idx, CTree *s) |
void | ReplaceSon (int idx, CTree *s) |
void | RemoveSon (int idx) |
Protected Member Functions |
| CT_List (int size=5, int incr=5, int props=0) |
Member Enumeration Documentation
List properties.
- Enumerator:
-
OPEN |
|
CLOSE |
List has a start token, like ':' in ":a(1),b(2)" |
OPEN_CLOSE |
List has an end token |
SEPARATORS |
List has opening and closing delimiters, like '(' and ')' |
FORCE_EMPTY |
List has separators, like ',' |
END_SEP |
List pretend to be empty, e.g. for "(void)" |
NO_LAST_SEP |
List has trailing separator, e.g. "a,b,c," |
INTRO |
List has no separator before last element, e.g. "(a,b...)" |
Constructor & Destructor Documentation
Puma::CT_List::CT_List |
( |
int |
size = 5 , |
|
|
int |
incr = 5 , |
|
|
int |
props = 0 | |
|
) |
| | [inline, protected] |
Constructor.
- Parameters:
-
| size | The initial list size. |
| incr | The initial increment count. |
| props | The list properties (bit array). |
Member Function Documentation
int Puma::CT_List::Entries |
( |
|
) |
const |
Get the number of list entries.
CTree* Puma::CT_List::Entry |
( |
int |
n |
) |
const |
Get the n-th list entry.
- Parameters:
-
| n | The index of the entry. |
- Returns:
- The list entry or NULL.
int Puma::CT_List::Sons |
( |
|
) |
const [inline, virtual] |
CTree* Puma::CT_List::Son |
( |
int |
n |
) |
const [inline, virtual] |
int Puma::CT_List::GetProperties |
( |
|
) |
const [inline] |
void Puma::CT_List::AddProperties |
( |
int |
p |
) |
[inline] |
Add a list property.
- Parameters:
-
void Puma::CT_List::AddSon |
( |
CTree * |
s |
) |
[inline] |
void Puma::CT_List::PrefixSon |
( |
CTree * |
s |
) |
[inline] |
Prepend a son.
- Parameters:
-
void Puma::CT_List::InsertSon |
( |
CTree * |
before, |
|
|
CTree * |
son | |
|
) |
| | |
Insert a son before another son.
- Parameters:
-
| before | The son to insert the new son before. |
| son | The son to insert. |
void Puma::CT_List::ReplaceSon |
( |
CTree * |
old_son, |
|
|
CTree * |
new_son | |
|
) |
| | [virtual] |
Replace a son.
- Parameters:
-
| old_son | The son to replace. |
| new_son | The new son. |
Reimplemented from Puma::CTree.
void Puma::CT_List::RemoveSon |
( |
CTree * |
son |
) |
|
Remove a son.
- Parameters:
-
void Puma::CT_List::InsertSon |
( |
int |
idx, |
|
|
CTree * |
s | |
|
) |
| | [inline] |
Insert a son at the given index.
- Parameters:
-
| idx | The index at which to insert. |
| s | The son to insert. |
void Puma::CT_List::ReplaceSon |
( |
int |
idx, |
|
|
CTree * |
s | |
|
) |
| | [inline] |
Replace the son at the given index.
- Parameters:
-
| idx | The index of the son to replace. |
| s | The new son. |
void Puma::CT_List::RemoveSon |
( |
int |
idx |
) |
[inline] |
Remove the son at the given index.
- Parameters:
-
| idx | The index of the son to remove. |