LIEF: Library to Instrument Executable Formats Version 0.15.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
LIEF::filter_iterator< T, U, ITERATOR_T > Class Template Reference

Iterator which return a ref on container's values given predicates. More...

#include <iterators.hpp>

Public Types

using iterator_category = std::forward_iterator_tag
 
using value_type = decay_t<U>
 
using difference_type = ptrdiff_t
 
using pointer = typename std::remove_pointer<U>::type*
 
using reference = typename std::remove_pointer<U>::type&
 
using container_type = T
 
using DT_VAL = U
 
using DT = decay_t<T>
 
using ref_t = typename filter_iterator::reference
 
using pointer_t = typename filter_iterator::pointer
 
using filter_t = std::function<bool (const typename DT::value_type&)>
 

Public Member Functions

 filter_iterator (T container, filter_t filter)
 
 filter_iterator (T container, const std::vector< filter_t > &filters)
 
 filter_iterator (T container)
 
 filter_iterator (const filter_iterator &copy)
 
filter_iteratoroperator= (filter_iterator other)
 
void swap (filter_iterator &other)
 
filter_iteratordef (filter_t func)
 
filter_iteratoroperator++ ()
 
filter_iterator operator++ (int)
 
filter_iterator begin () const
 
filter_iterator cbegin () const
 
filter_iterator end () const
 
filter_iterator cend () const
 
std::enable_if<!std::is_const< ref_t >::value, remove_const_t< ref_t > >::type operator* ()
 
template<typename V = DT_VAL>
std::enable_if< std::is_pointer< V >::value, add_const_t< ref_t > >::type operator* () const
 
template<typename V = DT_VAL>
std::enable_if<!std::is_pointer< V >::value, add_const_t< ref_t > >::type operator* () const
 
std::enable_if<!std::is_const< ref_t >::value, remove_const_t< ref_t > >::type operator[] (size_t n)
 
add_const_t< ref_t > operator[] (size_t n) const
 
std::enable_if<!std::is_const< pointer_t >::value, pointer_t >::type operator-> ()
 
add_const_t< pointer_t > operator-> () const
 
size_t size () const
 
bool empty () const
 
bool operator== (const filter_iterator &other) const
 
bool operator!= (const filter_iterator &other) const
 

Detailed Description

template<class T, typename U = typename decay_t<T>::value_type, class ITERATOR_T = typename decay_t<T>::iterator>
class LIEF::filter_iterator< T, U, ITERATOR_T >

Iterator which return a ref on container's values given predicates.


The documentation for this class was generated from the following file: