
Заготовки по С / Динамические структуры / GDSL / Документация
.pdf
|
4.3 Low-level doubly-linked list manipulation module |
47 |
||
|
See also: |
|
|
|
|
gdsl_list_map ba kward()(p. 47) |
|
||
4.3.2.11 |
_gdsl |
gdsl list map ba kward ( onst |
|
|
|
|
list_t L, onst gdsl node_map_fun _t |
|
|
|
ParseisGDSLreturnsalledComplexity:itsMAPlowonnodlastMAP-leavelsSTOP,examinatedhoflistO(nodetheF2in,lothvoidwithba-levelkwardnodethegdslUSERlist.USERorderLlistin .baDATADATAmapkward)argumentbaorderkward(). The.IfMAP(p.47)__FstopsFfunreturnstionand |
|||
Note: |
|
|
|
Parameters:re USERMAPLondition:ThustlowbeFDA-levelaThenonAmaplist-emptyUser's|Lto|fun)mapdatastiongdsl. .._list_t & MAP_F != NULL.
Returns: |
|
|
the rst node for whi h MAP F returns GDSL_MAP_STOP. |
||
NULL when the parsing is done. |
|
|
See also: |
|
|
gdsl_list_map_forward()(p. 46) |
_gdsl_list_t , onst |
|
4.3.2.12 |
v _gdsl_list_write ( |
|
|
OUTPUToidgsl nodeFILEwrite,voidfun onstWRITE_F, FILE |
|
WritetionComplexity:allthe.nodesAdditionnalesofofO(thelowUSER-lowlevel-levellistDATAlisttoaLargumentletoUSER. OUTPUTouldDATAbeFILE,)passedusingtoWRITE__FF. |
||
Note:fun |
|
|
PreGeneratedWRITEondition:ThuF !=JunNULL|22| 11:15:30) & OUTPUT2006 for_gdslFILEby !=DoxygenNULL.

48 |
|
|
gdsl Module Do umentation |
|||
|
Parameters: |
|
|
|
|
|
|
|
L The low-level list to write. |
|
|
|
|
|
|
WRITE |
F The write fun tion. |
|
|
|
|
|
OUTPUT FILE The le where to write L's nodes. |
|
|
||
|
|
USER |
DATA User's datas passed to WRITE F. |
|
|
|
See also: |
write xml()(p. 48) |
|
|
|
||
|
|
gdsl_list_dump()(p. 48) |
_gdsl_list_t |
, |
|
|
|
4.3.2.13 v id _ _list_write_xml |
|
||||
|
|
onst gdslFILEnode,voidwrite_fun( onstWRITE_F, FILE |
|
|||
|
|
OUTPUT |
|
|
||
|
WRITEtoguagriteOUTPUTComplexity:.alltheIfWRITEnodesFnodes.FILEofO(ofaF.lowthe!=Additionnal-NULL,levellow-levellistthentoUSERlistausesLleUSERWRItointoDAOUTPUTXMLAE DAargumenF.funAFILE,)tionouldtointowritebeXMLpaL'ssednodeslanto- |
|||||
Note: |
|
|
|
|
Parameters:reOUTPUTWRITELOUTPUTondition:The low-FlevelFILEFILEThe|listL!=|write)toTheNULLwritefunle..tionwhere. to write L's nodes.
USER_DATA User's datas passed to WRITE_F.
See also:gdsl_list_write()dump()(p(p..47)48)
4.3.2.14 v _gdsl_list_dump _gdsl list_t , onst OUTPUToidgsl nodeFILEwrite,voidfun( _onstWRITE_F, FILE
ANULL,DumpdditionnalthenstrinternalUSERusestureWRITEstruofDAtheGeneratedtureAlowargFof-leveluanmenlowtionlistTh-levelouldtoLJunUSERtowritelistOUTPUTbe22 to11:15:30passedL'sDATAa nodesleto.2006FILE)WRITEtoforOUTPU.IfgdslWRIFby.TDoxygenE FILE!=.

4.3 Low-level doubly-linked list manipulation module |
49 |
|
Note: |
|
|
Parameters:reComplexity:OUTPUTLWRITEOUTPUTondition:The low-FlevelFILEO(FILEThe|listL!=|write)toTheNULLdumpfunle. tionwhere. . to write L's nodes. |
|
|
USER_DATA User's datas passed to WRITE_F. |
|
|
See also: |
()(p. |
|
gdsl_list_write |
|
|
xml(47)(p. 48) |
|
Generated on Thu Jun 22 11:15:30 2006 for gdsl by Doxygen

50 |
Low-level |
|
|
|
|
|
gdsl Module Do umentation |
|||||||||||
4.4 |
doubly-linked |
node manipulation |
|
|||||||||||||||
|
module |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Typedefs |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ˆ typedefGDSL_int(lowgdsl-levelno oublye _linkedgdsl_nonodetypet. |
|
|
|
|
|
|
||||||||||||
|
NODE, void( _gdsl_node_map_fun _tion)( onst _gdsl_node_t |
|||||||||||||||||
ˆ typedefGDSLv low-levelUSERdoublyDATA)-linked node mapfun |
type. |
|
|
|
|
|||||||||||||
|
NODE, FILE _gdsl_node_write_ |
_ |
)( onst _gdsl_node_t |
|||||||||||||||
Fun _tionsgdslDestrCrGDSLatenodelowa-lowlevelOUTPUTlowt doubly-levelgdsl-nolinkednodeFILE,. nodevoidallowriteUSER(vfunoid)tionDATA)type. |
|
|
|
|||||||||||||||
|
gdsl_element |
t _gdsl_node_free |
_gdsl_node_t NODE) |
|
|
|||||||||||||
ˆ |
|
|
oy a -level node. |
get_su |
( onst |
_gdsl_node_t |
||||||||||||
gdsl_node_t |
_gdsl_node |
|||||||||||||||||
|
NODE) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ˆ |
Get the su essor of a low-level node. |
|
|
|
|
|
|
|
||||||||||
gdsl_ |
|
|
_t |
_gdsl_node get_pred ( onst _gdsl_node_t |
||||||||||||||
|
Get |
|
|
nodepr de essor of a low-level node. |
|
|
|
|
|
|
||||||||
|
NODE) |
|
|
|
|
t |
|
gdsl |
|
get_ ontent |
( onst |
_gdsl_- |
||||||
ˆ gdsl |
elemen |
|
|
|||||||||||||||
|
Get |
the |
|
of a low-levelnode. |
|
|
|
|
|
|
|
|||||||
|
gdsl_nodeontentSUCC) |
|
|
|
|
|
|
|
|
|
|
|||||||
|
node_ |
|
|
NODE) |
|
set |
su |
( gdsl_node_t |
NODE, |
onst |
_- |
|
||||||
ˆ void _g |
sl |
node |
|
|||||||||||||||
|
Set the su essor of a low-lev l node. |
|
|
|
NODE, |
onst |
_- |
|
||||||||||
ˆ void _g sl |
node |
set_pred |
( gdsl_node_t |
|
||||||||||||||
|
gdsl_node |
t PRED) |
|
low-level node. |
|
|
|
|
|
|
||||||||
|
Set the prede essor of |
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
Generated on Thu Jun 22 11:15:30 2006 for gdsl by Doxygen |
|

4.4 Low-level doubly-linked node |
module |
51 |
|||||||
ˆ void gdsl node set ontenmanipulation( gdsl node_t NODE, onst |
|
||||||||
|
gdsl_el men |
t CONTENT) |
|
|
|
||||
|
|
Set the ontent of a low-level node. |
|
|
|
||||
ˆ void |
gdsl node link ( gdsl_node_t NODE1, _gdsl_node_t |
||||||||
|
NODE2) |
|
|
|
|
|
|
||
ˆ v |
Link two low-level nodes together. |
|
_gdsl_- |
||||||
|
gdsl |
node unlink (_gdsl_node_t NODE1, |
|||||||
|
noide |
t NODE2) |
|
|
|
|
|
||
|
|
Unlink two low-l vel nodes. |
_gdsl_node_t NODE, |
onst _- |
|||||
ˆ void |
gdsl node write |
||||||||
|
gdsl_node_write_fun _( WRITEonst_F, FILE OUTPUT_FILE, void |
||||||||
|
|
|
gdslnodeDATA)a ownode-levelwritenodewritefunto a xmllet. WRITE(onst _gdslF, FILEnode_t NODE, onst |
||||||
ˆ USERgdslWrite |
|
|
|
|
|
|
|||
ˆ |
|
|
|
|
|
|
OUTPUT_FILE, |
||
|
|
|
|
|
tura t(leWRITEonstinto XMLgdslF,. FILEnode_t NODE, onst _- |
||||
|
|
|
|
|
mp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
df nto |
|
|
|
||
|
|
|
|
stru |
|
|
|
|
|
|
voidWriteUSERnodegdsla low-nodeDATA)writelevel no |
|
|
|
|
|
|||
|
gdsl |
|
|
|
|
|
|
|
OUTPUT_FILE, void
4..44..11.1USERDumpTtypedefDATA)the internalstruDot umentationgdsle ofnodea low-level node to a le.
GDSLThisDebut4.4.nition1by.ype2lowthetypedefis-atlevfunlineoluntionsdoubly53taryint(ofopaquethislinkedlegdslmodule.nodeVariablesnode.type.h..of_thisgdslkindnodeould'ntt be dire tly used,
_gdsl_node t NODE, voidmap_fun _t)( onst Parameters:GeneratedGDSLUSERNODElowon-levelThuTheDATAdoublyJunlow-22Thlev-link11:15:30e usernodeednodedatas2006to mapmapforto.gdslpassfunUSERbytiontoDoxygenthistypefunDATA). tion.

52 |
|
|
|
|
|
|
|
gdsl Module Do umentation |
||
|
Returns: |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
STOP if |
|
m |
st pped. |
|
|
|
GDSL_MAP_CONT ifthemapping mustbe ontinued. |
||||||||
|
De nition at line 62 of le |
gdsl node.h. |
|
|
|
|||||
4.4.1.3 |
typedefgdslnodevoid(_t_NODE,gdslnodeFILEwrite_fun t)( onst |
|||||||||
|
|
|
|
|
|
|
|
|
OUTPUT_FILE, void |
|
|
|
|
|
|
|
|
where-linkwritetodtopassnodefunwritetotiontothisNODEwriteypefun... tion. |
|||
Parameters:GDSLUSEROUTPUTTREElow-levelUSERTheDATAdoublylowFILEDATA)-levelThe-linkedTheuserdoublynodeledatas |
|
|
|
|||||||
|
De nition at line 72 of le _gdsl_node.h. |
|
|
|
||||||
|
.4.2 Fun tion Do umentation |
|
|
|||||||
4.4.2.1 |
gdsl |
node t |
gdsl node_allo (void) |
|||||||
|
Create a new low-level node. |
|
|
|
|
|||||
|
Allo ate a new low-level node data stru ture. |
|||||||||
Note: |
|
|
|
|
|
|
|
|
||
|
|
Complexity: O( 1 ) |
|
|
|
|
||||
Pre ondition: |
|
|
|
|
|
|||||
|
|
nothing. |
|
|
|
|
|
|
||
Returns: |
|
llo ated low-l vel node in ase of su ess. |
||||||||
|
|
the newly |
||||||||
|
|
NULL in |
ase of insu ient memory. |
|
|
|
||||
See also: |
|
|
|
|
|
|
|
|||
|
|
|
gdsl_node_free()(p. 52) |
|
|
|
||||
4.4.2.2 |
gdsl |
t_t _gdsl_node_free (_gdsl_node_t NODE) |
||||||||
|
Deallo ate the lowelemen-lev node NODE. |
|
|
|
||||||
|
|
stroy low-lev node. |
|
|
|
|
||||
Note: |
|
|
|
Generated on Thu Jun 22 11:15:30 2006 for gdsl by Doxygen |
|
|||||
|
|
O( 1 ) |
|
|

|
4.4 Low-level doubly-linked node manipulation module |
53 |
||||||
|
Pre ondition: |
|
|
|
|
|
||
|
NODE != NULL |
|
|
|
|
|||
Returns: |
|
|
|
|
|
|
|
|
|
the ontent of NODE (without modi ation). |
|
||||||
See also: |
|
|
|
|
|
|
|
|
|
gdsl_node_allo ()(p. 52) |
|
node_get_su ( onst |
|
||||
4.4.2.3 |
|
|
|
gdsl |
|
|
||
|
|
_gdsl_node_t NODE) |
|
|
||||
|
Get the su essor of a low-level node. |
|
||||||
Note: |
|
|
|
|
|
|
|
|
|
Complexity: O( 1 ) |
|
|
|
|
|||
|
re ondition: |
|
|
|
|
|
||
|
|
!= NULL |
|
|
|
|
||
|
NODE |
The low-level node whi h we want to get the su essor from. |
|
|||||
Parameters: |
|
|
|
|
|
|||
Returns: |
|
|
|
|
|
|
|
|
|
the su essor of the low-lev l node NODE if NODE has a su essor. |
|
||||||
|
NULL if the low-level node NODE has no su essor. |
|
||||||
See also: |
|
|
g t |
|
. 53) |
|
||
|
_gdsl_node_set_pred()(p. 55) |
|
||||||
4.4.2.4 |
|
|
|
su () . 54) |
|
|||
|
|
|
gdsl |
|
node_get_pred ( onst |
|
||
|
|
_gdsl_node_t NODE) |
|
|
||||
|
Get the prede essor of a low-level node. |
|
||||||
Note: |
|
|
|
|
|
|
|
|
|
Complexity: O( 1 ) |
|
|
|
|
|||
|
re ondition: |
|
|
|
|
|
||
|
|
!= NULL |
|
|
|
|
||
|
NODE |
|
low-level node whi h we want to get the prede essor from. |
|||||
Parameters: |
|
|
|
|
|
|||
|
Generated on Theu Jun 22 11:15:30 2006 for gdsl by Doxygen |
|

