1 #ifndef FilteredConfigIterator_HH
2 #define FilteredConfigIterator_HH
12 template <
typename IteratorType>
13 class FilteredConfigIterator;
15 template <
typename IteratorType>
16 void swap(FilteredConfigIterator<IteratorType> &a,
17 FilteredConfigIterator<IteratorType> &b);
25 template <
typename IteratorType>
27 : std::iterator<std::input_iterator_tag,
28 typename IteratorType::value_type> {
30 using pointer =
typename IteratorType::pointer;
37 const std::string &filter_expr,
49 const std::vector<std::string> &filter_expr,
103 template <
typename IteratorType>
113 template <
typename IteratorType,
typename DataObject>
115 const IteratorType &it,
const IteratorType &it_end,
116 const std::vector<std::string> &filter_expr,
121 template <
typename IteratorType>
typename IteratorType::pointer pointer
FilteredConfigIterator operator++(int)
typename IteratorType::reference reference
FilteredConfigIterator(const IteratorType &_end)
DataFormatter< DataObject > m_filter
FilteredConfigIterator(const IteratorType &_begin, const IteratorType &_end, const std::vector< std::string > &filter_expr, const DataFormatterDictionary< DataObject > &_dict)
bool operator==(const FilteredConfigIterator &iter) const
typename IteratorType::value_type DataObject
FilteredConfigIterator & operator++()
pointer operator->() const
reference operator*() const
FilteredConfigIterator(const IteratorType &_begin, const IteratorType &_end, const std::string &filter_expr, const DataFormatterDictionary< DataObject > &_dict)
bool operator!=(const FilteredConfigIterator &iter) const
void swap(ConfigDoF &A, ConfigDoF &B)
FilteredConfigIterator< IteratorType > filter_begin(const IteratorType &it, const IteratorType &it_end, const std::vector< std::string > &filter_expr, const DataFormatterDictionary< DataObject > &_dict)
FilteredConfigIterator< IteratorType > filter_end(const IteratorType &it_end)
void swap(FilteredConfigIterator< IteratorType > &a, FilteredConfigIterator< IteratorType > &b)
Definitions.