9#ifndef SL3_CONTAINER_HPP_
10#define SL3_CONTAINER_HPP_
13#include <initializer_list>
19#include <sl3/error.hpp>
39 using container_type = ContainerType;
40 using iterator =
typename container_type::iterator;
41 using const_iterator =
typename container_type::const_iterator;
42 using value_type =
typename container_type::value_type;
43 using reference =
typename container_type::reference;
44 using const_reference =
typename container_type::const_reference;
45 using size_type =
typename container_type::size_type;
70 Container (std::initializer_list<value_type> container)
90 std::is_nothrow_move_constructible<ContainerType>::value) = default;
102 std::is_nothrow_destructible<ContainerType>::value) = default;
111 return std::begin (
_cont);
121 return _cont.cbegin ();
131 return std::end (
_cont);
141 return _cont.cend ();
151 return _cont.cbegin ();
161 return _cont.cend ();
173 return _cont.size ();
const_iterator begin() const
Iterator access.
Definition container.hpp:119
Container(Container &&) noexcept(std::is_nothrow_move_constructible< ContainerType >::value)=default
Move constructor.
size_type size() const
Container size.
Definition container.hpp:171
const_reference at(size_t i) const
checked random access
Definition container.hpp:201
const_iterator end() const
Iterator access.
Definition container.hpp:139
ContainerType _cont
Container T.
Definition container.hpp:238
const_iterator cbegin() const
Iterator access.
Definition container.hpp:149
iterator end()
Iterator access.
Definition container.hpp:129
Container(std::initializer_list< value_type > container)
Constructor.
Definition container.hpp:70
Container(const Container &)=default
Copy Constructor.
Container(ContainerType container)
Constructor.
Definition container.hpp:60
Container() noexcept
Constructor.
Definition container.hpp:54
reference operator[](size_t i)
unchecked random access
Definition container.hpp:220
reference at(size_t i)
checked random access
Definition container.hpp:182
Container & operator=(const Container &)=default
Assignment.
const_iterator cend() const
Iterator access.
Definition container.hpp:159
iterator begin()
Iterator access.
Definition container.hpp:109
Namespace of libSL3.
Definition columns.hpp:18
ErrType< ErrCode::OutOfRange > ErrOutOfRange
thrown if an index op is out of range
Definition error.hpp:114