54 |
|
|
|
|
|
|
gdsl Module Do umentation |
|
|
Returns: |
|
|
|
|
|
|
|
|
|
the prede essor of the low-level node NODE if NODE has a prede essor. |
||||||
|
|
NULL if the low-level node NODE has no prede essor. |
||||||
See also: |
|
g t |
su () . 54)3) |
|
||||
|
|
_gdsl_node_set_pred()(p. 55) |
|
|||||
4.4.2.5 |
gdsl |
element |
t |
gdsl_node_get_ ontent ( onst |
||||
|
|
|
gdsl node |
t NODE) |
|
|
||
|
Get the ontent of a low-level node. |
|
|
|||||
Note: |
|
|
|
|
|
|
||
|
|
Complexity: O( 1 ) |
|
|
|
|
||
|
re ondition: |
|
|
|
|
|
||
|
|
|
!= NULL |
|
|
|
|
|
Parameters: |
|
|
|
|
|
|||
|
|
NODE The low-level node whi h we want to get the onten from. |
||||||
Returns: |
|
of the low-level node NODE if NODE has a ontent. |
||||||
|
|
the onten |
||||||
|
|
NULL if the low-level node NODE has no ontent. |
||||||
See also: |
|
|
|
|
|
|
||
|
|
gdsl_node_set_ ontent()(p. 55) |
|
|||||
4.4.2.6 |
v |
_gdsl node |
set |
su (_gdsl_node_t NODE, onst |
||||
|
|
|
oidgsl_node |
t SUCC) |
|
|
||
|
Set the su essor of a low-level node. |
|
|
|||||
Note:M di e the su essor of the low-level node NODE to SUCC. |
||||||||
|
|
Complexity: O( 1 ) |
|
|
|
|
||
|
re ondition: |
|
|
|
|
|
||
|
|
|
!= NULL |
|
|
|
|
|
Parameters: |
lo -level node whi h want to hange the su essor from. |
|||||||
|
|
NODE |
||||||
|
|
SUCC The new su essor of NODE. |
|
See also:gdsl_node_get_su ()(p. 53)
Generated on Thu Jun 22 11:15:30 2006 for gdsl by Doxygen

