11#ifndef MCRL2_LTS_DETAIL_EMBEDDED_LIST_H
12#define MCRL2_LTS_DETAIL_EMBEDDED_LIST_H
17namespace mcrl2::lts::
detail
47template <
class TYPE >
59 std::size_t count_up=0;
60 for(TYPE* walker=
m_first; walker!=
nullptr && count_up<=
m_size ; walker=walker->m_next)
65 std::size_t count_down=0;
66 for(TYPE* walker=
m_last; walker!=
nullptr && count_down<=
m_size ; walker=walker->m_prev)
76 for(TYPE* walker=
m_first; walker!=
nullptr; walker=walker->m_next)
168 if (e.m_next==
nullptr)
175 assert(e.m_next->m_prev!=
nullptr);
176 e.m_next->m_prev = e.m_prev;
179 if (e.m_prev==
nullptr)
186 assert(e.m_prev->m_next!=
nullptr);
187 e.m_prev->m_next = e.m_next;
206
207
276 return m_ptr==other.m_ptr;
281 return !(*
this==other);
bool operator==(const iterator &other) const
bool operator!=(const iterator &other) const
friend class embedded_list
embedded_list(const embedded_list &other)=default
embedded_list & operator=(const embedded_list &other)=default
bool check_this_embedded_list() const
void append(embedded_list &l)
bool check_presence(const TYPE &e) const
std::size_t operator()(const std::vector< X > &v) const