1 #ifndef MHO_FunctorBroadcaster_HH__
2 #define MHO_FunctorBroadcaster_HH__
68 auto in_iter = in->begin();
69 auto in_iter_end = in->end();
70 while(in_iter != in_iter_end)
90 if(in !=
nullptr && out !=
nullptr)
95 std::size_t in_dim[XArrayType::rank::value];
96 std::size_t out_dim[XArrayType::rank::value];
97 in->GetDimensions(in_dim);
98 out->GetDimensions(out_dim);
100 bool have_to_resize =
false;
101 for(std::size_t i = 0; i < XArrayType::rank::value; i++)
103 if(out_dim[i] != in_dim[i])
105 have_to_resize =
true;
133 auto in_iter = in->cbegin();
134 auto in_iter_end = in->cend();
135 auto out_iter = out->begin();
136 auto out_iter_end = out->end();
137 while(in_iter != in_iter_end && out_iter != out_iter_end)
139 fFunctor(in_iter, out_iter);
150 XFunctorType fFunctor;
Class MHO_FunctorBroadcaster.
Definition: MHO_FunctorBroadcaster.hh:25
virtual bool InitializeOutOfPlace(const XArrayType *in, XArrayType *out) override
Function InitializeOutOfPlace - initialization for out-of-place transformation.
Definition: MHO_FunctorBroadcaster.hh:88
virtual ~MHO_FunctorBroadcaster()
Definition: MHO_FunctorBroadcaster.hh:29
XFunctorType * GetFunctor()
Getter for functor class object.
Definition: MHO_FunctorBroadcaster.hh:37
virtual bool ExecuteOutOfPlace(const XArrayType *in, XArrayType *out) override
Executes an out-of-place operation using a functor and input/output iterators.
Definition: MHO_FunctorBroadcaster.hh:128
MHO_FunctorBroadcaster()
Definition: MHO_FunctorBroadcaster.hh:27
virtual bool ExecuteInPlace(XArrayType *in) override
Applies functor to input array in-place if initialized.
Definition: MHO_FunctorBroadcaster.hh:63
virtual bool InitializeInPlace(XArrayType *in) override
Initializes in-place operation flag if input is not nullptr.
Definition: MHO_FunctorBroadcaster.hh:47
Class MHO_UnaryOperator.
Definition: MHO_UnaryOperator.hh:24
Definition: MHO_ChannelLabeler.hh:17