|
Low- |
|
el doub y-link d node manipulation module |
55 |
||||||||
|
4.4.2.7 |
lev |
|
_gdsl |
node set |
pred (_gdsl_node_t NODE, onst |
|
|||||
|
Set the |
oidgsl_node |
t PRED) |
|
|
|
||||||
|
|
|
|
|
of a low-level node. |
|
|
|||||
|
M di e predethe |
ede essor of the low-level node NODE to PRED. |
|
|
||||||||
Note: |
|
|
|
|
|
|
|
|
|
|
|
|
|
Complexity: O( 1 ) |
|
|
|
|
|||||||
|
re ondition: |
|
|
|
|
|
|
|
||||
|
|
|
!= NULL |
|
|
|
|
|
||||
|
NODE |
|
|
|
lo -level node whi h want to hange the prede essor from. |
|||||||
Parameters: |
|
|
|
|
|
|
|
|||||
|
PRED |
The new prede ssor of NODE. |
|
|
||||||||
|
|
gdsl_node_get_pred()(p. 53) |
|
|
||||||||
See also: |
v id _ |
|
_ |
set_ ontent ( gdsl_node_t NODE, |
||||||||
4.4.2.8 |
|
|||||||||||
|
|
|
o |
|
|
gdsl |
|
node t t CONTENT) |
|
|
||
|
Set the ontennstof a lowelem- v node. |
|
|
|
||||||||
|
M di e the ontent of the low-level node NODE to CONTENT. |
|||||||||||
Note: |
|
|
|
|
|
|
|
|
|
|
|
|
|
Complexity: O( 1 ) |
|
|
|
|
|||||||
|
re ondition: |
|
|
|
|
|
|
|
||||
|
ODE != NULL |
|
|
|
|
|
||||||
Parameters: |
|
|
|
|
|
|
|
|||||
|
N DE |
The low-lev l node whi h want to hange the ontent from. |
||||||||||
|
CONTENT The new onten of NODE. |
|
|
|||||||||
See also: |
|
|
|
|
|
|
|
|
|
|
||
|
|
gdsl_node_get_ ontent()(p. 54) |
|
|
||||||||
4.4.2.9 |
v |
|
|
_gdsl |
node link (_gdsl_node_t NODE1, |
|||||||
|
|
|
oidgsl |
|
|
NODE2) |
|
|
||||
|
two low-l vel nodes together. |
|
|
|
||||||||
|
Generated onsu ThessorJun 22 11:15:30 2006 for gdsl by Doxygen |
After the link, |
||||||||||
|
Link the tw |
|
low-level nodes NODE1 and NODE2 together. |
|||||||||
|
NODE1's |
|
|
|
|
is NODE2 and NODE2's prede essor is NODE1. |
|

