Lely core libraries
2.3.4
|
This header file is part of the utilities library; it contains the singly-linked list declarations. More...
Go to the source code of this file.
Data Structures | |
struct | slnode |
A node in a singly-linked list. More... | |
struct | sllist |
A singly-linked list. More... | |
Macros | |
#define | SLNODE_INIT |
The static initializer for slnode. | |
#define | slnode_foreach(first, node) slnode_foreach_(__LINE__, first, node) |
Iterates in order over each node in a singly-linked list. More... | |
#define | sllist_foreach(list, node) slnode_foreach (sllist_first(list), node) |
Iterates in order over each node in a singly-linked list. More... | |
Functions | |
void | slnode_init (struct slnode *node) |
Initializes a node in a singly-linked list. | |
void | sllist_init (struct sllist *list) |
Initializes a singly-linked list. | |
int | sllist_empty (const struct sllist *list) |
Returns 1 if the singly-linked list is empty, and 0 if not. More... | |
size_t | sllist_size (const struct sllist *list) |
Returns the size (in number of nodes) of a singly-linked list. More... | |
void | sllist_push_front (struct sllist *list, struct slnode *node) |
Pushes a node to the front of a singly-linked list. More... | |
void | sllist_push_back (struct sllist *list, struct slnode *node) |
Pushes a node to the back of a singly-linked list. More... | |
struct slnode * | sllist_pop_front (struct sllist *list) |
Pops a node from the front of a singly-linked list. More... | |
struct slnode * | sllist_pop_back (struct sllist *list) |
Pops a node from the back of a singly-linked list. More... | |
struct slnode * | sllist_remove (struct sllist *list, struct slnode *node) |
Removes a node from a singly-linked list. More... | |
int | sllist_contains (const struct sllist *list, const struct slnode *node) |
Checks if a node is part of a singly-linked list. More... | |
struct sllist * | sllist_append (struct sllist *dst, struct sllist *src) |
Appends the singly-linked list at src to the one at dst. More... | |
struct slnode * | sllist_first (const struct sllist *list) |
Returns a pointer to the first node in a singly-linked list. More... | |
struct slnode * | sllist_last (const struct sllist *list) |
Returns a pointer to the last node in a singly-linked list. More... | |
This header file is part of the utilities library; it contains the singly-linked list declarations.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Definition in file sllist.h.
#define slnode_foreach | ( | first, | |
node | |||
) | slnode_foreach_(__LINE__, first, node) |
Iterates in order over each node in a singly-linked list.
It is safe to remove the current node during the iteration.
first | a pointer to the first node in the list. |
node | the name of the pointer to the nodes. This variable is declared in the scope of the loop. |
#define sllist_foreach | ( | list, | |
node | |||
) | slnode_foreach (sllist_first(list), node) |
Iterates in order over each node in a singly-linked list.
It is safe to remove the current node during the iteration.
list | a pointer to a singly-linked list. |
node | the name of the pointer to the nodes. This variable is declared in the scope of the loop. |
|
inline |
|
inline |
Pushes a node to the front of a singly-linked list.
This is an O(1) operation.
Pushes a node to the back of a singly-linked list.
This is an O(1) operation.
Pops a node from the front of a singly-linked list.
This is an O(1) operation.
Pops a node from the back of a singly-linked list.
This is an O(n) operation.
Returns a pointer to the first node in a singly-linked list.
This is an O(1) operation.
Returns a pointer to the last node in a singly-linked list.
This is an O(1) operation.