61 template<
typename T, 
typename W>
 
   75 template<
typename T, 
typename W>
 
   99          typename N = DefaultNextElement<T>,
 
  100          typename C = DefaultWrapperCast<T, W>,
 
  101          typename R = DefaultResetPtr<T, W>,
 
  102          typename D = NullDeleter<T>,
 
  103          typename I = std::forward_iterator_tag>
 
  115     template<
bool constIterator = false>
 
  120         std::iterator_traits<base_iterator> 
d;
 
  123         using value_type = 
typename std::conditional<constIterator, const element_wrapper_type, element_wrapper_type>::type;
 
  129         using ElementType = 
typename std::conditional<constIterator, const element_type, element_type>::type;
 
  130         using WrapperType = 
typename std::conditional<constIterator, const element_wrapper_type, element_wrapper_type>::type;
 
  141             resetPtr(wrapper, ptr);
 
  149             ptr = getNextPtr(ptr);
 
  150             resetPtr(wrapper, ptr);
 
  243         return std::distance(
begin(), 
end());
 
  253         size_t size = 
count();
 
  258         std::advance(it, idx);
 
Definition: linkedlistutils.h:117
 
typename std::conditional< constIterator, const element_wrapper_type, element_wrapper_type >::type value_type
Definition: linkedlistutils.h:123
 
~base_iterator()
Definition: linkedlistutils.h:144
 
base_iterator operator++(int)
Definition: linkedlistutils.h:155
 
ptrdiff_t difference_type
Definition: linkedlistutils.h:124
 
bool operator!=(const base_iterator &rhs) const
Definition: linkedlistutils.h:163
 
base_iterator(element_type *ptr)
Definition: linkedlistutils.h:138
 
WrapperType & operator*() noexcept
Definition: linkedlistutils.h:165
 
bool operator==(const base_iterator &rhs) const
Definition: linkedlistutils.h:162
 
value_type * pointer
Definition: linkedlistutils.h:125
 
std::iterator_traits< base_iterator > d
Definition: linkedlistutils.h:120
 
iterator_category iterator_category
Definition: linkedlistutils.h:122
 
base_iterator & operator++()
Definition: linkedlistutils.h:147
 
value_type & reference
Definition: linkedlistutils.h:126
 
WrapperType * operator->() noexcept
Definition: linkedlistutils.h:170
 
Universal wrapper for one directional linked list elements.
Definition: linkedlistutils.h:105
 
W element_wrapper_type
Definition: linkedlistutils.h:108
 
element_type * raw()
Definition: linkedlistutils.h:205
 
const element_type * raw() const
Definition: linkedlistutils.h:210
 
base_iterator< false > iterator
Definition: linkedlistutils.h:177
 
iterator begin()
Definition: linkedlistutils.h:215
 
element_type * m_begin
Definition: linkedlistutils.h:265
 
LinkedListWrapper(element_type *begin)
Definition: linkedlistutils.h:186
 
D deleter_type
Definition: linkedlistutils.h:112
 
iterator end()
Definition: linkedlistutils.h:221
 
wrapper_cast_type m_wrapperCast
Definition: linkedlistutils.h:264
 
element_type * m_end
Definition: linkedlistutils.h:266
 
N next_element_type
Definition: linkedlistutils.h:109
 
const_iterator end() const
Definition: linkedlistutils.h:233
 
size_t count() const
Log(N) complexity!
Definition: linkedlistutils.h:241
 
C wrapper_cast_type
Definition: linkedlistutils.h:110
 
R wrapper_reset_type
Definition: linkedlistutils.h:111
 
bool isValid()
Definition: linkedlistutils.h:200
 
~LinkedListWrapper()
Definition: linkedlistutils.h:193
 
I iterator_category
Definition: linkedlistutils.h:113
 
element_wrapper_type at(size_t idx) const
Log(N) complexity.
Definition: linkedlistutils.h:251
 
const_iterator begin() const
Definition: linkedlistutils.h:227
 
LinkedListWrapper()
Definition: linkedlistutils.h:180
 
T element_type
Definition: linkedlistutils.h:107
 
base_iterator< true > const_iterator
Definition: linkedlistutils.h:178
 
Definition: audioresampler.cpp:8
 
This functor uses simple notation to take next element from linked list.
Definition: linkedlistutils.h:37
 
T * operator()(T *x) const
Definition: linkedlistutils.h:38
 
This functor used by default to set new pointer that will be wrapped by W wrapper.
Definition: linkedlistutils.h:77
 
void operator()(W &wrapper, T *ptr) const
Definition: linkedlistutils.h:78
 
This functor used by default to take access to raw pointer that wrapped by W wrapper.
Definition: linkedlistutils.h:63
 
T * operator()(const W &wrapper) const
Definition: linkedlistutils.h:64
 
This functor uses increment operation to take next element in list/array.
Definition: linkedlistutils.h:50
 
T * operator()(T *x) const
Definition: linkedlistutils.h:51
 
This deleter does nothing.
Definition: linkedlistutils.h:12
 
void operator()(T *) const
Definition: linkedlistutils.h:13
 
This deleter simple call 'delete' operator.
Definition: linkedlistutils.h:23
 
void operator()(T *x) const
Definition: linkedlistutils.h:24