template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType, typename PredType>
struct variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >
The actual predicate is held as a template parameter here.
There are two template arguments here, one for the actual type of the predicate and one for the iterator type.
在文件 variant_filter_iterator.h 第 238 行定义.
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::Pred |
( |
const PredType & |
v | ) |
|
|
inline |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
virtual variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::~Pred |
( |
| ) |
|
|
virtualdefault |
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
virtual std::unique_ptr<PredBase> variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::clone |
( |
| ) |
const |
|
inlineoverridevirtual |
- 返回
- A copy of this object as a pointer to the base class.
实现了 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::PredBase.
在文件 variant_filter_iterator.h 第 254 行定义.
参考 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::pred_data.
256 return std::make_unique<Pred<IterType,PredType>>(
pred_data);
PredType pred_data
This is the predicate passed in by the user.
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
The redefinition of the const_clone function for the Pred class.
实现了 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::PredBase.
在文件 variant_filter_iterator.h 第 262 行定义.
参考 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::pred_data.
265 return std::make_unique<const_Pred>(
pred_data);
Original Authors: Corwin Joy * Michael Gradman cjoy@houston.rr.com * Michael.Gradman@caminus.com Caminus, Suite 1150, Two Allen Center, 1200 Smith Street, Houston, TX 77002 This class is an extension of variant_bidirectional_iterator to a filter_iterator similar to boost's.
PredType pred_data
This is the predicate passed in by the user.
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
virtual bool variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::operator() |
( |
const std::unique_ptr< IterBase > & |
in | ) |
const |
|
inlineoverridevirtual |
Re-implementation of op()
实现了 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::PredBase.
在文件 variant_filter_iterator.h 第 271 行定义.
参考 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Iter< IterType >::iter_data , 以及 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::pred_data.
276 const Iter<IterType> * p =
277 libMesh::cast_ptr<const Iter<IterType> *>(in.get());
PredType pred_data
This is the predicate passed in by the user.
template<class Predicate, class Type, class ReferenceType = Type &, class PointerType = Type *, class ConstType = const Type, class ConstReferenceType = const Type &, class ConstPointerType = const Type *>
template<typename IterType , typename PredType >
PredType variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::pred_data |
This is the predicate passed in by the user.
在文件 variant_filter_iterator.h 第 286 行定义.
参考自 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::clone(), variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::const_clone() , 以及 variant_filter_iterator< Predicate, Type, ReferenceType, PointerType, ConstType, ConstReferenceType, ConstPointerType >::Pred< IterType, PredType >::operator()().