[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Add gl_list_remove_last to list/xlist
From: |
Bruno Haible |
Subject: |
Re: Add gl_list_remove_last to list/xlist |
Date: |
Sun, 03 May 2020 13:14:59 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-177-generic; KDE/5.18.0; x86_64; ; ) |
> Done through the two attached patches.
And another patch, for the C++ interface.
2020-05-03 Bruno Haible <address@hidden>
list-c++: Add get_first, get_last, set_first, set_last operations.
* lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
set_first, set_last.
* lib/gl_list.h: Tweak comments.
diff --git a/lib/gl_list.h b/lib/gl_list.h
index 7786092..dfec6d0 100644
--- a/lib/gl_list.h
+++ b/lib/gl_list.h
@@ -215,11 +215,11 @@ extern gl_list_node_t gl_list_previous_node (gl_list_t
list, gl_list_node_t node
extern const void * gl_list_get_at (gl_list_t list, size_t position);
/* Returns the element at the first position in the list.
- LIST must be non-empty. */
+ The list must be non-empty. */
extern const void * gl_list_get_first (gl_list_t list);
/* Returns the element at the last position in the list.
- LIST must be non-empty. */
+ The list must be non-empty. */
extern const void * gl_list_get_last (gl_list_t list);
/* Replaces the element at a given position in the list.
@@ -237,8 +237,8 @@ extern gl_list_node_t gl_list_nx_set_at (gl_list_t list,
size_t position,
;
/* Replaces the element at the first position in the list.
- LIST must be non-empty.
- Returns its node. */
+ Returns its node.
+ The list must be non-empty. */
/* declared in gl_xlist.h */
extern gl_list_node_t gl_list_set_first (gl_list_t list, const void *elt);
/* Likewise. Returns NULL upon out-of-memory. */
@@ -249,8 +249,8 @@ extern gl_list_node_t gl_list_nx_set_first (gl_list_t list,
const void *elt)
;
/* Replaces the element at the last position in the list.
- LIST must be non-empty.
- Returns its node. */
+ Returns its node.
+ The list must be non-empty. */
/* declared in gl_xlist.h */
extern gl_list_node_t gl_list_set_last (gl_list_t list, const void *elt);
/* Likewise. Returns NULL upon out-of-memory. */
diff --git a/lib/gl_list.hh b/lib/gl_list.hh
index 2cc83be..b19bda7 100644
--- a/lib/gl_list.hh
+++ b/lib/gl_list.hh
@@ -137,6 +137,16 @@ public:
ELTYPE * get_at (size_t position) const
{ return static_cast<ELTYPE *>(gl_list_get_at (_ptr, position)); }
+ /* Returns the element at the first position in the list.
+ The list must be non-empty. */
+ ELTYPE * get_first () const
+ { return static_cast<ELTYPE *>(gl_list_get_first (_ptr)); }
+
+ /* Returns the element at the last position in the list.
+ The list must be non-empty. */
+ ELTYPE * get_last () const
+ { return static_cast<ELTYPE *>(gl_list_get_last (_ptr)); }
+
/* Searches whether an element is already in the list.
Returns its node if found, or NULL if not present in the list. */
gl_list_node_t search (ELTYPE * elt) const
@@ -183,6 +193,18 @@ public:
gl_list_node_t set_at (size_t position, ELTYPE * elt)
{ return gl_list_set_at (_ptr, position, elt); }
+ /* Replaces the element at the first position in the list.
+ Returns its node.
+ The list must be non-empty. */
+ gl_list_node_t set_first (ELTYPE * elt)
+ { return gl_list_set_first (_ptr, elt); }
+
+ /* Replaces the element at the last position in the list.
+ Returns its node.
+ The list must be non-empty. */
+ gl_list_node_t set_last (ELTYPE * elt)
+ { return gl_list_set_last (_ptr, elt); }
+
/* Adds an element as the first element of the list.
Returns its node. */
gl_list_node_t add_first (ELTYPE * elt)
- Re: stack module, (continued)
- Re: stack module, Marc Nieper-Wißkirchen, 2020/05/23
- Re: stack module, Paul Eggert, 2020/05/23
- Re: stack module, Marc Nieper-Wißkirchen, 2020/05/23
- Re: stack module, Bruno Haible, 2020/05/23
- Re: stack module, Paul Eggert, 2020/05/23
- Re: stack module, Marc Nieper-Wißkirchen, 2020/05/24
- Re: stack module, Paul Eggert, 2020/05/24
- Re: stack module, Bruno Haible, 2020/05/24
- Re: stack module, Bruno Haible, 2020/05/23
- Re: Add gl_list_remove_last to list/xlist, Bruno Haible, 2020/05/02
- Re: Add gl_list_remove_last to list/xlist,
Bruno Haible <=
- Re: Add gl_list_remove_last to list/xlist, Marc Nieper-Wißkirchen, 2020/05/05
- Re: Add gl_list_remove_last to list/xlist, Bruno Haible, 2020/05/08