From a5e6a982e42fc13760351f2a94f0ec06583549af Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@cnes.fr> Date: Mon, 19 Nov 2018 13:29:19 +0100 Subject: [PATCH] ENH: VNamed -> VariadicNamed --- .../otbVariadicNamedInputsImageFilter.h | 4 ++-- .../Functor/test/otbFunctorImageFilter.cxx | 18 +++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Modules/Core/Functor/include/otbVariadicNamedInputsImageFilter.h b/Modules/Core/Functor/include/otbVariadicNamedInputsImageFilter.h index a2c342ffc6..3110a0ef47 100644 --- a/Modules/Core/Functor/include/otbVariadicNamedInputsImageFilter.h +++ b/Modules/Core/Functor/include/otbVariadicNamedInputsImageFilter.h @@ -57,13 +57,13 @@ public: itkNewMacro(Self); - template <typename Tag> void SetVNamedInput(const InputImageType<internal::tuple_index<Tag, TInputNameMap>::value> * inputPtr) + template <typename Tag> void SetVariadicNamedInput(const InputImageType<internal::tuple_index<Tag, TInputNameMap>::value> * inputPtr) { constexpr size_t idx = internal::tuple_index<Tag, TInputNameMap>::value; this->SetNthInput(idx,const_cast<InputImageType<idx> *>(inputPtr)); } - template <typename Tag> const InputImageType<internal::tuple_index<Tag,TInputNameMap>::value> * GetVNamedInput() + template <typename Tag> const InputImageType<internal::tuple_index<Tag,TInputNameMap>::value> * GetVariadicNamedInput() { constexpr size_t idx = internal::tuple_index<Tag, TInputNameMap>::value; return dynamic_cast<const InputImageType<idx> *>(this->GetInput(idx)); diff --git a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx index 2effb2f18b..38bb11eb39 100644 --- a/Modules/Core/Functor/test/otbFunctorImageFilter.cxx +++ b/Modules/Core/Functor/test/otbFunctorImageFilter.cxx @@ -117,14 +117,18 @@ template <typename T> struct TypesCheck filter->SetVariadicInputs(in); filter->SetInput1(in); - filter->template SetVariadicInput<0>(in); // template keyword to avoid C++ parse ambiguity + filter->template SetVariadicInput<0>(in); // template keyword to + // avoid C++ parse + // ambiguity + auto res = filter->template GetVariadicInput<0>(); filter->Update(); // Test named input version struct tag{}; using inputNames = std::tuple<tag>; auto filter1 = NewFunctorFilter<decltype(functor),inputNames>(functor); - filter1->template SetVNamedInput<tag>(in); + filter1->template SetVariadicNamedInput<tag>(in); + res = filter1->template GetVariadicNamedInput<tag>(); filter1->Update(); // Test with simple lambda @@ -308,10 +312,10 @@ int otbFunctorImageFilter(int itkNotUsed(argc), char * itkNotUsed(argv) []) struct pan {}; using Names = std::tuple<xs,pan>; auto filterWithNames = otb::VariadicNamedInputsImageFilter<VectorImageType, Names, VectorImageType,ImageType>::New(); - filterWithNames->SetVNamedInput<xs>(vimage); - filterWithNames->SetVNamedInput<pan>(image); + filterWithNames->SetVariadicNamedInput<xs>(vimage); + filterWithNames->SetVariadicNamedInput<pan>(image); - std::cout<<filterWithNames->GetVNamedInput<xs>()<< filterWithNames->GetVNamedInput<pan>()<<std::endl; + std::cout<<filterWithNames->GetVariadicNamedInput<xs>()<< filterWithNames->GetVariadicNamedInput<pan>()<<std::endl; @@ -354,8 +358,8 @@ int otbFunctorImageFilter(int itkNotUsed(argc), char * itkNotUsed(argv) []) // Test FunctorImageFilter With VariadicAdd functor using AddFunctorType = Functor::VariadicAdd<double, double, double>; auto add = NewFunctorFilter(AddFunctorType{}); - add->SetVInput<0>(image); - add->SetVInput<1>(image); + add->SetVariadicInput<0>(image); + add->SetVariadicInput<1>(image); add->Update(); // Test FunctorImageFilter with BandExtraction functor -- GitLab