56 |
|
|
|
|
|
|
|
gdsl Module Do umentation |
|||
|
Note: |
|
|
|
|
|
|
|
|
|
|
|
|
Complexity: O( 1 ) |
|
|
|
|
|
|
|||
|
re ondition: |
|
|
|
|
|
|
|
|||
|
|
ODE1 != NULL & NODE2 != NULL |
|
|
|
||||||
Parameters:1 |
|
rst low-level node to link to NODE2. |
|
||||||||
|
|
NODE2 |
The se ond low-level node to link from NODE1. |
|
|||||||
|
|
gdsl_node_unlink()(p. 56) |
|
|
|
||||||
See also: |
v |
_gdsl |
node |
unlink (_gdsl_node_t NODE1, |
|
||||||
4.4.2.10 |
|
||||||||||
|
|
|
oidgsl |
node |
|
t NODE2) |
|
|
|
||
|
|
wo low-level nodes. |
|
|
|
|
|
||||
|
Unlink the two low-level nodes NODE1 and NODE2. After the unlink, NODE1's |
||||||||||
|
su ssor is NULL and NODE2's prede essor is NULL. |
|
|||||||||
Note: |
|
|
|
|
|
|
|
|
|
||
|
|
Complexity: O( 1 ) |
|
|
|
|
|
|
|||
|
re ondition: |
|
|
|
|
|
|
|
|||
|
|
ODE1 != NULL & NODE2 != NULL |
|
from NODE2. |
|
||||||
Parameters:1 |
|
rst low-level node to |
|
|
|||||||
|
|
NODE2 |
The se ond low-level node tounlinlink from NODE1. |
|
|||||||
|
|
gdsl_node_link()(p. 55) |
|
|
|
|
|||||
See also: |
v id _ |
_ |
|
_ |
( onst _gdsl_node_t NODE, |
||||||
4.4.2.11 |
|
||||||||||
|
|
|
onst |
gdslFILEnode,voidwrite_fun |
t WRITE_F, FILE |
|
|||||
|
|
|
OUTPUT |
|
|
|
|
|
Note:PreAWritedditionnalComplexity:ondition:thelowlow-levelUSER-levelO(nodenodeDATA1)toNODEaargumentle.to OUTPUTouldUSERbeFILE,passedDAusingtoA)WRITE__FF. fun tion.
NODE != NULL & WRITE_F != NULL & OUTPUT_FILE != NULL
Generated on Thu Jun 22 11:15:30 2006 for gdsl by Doxygen