Implement recordset iterators

JerryScript-DCO-1.0-Signed-off-by: Evgeny Gavrin e.gavrin@samsung.com
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
This commit is contained in:
Andrey Shitov
2015-06-10 17:06:58 +03:00
parent 6ebb32452e
commit 528a333e17
4 changed files with 315 additions and 28 deletions
+16 -8
View File
@@ -37,6 +37,14 @@
class rcs_chunked_list_t
{
public:
/**
* Constructor of chunked list
*/
rcs_chunked_list_t ()
{
head_p = tail_p = NULL;
} /* rcs_chunked_list_t */
/**
* List node
*/
@@ -52,27 +60,27 @@ public:
node_t *get_first (void) const;
node_t *get_last (void) const;
node_t *get_prev (node_t *node_p) const;
node_t *get_prev (node_t *) const;
node_t *get_next (node_t *node_p) const;
node_t *append_new (void);
node_t *insert_new (node_t *after_p);
node_t *insert_new (node_t *);
void remove (node_t *node_p);
void remove (node_t *);
node_t *get_node_from_pointer (void *ptr) const;
uint8_t* get_data_space (node_t *node_p) const;
node_t *get_node_from_pointer (void *) const;
uint8_t* get_data_space (node_t *) const;
static size_t get_data_space_size (void);
private:
void set_prev (node_t *node_p, node_t *prev_node_p);
void set_next (node_t *node_p, node_t *next_node_p);
void set_prev (node_t *, node_t *);
void set_next (node_t *, node_t *);
static size_t get_node_size (void);
void assert_list_is_correct (void) const;
void assert_node_is_correct (const node_t *node_p) const;
void assert_node_is_correct (const node_t *) const;
node_t* head_p; /**< head node of list */
node_t* tail_p; /**< tail node of list */