#include <bn_forward_list.h>
template<typename Type>
iforward_list class
Base class of bn::
Template parameters | |
---|---|
Type | Element type. |
Can be used as a reference type for all bn::
Derived classes
-
template<typename Type, int MaxSize>class forward_list
std::forward_list
like container with a fixed size buffer.
Public types
- class const_iterator
- Const iterator.
- class iterator
- Non const iterator.
- using value_type = Type
- Value type alias.
- using size_type = int
- Size type alias.
- using difference_type = int
- Difference type alias.
- using reference = Type&
- Reference alias.
- using const_reference = const Type&
- Const reference alias.
- using pointer = Type*
- Pointer alias.
- using const_pointer = const Type*
- Const pointer alias.
Public functions
-
auto operator=(const iforward_
list& other) -> iforward_ list& - Copy assignment operator.
-
auto operator=(iforward_
list&& other) -> iforward_ list& noexcept - Move assignment operator.
-
auto size() const -> size_
type - Returns the current size.
-
auto max_size() const -> size_
type - Returns the maximum possible size.
-
auto available() const -> size_
type - Returns the remaining capacity.
- auto empty() const -> bool
- Indicates if it doesn't contain any element.
- auto full() const -> bool
- Indicates if it can't contain any more elements.
-
auto before_begin() const -> const_
iterator - Returns a const iterator to the position before the beginning of the iforward_
list. - auto before_begin() -> iterator
- Returns a const iterator to the beginning of the iforward_
list. -
auto begin() const -> const_
iterator - Returns a const iterator to the beginning of the iforward_
list. - auto begin() -> iterator
- Returns an iterator to the beginning of the iforward_
list. -
auto end() const -> const_
iterator - Returns a const iterator to the end of the iforward_
list. - auto end() -> iterator
- Returns an iterator to the end of the iforward_
list. -
auto cbefore_begin() const -> const_
iterator - Returns a const iterator to the position before the beginning of the iforward_
list. -
auto cbegin() const -> const_
iterator - Returns a const iterator to the beginning of the iforward_
list. -
auto cend() const -> const_
iterator - Returns a const iterator to the end of the iforward_
list. -
auto front() const -> const_
reference - Returns a const reference to the first element.
- auto front() -> reference
- Returns a reference to the first element.
-
void push_front(const_
reference value) - Inserts a copy of a value at the beginning of the iforward_
list. -
void push_front(value_
type&& value) - Inserts a moved value at the beginning of the iforward_
list. -
template<typename... Args>auto emplace_front(Args && ... args) -> reference
- Constructs and inserts a value at the beginning of the iforward_
list. - void pop_front()
- Removes the first element of the iforward_
list. -
auto insert_after(const_
iterator position, const_ reference value) -> iterator - Inserts a copy of a value at the specified position.
-
auto insert_after(const_
iterator position, value_ type&& value) -> iterator - Inserts a moved value at the specified position.
-
template<typename... Args>auto emplace_after(const_
iterator position, Args && ... args) -> iterator - Constructs and inserts a value at the specified position.
-
auto erase_after(const_
iterator position) -> iterator - Erases an element.
-
auto erase_after(const_
iterator first, const_ iterator last) -> iterator - Erases a range of elements.
-
auto remove(const_
reference value) -> size_ type - Erases all elements that are equal to the specified value.
-
template<class Pred>auto remove_if(const Pred& pred) -> size_
type - Erases all elements that satisfy the specified predicate.
-
void assign(size_
type count, const_ reference value) - Assigns values to the iforward_
list, removing the previous ones. -
template<typename Iterator>void assign(const Iterator& first, const Iterator& last)
- Assigns values to the iforward_
list, removing the previous ones. - void clear()
- Removes all elements.
-
void swap(iforward_
list& other) - Exchanges the contents of this iforward_
list with those of the other one.
Friends
-
void swap(iforward_
list& a, iforward_ list& b) - Exchanges the contents of a iforward_
list with those of another one. -
auto operator==(const iforward_
list& a, const iforward_ list& b) -> bool - Equal operator.
-
auto operator<(const iforward_
list& a, const iforward_ list& b) -> bool - Less than operator.
-
auto operator>(const iforward_
list& a, const iforward_ list& b) -> bool - Greater than operator.
-
auto operator<=(const iforward_
list& a, const iforward_ list& b) -> bool - Less than or equal operator.
-
auto operator>=(const iforward_
list& a, const iforward_ list& b) -> bool - Greater than or equal operator.
Function documentation
template<typename Type>
iforward_ list& bn:: iforward_list<Type>:: operator=(const iforward_ list& other)
Copy assignment operator.
Parameters | |
---|---|
other | iforward_ |
Returns | Reference to this. |
template<typename Type>
iforward_ list& bn:: iforward_list<Type>:: operator=(iforward_ list&& other) noexcept
Move assignment operator.
Parameters | |
---|---|
other | iforward_ |
Returns | Reference to this. |
template<typename Type>
void bn:: iforward_list<Type>:: push_front(const_ reference value)
Inserts a copy of a value at the beginning of the iforward_
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
void bn:: iforward_list<Type>:: push_front(value_ type&& value)
Inserts a moved value at the beginning of the iforward_
Parameters | |
---|---|
value | Value to insert. |
template<typename Type>
template<typename... Args>
reference bn:: iforward_list<Type>:: emplace_front(Args && ... args)
Constructs and inserts a value at the beginning of the iforward_
Parameters | |
---|---|
args | Parameters of the value to insert. |
Returns | Reference to the new value. |
template<typename Type>
iterator bn:: iforward_list<Type>:: insert_after(const_ iterator position,
const_ reference value)
Inserts a copy of a value at the specified position.
Parameters | |
---|---|
position | The given value is inserted after this position. |
value | Value to insert. |
Returns | Iterator pointing to the inserted value. |
template<typename Type>
iterator bn:: iforward_list<Type>:: insert_after(const_ iterator position,
value_ type&& value)
Inserts a moved value at the specified position.
Parameters | |
---|---|
position | The given value is inserted after this position. |
value | Value to insert. |
Returns | Iterator pointing to the inserted value. |
template<typename Type>
template<typename... Args>
iterator bn:: iforward_list<Type>:: emplace_after(const_ iterator position,
Args && ... args)
Constructs and inserts a value at the specified position.
Parameters | |
---|---|
position | The new value is inserted after this position. |
args | Parameters of the value to insert. |
Returns | Iterator pointing to the new value. |
template<typename Type>
iterator bn:: iforward_list<Type>:: erase_after(const_ iterator position)
Erases an element.
Parameters | |
---|---|
position | Iterator to the previous element to the one to erase. |
Returns | Iterator following the erased element. |
template<typename Type>
iterator bn:: iforward_list<Type>:: erase_after(const_ iterator first,
const_ iterator last)
Erases a range of elements.
Parameters | |
---|---|
first | Iterator to the first element to erase. |
last | Iterator to the last element to erase. |
Returns | Iterator following the last erased element. |
The range includes all the elements between first and last, including the element pointed by last, but not the one pointed by first.
template<typename Type>
size_ type bn:: iforward_list<Type>:: remove(const_ reference value)
Erases all elements that are equal to the specified value.
Parameters | |
---|---|
value | Element to erase. |
Returns | Number of erased elements. |
template<typename Type>
void bn:: iforward_list<Type>:: assign(size_ type count,
const_ reference value)
Assigns values to the iforward_
Parameters | |
---|---|
count | Number of elements to insert. |
value | Value to fill new elements with. |
template<typename Type>
template<typename Iterator>
void bn:: iforward_list<Type>:: assign(const Iterator& first,
const Iterator& last)
Assigns values to the iforward_
Parameters | |
---|---|
first | Iterator to the first element to insert. |
last | Iterator following to the last element to insert. |
template<typename Type>
void bn:: iforward_list<Type>:: swap(iforward_ list& other)
Exchanges the contents of this iforward_
Parameters | |
---|---|
other | iforward_ |
template<typename Type>
void swap(iforward_ list& a,
iforward_ list& b)
Exchanges the contents of a iforward_
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
template<typename Type>
bool operator==(const iforward_ list& a,
const iforward_ list& b)
Equal operator.
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
Returns | true if the first iforward_false . |
template<typename Type>
bool operator<(const iforward_ list& a,
const iforward_ list& b)
Less than operator.
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
Returns | true if the first iforward_false . |
template<typename Type>
bool operator>(const iforward_ list& a,
const iforward_ list& b)
Greater than operator.
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
Returns | true if the first iforward_false . |
template<typename Type>
bool operator<=(const iforward_ list& a,
const iforward_ list& b)
Less than or equal operator.
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
Returns | true if the first iforward_false . |
template<typename Type>
bool operator>=(const iforward_ list& a,
const iforward_ list& b)
Greater than or equal operator.
Parameters | |
---|---|
a | First iforward_ |
b | Second iforward_ |
Returns | true if the first iforward_false . |