Go to the documentation of this file.
34 template<
class IteratorType>
41 template<
class IteratorType>
52 return IteratorType(list,
nullptr);
56 template<
class IteratorType>
67 return IteratorType(list,
nullptr);
151 std::swap(last_, lst.last_);
152 std::swap(size_, lst.size_);
175 return remove(iter.node_);
191 if (node_ !=
nullptr)
207 return (node_ !=
nullptr);
215 if (node_ == list_->last_ || list_->last_ ==
nullptr)
238 return node_ == iter.node_;
244 return node_ != iter.node_;
253 return iterator_first<iterator>();
263 return iterator_end<SLListBase::iterator>();
270 return iterator_end<SLListBase::const_iterator>();
306 return (node_ !=
nullptr);
314 if (node_ == list_->last_)
320 node_ = node_->next_;
326 inline bool Foam::SLListBase::const_iterator::operator==
331 return node_ == iter.node_;
335 inline bool Foam::SLListBase::const_iterator::operator!=
340 return node_ != iter.node_;
349 return iterator_first<const_iterator>();
const_iterator cbegin() const
const NullObject * nullObjectPtr
const_iterator(const const_iterator &)=default
link * remove(link *item)
IteratorType iterator_last() const
bool operator!=(const iterator &iter) const
const link * get_node() const
static const IteratorType & iterator_end()
void swap(SLListBase &lst)
void transfer(SLListBase &lst)
constexpr auto end(C &c) -> decltype(c.end())
errorManip< error > abort(error &err)
constexpr auto cend(const C &c) -> decltype(c.end())
#define FatalErrorInFunction
label size() const noexcept
iterator(const iterator &)=default
Base for singly-linked lists.
friend class const_iterator
void operator=(const iterator &iter)
bool operator==(const iterator &iter) const
link * remove(iterator &iter)
bool empty() const noexcept
IteratorType iterator_first() const
const const_iterator & cend() const