LSSTApplications  10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction > Class Template Reference

#include <BinaryOp.h>

Inheritance diagram for ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >:

Public Types

typedef ExpressionTraits
< Operand1 >::Iterator 
BaseIterator1
 
typedef ExpressionTraits
< Operand2 >::Iterator 
BaseIterator2
 
typedef ExpressionTraits
< Operation >::Value 
Value
 
typedef ExpressionTraits
< Operation >::Reference 
Reference
 

Public Member Functions

 BinaryOpIterator ()
 
 BinaryOpIterator (BaseIterator1 const &baseIter1, BaseIterator2 const &baseIter2, BinaryFunction const &functor)
 
 BinaryOpIterator (BinaryOpIterator const &other)
 

Private Types

typedef BinaryOpExpression
< Operand1, Operand2,
BinaryFunction > 
Operation
 

Private Member Functions

Reference dereference () const
 

Private Attributes

BinaryFunction _functor
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename Operand1, typename Operand2, typename BinaryFunction>
class ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >

Definition at line 49 of file BinaryOp.h.

Member Typedef Documentation

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
typedef ExpressionTraits<Operand1>::Iterator ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::BaseIterator1

Definition at line 63 of file BinaryOp.h.

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
typedef ExpressionTraits<Operand2>::Iterator ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::BaseIterator2

Definition at line 64 of file BinaryOp.h.

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
typedef BinaryOpExpression<Operand1,Operand2,BinaryFunction> ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::Operation
private

Definition at line 61 of file BinaryOp.h.

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
typedef ExpressionTraits<Operation>::Reference ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::Reference

Definition at line 66 of file BinaryOp.h.

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
typedef ExpressionTraits<Operation>::Value ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::Value

Definition at line 65 of file BinaryOp.h.

Constructor & Destructor Documentation

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::BinaryOpIterator ( )
inline

Definition at line 68 of file BinaryOp.h.

68 : BinaryOpIterator::iterator_adaptor_(), _functor() {}
template<typename Operand1 , typename Operand2 , typename BinaryFunction >
ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::BinaryOpIterator ( BaseIterator1 const &  baseIter1,
BaseIterator2 const &  baseIter2,
BinaryFunction const &  functor 
)
inline

Definition at line 70 of file BinaryOp.h.

74  :
75  BinaryOpIterator::iterator_adaptor_(boost::make_tuple(baseIter1,baseIter2)),
76  _functor(functor) {}
template<typename Operand1 , typename Operand2 , typename BinaryFunction >
ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::BinaryOpIterator ( BinaryOpIterator< Operand1, Operand2, BinaryFunction > const &  other)
inline

Definition at line 78 of file BinaryOp.h.

78  :
79  BinaryOpIterator::iterator_adaptor_(other), _functor(other._functor) {}

Member Function Documentation

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
Reference ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::dereference ( ) const
inlineprivate

Definition at line 84 of file BinaryOp.h.

84  {
85  return vectorize(
86  _functor,
87  this->base_reference()->template get<0>(),
88  this->base_reference()->template get<1>()
89  );
90  }
UnaryFunction::result_type vectorize(UnaryFunction const &functor, Scalar const &scalar)
Apply a non-mutating unary function object to a scalar.
Definition: vectorize.h:85

Friends And Related Function Documentation

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
friend class boost::iterator_core_access
friend

Definition at line 82 of file BinaryOp.h.

Member Data Documentation

template<typename Operand1 , typename Operand2 , typename BinaryFunction >
BinaryFunction ndarray::detail::BinaryOpIterator< Operand1, Operand2, BinaryFunction >::_functor
private

Definition at line 92 of file BinaryOp.h.


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