Add very old versions (for history).
[opsoft_archive.git] / silentbob / silentbob-1.4.1 / gclib / doc / ru_KOI8r / API / gcollection.txt
blob8b8647c9d217c77706064497b27ec77f1c09628c
1 /*
2  * (c) Oleg Puchinin 2006
3  * graycardinalster@gmail.com
4  *
5  */
7 KOI8-R
9         GCollection
10         ëÒÁÔËÏÅ ÏÐÉÓÁÎÉÅ ÔÅÈÎÏÌÏÇÉÉ.
11 ëÌÁÓÓ ÐÒÅÄÎÁÚÎÁÞÅΠÄÌÑ ÄÉÎÁÍÉÞÅÓËÏÇÏ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ ÉÚ ÓÔÁÔÉÞÅÓËÏÇÏ ÂÕÆÅÒÁ.
13 Functions:
14         int init (int size, int count, char * buf, int buf_size);
15 éÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ count "ËÕÓËÏ×" ÐÁÍÑÔÉ ÒÁÚÍÅÒÏÍ size ËÁÖÄÙÊ × ÂÕÆÅÒÅ buf. òÁÚÍÅÒ ÂÕÆÅÒÁ - buf_size. 
16 åÓÌÉ buf==NULL, ÂÕÆÅÒ ×ÙÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ, buf_size ÉÇÎÏÒÉÒÕÅÔÓÑ. éÎÁÞÅ buf_size ÄÏÌÖÅΠÂÙÔØ ÒÁ×ÅΠ(size * count).
17 ðÁÍÑÔØ ÐÏÄ ÍÅÔÁÄÁÎÎÙÅ (chunks) ×ÙÄÅÌÑÅÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÉ É ×ÎÅ buf;
18         int get_requiredspace (int chunk_size, int count);
19 ÷ÅÒÎÕÔØ ËÏÌÉÞÅÓÔ×Ï ÂÁÊÔ ÎÅÏÂÈÏÄÉÍÏÅ ÄÌÑ ÉÎÉÃÉÁÌÉÚÁÃÉÉ count ËÕÓËÏ× ÒÁÚÍÅÒÏÍ chunk_size.
20         int init_simple (char * heap, int size, int count);
21 áÎÁÌÏÇÉÞÎÏ init, heap ÄÏÌÖÅΠÂÙÔØ ÐÒÏÉÎÉÃÉÁÌÉÚÉÒÏ×ÁΠ(ÒÁÚÍÅÒÏÍ get_requiredspace). 
22 çÌÁ×ÎÏÅ ÏÔÌÉÞÉÅ ÏÔ init - ×ÓÅ ÄÁÎÎÙÅ É ÍÅÔÁÄÁÎÎÙÅ
23 ÎÁÈÏÄÑÔÓÑ × ÏÄÎÏÍ ÂÕÆÅÒÅ. ðÒÅÄÐÏÌÁÇÁÅÔ × ÄÁÌØÎÅÊÛÅÍ ÍÅÔÏÄ load.
25 alloc () / free ()
26 ÷ÙÄÅÌÉÔØ É ÏÓ×ÏÂÏÄÉÔØ ËÕÓÏË ÐÁÍÑÔÉ ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÏ. ÷ÙÄÅÌÅÎÉÅ Ó×ÏÄÉÔÓÑ Ë ÕÄÁÌÅÎÉÀ ÜÌÅÍÅÎÔÁ ÓÐÉÓËÁ. ïÓ×ÏÂÏÖÄÅÎÉÅ - 
27 ÄÏÂÁ×ÌÅÎÉÅ Ë ÓÐÉÓËÕ Ó×ÏÂÏÄÎÙÈ ÜÌÅÍÅÎÔÏ×.
29 check ()
30 ðÒÏ×ÅÒÉÔØ, ÐÒÉÎÁÄÌÅÖÉÔ ÌÉ ÕËÁÚÁÔÅÌØ ÄÁÎÎÏÍÕ ËÌÁÓÓÕ.
32 Private:
33         char * buf;
34 áÄÒÅÓ ÎÁ Ó×ÏÂÏÄÎÕÀ ×ÓÀ ×ÙÄÅÌÅÎÎÕÀ ÐÁÍÑÔØ.
35         bool free_buf;
36 ïÓ×ÏÂÏÖÄÁÔØ ÌÉ ÂÕÆÅÒ × ÄÅÓÔÒÕËÔÏÒÅ.
37         DList * entries;
38 óÐÉÓÏË ×ÓÅÈ ÜÌÅÍÅÎÔÏ×.
39         int count;
40 ëÏÌÉÞÅÓÔ×Ï ÜÌÅÍÅÎÔÏ×.
41         int chunk_size;
42 òÁÚÍÅÒ ÜÌÅÍÅÎÔÁ.
43         __dlist_entry_t * chunks;
44 íÁÓÓÉ× ÚÁÐÉÓÅÊ ×ÉÄÁ __dlist_entry_t6 ÐÏ ÒÁÚÍÅÒÕ ÒÁ×ÅΠcount, ÉÓÐÏØÌÚÕÅÔÓÑ × entries ÓÐÉÓËÅ.