Class hal::static_list
template <class Object class Object>
ClassList > hal > static_list
static_list is a non-owning non-allocating doubly linked list container with O(1) memory utilization.More...
#include <static_list.hpp>
Classes
Type | Name |
---|---|
class | item Item/node within the static linked list. |
class | item_iterator Iterator for the static list. |
Public Types
Type | Name |
---|---|
typedef const item_iterator | const_iterator |
typedef const value_type * | const_pointer |
typedef const Object & | const_reference |
typedef std::ptrdiff_t | difference_type |
typedef item_iterator | iterator |
typedef value_type * | pointer |
typedef Object & | reference |
typedef std::size_t | size_type |
typedef Object | value_type |
Public Functions
Type | Name |
---|---|
constexpr auto | begin () |
constexpr auto | begin () const |
constexpr auto | cbegin () const |
constexpr auto | cend () const |
constexpr bool | empty () |
constexpr auto | end () |
constexpr auto | end () const |
constexpr static_list & | operator= (static_list & p_other) = delete |
constexpr static_list & | operator= (static_list && p_other) |
constexpr item | push_back () Add default constructed item to the end of the list. |
constexpr item | push_back (const Object & p_value) Append item to the end of the static list. |
constexpr item | push_back (Object && p_value) Append item to the end of the static list. |
constexpr std::size_t | size () const |
constexpr | static_list () |
constexpr | static_list (static_list & p_other) = delete |
constexpr | static_list (static_list && p_other) |
~static_list () |
Detailed Description
Items in the list cannot be destroyed by
Template parameters:
Object
- The type of the elements. Object must be "MoveAssignable" and "MoveConstructible".
Public Types Documentation
typedef const_iterator
using hal::static_list< Object >::const_iterator = const item_iterator;
typedef const_pointer
using hal::static_list< Object >::const_pointer = const value_type*;
typedef const_reference
using hal::static_list< Object >::const_reference = const Object&;
typedef difference_type
using hal::static_list< Object >::difference_type = std::ptrdiff_t;
typedef iterator
using hal::static_list< Object >::iterator = item_iterator;
typedef pointer
using hal::static_list< Object >::pointer = value_type*;
typedef reference
using hal::static_list< Object >::reference = Object&;
typedef size_type
using hal::static_list< Object >::size_type = std::size_t;
typedef value_type
using hal::static_list< Object >::value_type = Object;
Public Functions Documentation
function begin [1/2]
inline constexpr auto hal::static_list::begin ()
function begin [2/2]
inline constexpr auto hal::static_list::begin () const
function cbegin
inline constexpr auto hal::static_list::cbegin () const
function cend
inline constexpr auto hal::static_list::cend () const
function empty
inline constexpr bool hal::static_list::empty ()
function end [1/2]
inline constexpr auto hal::static_list::end ()
function end [2/2]
inline constexpr auto hal::static_list::end () const
function operator=
constexpr static_list & hal::static_list::operator= (
static_list & p_other
) = delete
function operator=
inline constexpr static_list & hal::static_list::operator= (
static_list && p_other
)
function push_back [1/3]
Add default constructed item to the end of the list.
inline constexpr item hal::static_list::push_back ()
Only works for Object's that support default construction.
Returns:
constexpr item - item with default constructed value
function push_back [2/3]
Append item to the end of the static list.
inline constexpr item hal::static_list::push_back (
const Object & p_value
)
Parameters:
p_value
- value of node
Returns:
constexpr item - item with constructed value based on the input
function push_back [3/3]
Append item to the end of the static list.
inline constexpr item hal::static_list::push_back (
Object && p_value
)
Parameters:
p_value
- value of node
Returns:
constexpr item - item with constructed value based on the input
function size
inline constexpr std::size_t hal::static_list::size () const
function static_list [1/3]
inline constexpr hal::static_list::static_list ()
function static_list [2/3]
constexpr hal::static_list::static_list (
static_list & p_other
) = delete
function static_list [3/3]
inline constexpr hal::static_list::static_list (
static_list && p_other
)
function ~static_list
inline hal::static_list::~static_list ()
The documentation for this class was generated from the following file libraries/include/libhal-util/static_list.hpp