template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
struct variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase
Abstract base class for the iterator type.
Ideally these mixin classes would be protected, but due to the fact that different templated versions of the same class (which are not related by inheritance) need to be able to see each other's IterBase and PredBase members, the mixin classes are in the public interface.
在文件 variant_filter_iterator.h 第 76 行定义.
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
virtual std::unique_ptr<IterBase> variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase::clone |
( |
| ) |
const |
|
pure virtual |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
virtual std::unique_ptr<const_IterBase> variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase::const_clone |
( |
| ) |
const |
|
pure virtual |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
virtual bool variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase::equal |
( |
const std::unique_ptr< IterBase > & |
other | ) |
const |
|
pure virtual |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
virtual ReferenceType variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase::operator* |
( |
| ) |
const |
|
pure virtual |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
virtual IterBase& variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::IterBase::operator++ |
( |
| ) |
|
|
pure virtual |