71 iList{ aOther.
begin(), aOther.
end() } {}
73 iList{
std::move(aOther.iList) } {}
75 iList{ aOther.
begin(), aOther.
end() } {}
83 iList = std::move(aOther.iList);
107 constexpr bool operator==(
const self_type& that)
const noexcept
111 constexpr std::partial_ordering
operator<=>(
const self_type& that)
const noexcept
124 return iList.max_size();
134 iList.assign(aOther.begin(), aOther.end());
166 return iList.max_size();
174 if constexpr (std::is_default_constructible_v<value_type>)
176 else if (aSize <=
size())
177 iList.erase(
std::next(iList.begin(), aSize), iList.end());
179 throw std::logic_error{
"neolib::list::value_type not default constructible" };
183 iList.resize(aSize, aValue);
187 iList.push_back(aValue);
212 std::list<value_type> iList;
IteratorType abstract_iterator
const_iterator begin() const
abstract_const_iterator::iterator_wrapper const_iterator
abstract_iterator::iterator_wrapper iterator
ConstIteratorType abstract_const_iterator
const_iterator end() const
i_container< T, ConstIteratorType, IteratorType > generic_container_type
base_type::size_type size_type
IteratorType abstract_iterator
ConstIteratorType abstract_const_iterator
std_type to_std_list() const
abstract_t< T > abstract_value_type
list & operator=(const i_list< T > &aOther)
constexpr std::partial_ordering operator<=>(const self_type &that) const noexcept
abstract_value_type & front() final
i_list< abstract_t< T > > abstract_type
void assign(const generic_container_type &aOther) final
abstract_value_type & back() final
container::const_iterator< T, typename std_type::const_iterator > container_const_iterator
constexpr bool operator==(const self_type &that) const noexcept
list & operator=(const list &aOther)
void push_front(const abstract_value_type &aValue) final
std::list< value_type > std_type
void resize(size_type aSize) final
void reserve(size_type aCapacity) final
void resize(size_type aSize, const abstract_value_type &aValue) final
size_type capacity() const final
size_type size() const noexcept final
list(const i_list< T > &aOther)
size_type max_size() const noexcept final
const abstract_value_type & back() const final
const std_type & as_std_list() const
void push_back(const abstract_value_type &aValue) final
const abstract_value_type & front() const final
list & operator=(list &&aOther)
container::iterator< T, typename std_type::iterator, typename std_type::const_iterator > container_iterator
typename detail::abstract_type< T >::type abstract_t
const abstract_t< T > & to_abstract(const T &aArgument)
it_type next(it_type it, const typename iterator_traits< it_type >::difference_type distance=1)