fix after Laurent's comment

This commit is contained in:
Sébastien Loriot 2023-04-07 11:28:20 +02:00
parent 6dec6c320d
commit c0ec1b96f5
3 changed files with 15 additions and 10 deletions

View File

@ -45,8 +45,9 @@ public:
PointC3(const FT &x, const FT &y, const FT &z)
: base(x, y, z) {}
PointC3(FT &&x, FT &&y, FT &&z)
: base(std::forward<FT>(x), std::forward<FT>(y), std::forward<FT>(z))
template <class T1, class T2, class T3>
PointC3(T1 &&x, T2 &&y, T3 &&z)
: base(std::forward<T1>(x), std::forward<T2>(y), std::forward<T3>(z))
{}

View File

@ -67,8 +67,9 @@ public:
VectorC3(const FT_ &x, const FT_ &y, const FT_ &z)
: base(Rep{x, y, z}) {}
VectorC3(FT_ &&x, FT_ &&y, FT_ &&z)
: base(Rep{std::forward<FT_>(x), std::forward<FT_>(y), std::forward<FT_>(z)}) {}
template <class T1, class T2, class T3>
VectorC3(T1 &&x, T2 &&y, T3 &&z)
: base(Rep{std::forward<T1>(x), std::forward<T2>(y), std::forward<T3>(z)}) {}
VectorC3(const FT_ &x, const FT_ &y, const FT_ &z, const FT_ &w)
: base( w != FT_(1) ? CGAL::make_array<FT_>(x/w, y/w, z/w)

View File

@ -3160,9 +3160,10 @@ namespace CartesianKernelFunctors {
operator()(Return_base_tag, const RT& x, const RT& y, const RT& z) const
{ return Rep(x, y, z); }
template <class T1, class T2, class T3>
Rep // Point_3
operator()(Return_base_tag, RT&& x, RT&& y, RT&& z) const
{ return Rep(std::forward<RT>(x), std::forward<RT>(y), std::forward<RT>(z)); }
operator()(Return_base_tag, T1&& x, T2&& y, T3&& z) const
{ return Rep(std::forward<T1>(x), std::forward<T2>(y), std::forward<T3>(z)); }
Rep // Point_3
operator()(Return_base_tag, const RT& x, const RT& y, const RT& z, const RT& w) const
@ -3184,9 +3185,10 @@ namespace CartesianKernelFunctors {
operator()(const RT& x, const RT& y, const RT& z) const
{ return Point_3(x, y, z); }
template <class T1, class T2, class T3>
Point_3
operator()(RT&& x, RT&& y, RT&& z) const
{ return Point_3(std::forward<RT>(x), std::forward<RT>(y), std::forward<RT>(z)); }
operator()(T1&& x, T2&& y, T3&& z) const
{ return Point_3(std::forward<T1>(x), std::forward<T2>(y), std::forward<T3>(z)); }
Point_3
operator()(const RT& x, const RT& y, const RT& z, const RT& w) const
@ -3679,9 +3681,10 @@ namespace CartesianKernelFunctors {
operator()(Return_base_tag, const RT& x, const RT& y, const RT& z) const
{ return Rep(x, y, z); }
template<class T1, class T2, class T3>
Rep // Vector_3
operator()(Return_base_tag, RT&& x, RT&& y, RT&& z) const
{ return Rep(std::forward<RT>(x), std::forward<RT>(y), std::forward<RT>(z)); }
operator()(Return_base_tag, T1&& x, T2&& y, T3&& z) const
{ return Rep(std::forward<T1>(x), std::forward<T2>(y), std::forward<T3>(z)); }
Rep // Vector_3
operator()(Return_base_tag, const RT& x, const RT& y, const RT& z, const RT& w) const