Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
Burger::DoubleLinkedList_t Struct Reference

Double linked list. More...

Inheritance diagram for Burger::DoubleLinkedList_t:
Inheritance graph
[legend]
Collaboration diagram for Burger::DoubleLinkedList_t:
Collaboration graph
[legend]

Public Member Functions

void init (void) noexcept
 Double linked list initialization.
 
void detach (void) noexcept
 Detach entry from connected list.
 
void insert_after (DoubleLinkedList_t *pInput) noexcept
 Insert the supplied object after this object.
 
void insert_before (DoubleLinkedList_t *pInput) noexcept
 Insert the supplied object before this object.
 

Public Attributes

DoubleLinkedList_tm_pNext
 Pointer to the next entry.
 
DoubleLinkedList_tm_pPrev
 Pointer to the previous entry.
 

Detailed Description

Double linked list.


Using inlined code, this structure handles all the tasks needed to manage a circular double linked list. All objects when created point to themselves and can be added and removed to other linked list objects at will.

Note
This is a structure, as such, it does not have a destructor or constructor
See also
DoubleLinkedList

Member Function Documentation

◆ detach()

void BURGER_API Burger::DoubleLinkedList_t::detach ( void )
noexcept

Detach entry from connected list.


Unlink this list object from any connected list.

Once this function ends, the entries in this object will point to itself.

See also
insert_after(DoubleLinkedList_t*), or insert_before(DoubleLinkedList_t*)

◆ init()

Burger::DoubleLinkedList_t::init ( void )
inlinenoexcept

Double linked list initialization.


Using inlined code, initialize the linked list entries to point to themselves so it is a circular linked list of only one entry.

See also
detach(void)

◆ insert_after()

void BURGER_API Burger::DoubleLinkedList_t::insert_after ( DoubleLinkedList_t * pInput)
noexcept

Insert the supplied object after this object.


Unlink the input object from any linked list it's attached to and then insert the object after this one.

See also
detach(void), or insert_before(DoubleLinkedList_t*)

◆ insert_before()

void BURGER_API Burger::DoubleLinkedList_t::insert_before ( DoubleLinkedList_t * pInput)
noexcept

Insert the supplied object before this object.


Unlink the input object from any linked list it's attached to and then insert the object before this one.

See also
detach(void), or insert_after(DoubleLinkedList_t*)

Member Data Documentation

◆ m_pNext

DoubleLinkedList_t* Burger::DoubleLinkedList_t::m_pNext

Pointer to the next entry.

◆ m_pPrev

DoubleLinkedList_t* Burger::DoubleLinkedList_t::m_pPrev

Pointer to the previous entry.