Loading TemplateTest/main.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -338,7 +338,7 @@ struct NumStruct2 { template<unsigned int... Idxs> auto& operator[](integer_sequence<unsigned int, Idxs...>){ return getTraitedAttribute<Idxs...>(*this); return get<Idxs...>(*this); } }; MAKE_ATTRIBUTE_TRAIT(NumStruct2, data1, data2); Loading @@ -364,7 +364,7 @@ public: template<unsigned int... Idxs> auto& operator[](integer_sequence<unsigned int, Idxs...>){ return getTraitedAttribute<Idxs...>(*this); return get<Idxs...>(*this); } }; } Loading src/Traits/Traits.h +2 −2 Original line number Diff line number Diff line Loading @@ -314,13 +314,13 @@ struct TraitedAttributeGetter<Index>{ template <unsigned int ...Indexes, typename ArythmeticTraitT, typename = typename std::enable_if<HasDefaultArithmeticTraits<ArythmeticTraitT>::value>::type> auto& getTraitedAttribute(ArythmeticTraitT& arg){ auto& get(ArythmeticTraitT& arg){ return Impl::TraitedAttributeGetter<Indexes...>::get(arg); } template <unsigned int ...Indexes, typename ArythmeticTraitT, typename = typename std::enable_if<HasDefaultArithmeticTraits<ArythmeticTraitT>::value>::type> auto& getTraitedAttribute(ArythmeticTraitT* arg){ auto& get(ArythmeticTraitT* arg){ return Impl::TraitedAttributeGetter<Indexes...>::get(arg); } Loading Loading
TemplateTest/main.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -338,7 +338,7 @@ struct NumStruct2 { template<unsigned int... Idxs> auto& operator[](integer_sequence<unsigned int, Idxs...>){ return getTraitedAttribute<Idxs...>(*this); return get<Idxs...>(*this); } }; MAKE_ATTRIBUTE_TRAIT(NumStruct2, data1, data2); Loading @@ -364,7 +364,7 @@ public: template<unsigned int... Idxs> auto& operator[](integer_sequence<unsigned int, Idxs...>){ return getTraitedAttribute<Idxs...>(*this); return get<Idxs...>(*this); } }; } Loading
src/Traits/Traits.h +2 −2 Original line number Diff line number Diff line Loading @@ -314,13 +314,13 @@ struct TraitedAttributeGetter<Index>{ template <unsigned int ...Indexes, typename ArythmeticTraitT, typename = typename std::enable_if<HasDefaultArithmeticTraits<ArythmeticTraitT>::value>::type> auto& getTraitedAttribute(ArythmeticTraitT& arg){ auto& get(ArythmeticTraitT& arg){ return Impl::TraitedAttributeGetter<Indexes...>::get(arg); } template <unsigned int ...Indexes, typename ArythmeticTraitT, typename = typename std::enable_if<HasDefaultArithmeticTraits<ArythmeticTraitT>::value>::type> auto& getTraitedAttribute(ArythmeticTraitT* arg){ auto& get(ArythmeticTraitT* arg){ return Impl::TraitedAttributeGetter<Indexes...>::get(arg); } Loading