LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
ndarray::detail::UnaryOpIterator< Operand, UnaryFunction > Class Template Reference

#include <UnaryOp.h>

Inheritance diagram for ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >:

Public Types

typedef ExpressionTraits
< Operand >::Iterator 
BaseIterator
 
typedef ExpressionTraits
< Operation >::Value 
Value
 
typedef ExpressionTraits
< Operation >::Reference 
Reference
 

Public Member Functions

 UnaryOpIterator ()
 
 UnaryOpIterator (BaseIterator const &baseIter, UnaryFunction const &functor)
 
 UnaryOpIterator (UnaryOpIterator const &other)
 

Private Types

typedef UnaryOpExpression
< Operand, UnaryFunction > 
Operation
 

Private Member Functions

Reference dereference () const
 

Private Attributes

UnaryFunction _functor
 

Friends

class boost::iterator_core_access
 

Detailed Description

template<typename Operand, typename UnaryFunction>
class ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >

Definition at line 47 of file UnaryOp.h.

Member Typedef Documentation

template<typename Operand , typename UnaryFunction >
typedef ExpressionTraits<Operand>::Iterator ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::BaseIterator

Definition at line 56 of file UnaryOp.h.

template<typename Operand , typename UnaryFunction >
typedef UnaryOpExpression<Operand,UnaryFunction> ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::Operation
private

Definition at line 54 of file UnaryOp.h.

template<typename Operand , typename UnaryFunction >
typedef ExpressionTraits<Operation>::Reference ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::Reference

Definition at line 58 of file UnaryOp.h.

template<typename Operand , typename UnaryFunction >
typedef ExpressionTraits<Operation>::Value ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::Value

Definition at line 57 of file UnaryOp.h.

Constructor & Destructor Documentation

template<typename Operand , typename UnaryFunction >
ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::UnaryOpIterator ( )
inline

Definition at line 60 of file UnaryOp.h.

60 : UnaryOpIterator::iterator_adaptor_(), _functor() {}
template<typename Operand , typename UnaryFunction >
ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::UnaryOpIterator ( BaseIterator const &  baseIter,
UnaryFunction const &  functor 
)
inline

Definition at line 62 of file UnaryOp.h.

62  :
63  UnaryOpIterator::iterator_adaptor_(baseIter), _functor(functor) {}
template<typename Operand , typename UnaryFunction >
ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::UnaryOpIterator ( UnaryOpIterator< Operand, UnaryFunction > const &  other)
inline

Definition at line 65 of file UnaryOp.h.

65  :
66  UnaryOpIterator::iterator_adaptor_(other), _functor(other._functor) {}

Member Function Documentation

template<typename Operand , typename UnaryFunction >
Reference ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::dereference ( ) const
inlineprivate

Definition at line 71 of file UnaryOp.h.

71  {
72  return vectorize(_functor,*this->base_reference());
73  }
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 Operand , typename UnaryFunction >
friend class boost::iterator_core_access
friend

Definition at line 69 of file UnaryOp.h.

Member Data Documentation

template<typename Operand , typename UnaryFunction >
UnaryFunction ndarray::detail::UnaryOpIterator< Operand, UnaryFunction >::_functor
private

Definition at line 75 of file UnaryOp.h.


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