diff --git a/Kernel_23/include/CGAL/Circle_2.h b/Kernel_23/include/CGAL/Circle_2.h index c9522d24c02..1df991470e7 100644 --- a/Kernel_23/include/CGAL/Circle_2.h +++ b/Kernel_23/include/CGAL/Circle_2.h @@ -63,6 +63,9 @@ public: Circle_2(const RCircle_2& t) : RCircle_2(t) {} + Circle_2(RCircle_2&& t) + : RCircle_2(std::move(t)) {} + Circle_2(const Point_2 ¢er, const FT &squared_radius, const Orientation &orientation) : RCircle_2(typename R::Construct_circle_2()(Return_base_tag(), center, squared_radius, orientation)) {} diff --git a/Kernel_23/include/CGAL/Circle_3.h b/Kernel_23/include/CGAL/Circle_3.h index e2c5c6c9adc..6eacf100e95 100644 --- a/Kernel_23/include/CGAL/Circle_3.h +++ b/Kernel_23/include/CGAL/Circle_3.h @@ -93,6 +93,9 @@ public: Circle_3(const Rep& r) : Rep(r) {} + Circle_3(Rep&& r) + : Rep(std::move(r)) {} + typename cpp11::result_of ::type diametral_sphere() const diff --git a/Kernel_23/include/CGAL/Direction_2.h b/Kernel_23/include/CGAL/Direction_2.h index 6517028cfa0..dc732b055e6 100644 --- a/Kernel_23/include/CGAL/Direction_2.h +++ b/Kernel_23/include/CGAL/Direction_2.h @@ -66,6 +66,9 @@ public: Direction_2(const RDirection_2& d) : RDirection_2(d) {} + Direction_2(RDirection_2&& d) + : RDirection_2(std::move(d)) {} + explicit Direction_2(const Vector_2& v) : RDirection_2(typename R::Construct_direction_2()(Return_base_tag(), v)) {} diff --git a/Kernel_23/include/CGAL/Direction_3.h b/Kernel_23/include/CGAL/Direction_3.h index 3c491375d03..296d5d25fa9 100644 --- a/Kernel_23/include/CGAL/Direction_3.h +++ b/Kernel_23/include/CGAL/Direction_3.h @@ -65,6 +65,9 @@ public: Direction_3(const Rep& d) : Rep(d) {} + Direction_3(Rep&& d) + : Rep(std::move(d)) {} + explicit Direction_3(const Vector_3& v) : Rep(typename R::Construct_direction_3()(Return_base_tag(), v)) {} diff --git a/Kernel_23/include/CGAL/Line_2.h b/Kernel_23/include/CGAL/Line_2.h index 79b4dcbc9f8..a397e121c03 100644 --- a/Kernel_23/include/CGAL/Line_2.h +++ b/Kernel_23/include/CGAL/Line_2.h @@ -66,6 +66,9 @@ public: Line_2(const RLine_2& l) // conversion impl -> interface class : RLine_2(l) {} + Line_2(RLine_2&& l) + : RLine_2(std::move(l)) {} + Line_2(const Point_2 &p, const Point_2 &q) : RLine_2(typename R::Construct_line_2()(Return_base_tag(), p,q)) {} diff --git a/Kernel_23/include/CGAL/Line_3.h b/Kernel_23/include/CGAL/Line_3.h index ef303c87d34..0c5b0c77365 100644 --- a/Kernel_23/include/CGAL/Line_3.h +++ b/Kernel_23/include/CGAL/Line_3.h @@ -66,6 +66,9 @@ public: Line_3(const Rep& l) : Rep(l) {} + Line_3(Rep&& l) + : Rep(std::move(l)) {} + Line_3(const Point_3 & p, const Point_3 & q) : Rep(typename R::Construct_line_3()(Return_base_tag(), p, q)) {} diff --git a/Kernel_23/include/CGAL/Plane_3.h b/Kernel_23/include/CGAL/Plane_3.h index 1cb4aaff9bb..5826926013a 100644 --- a/Kernel_23/include/CGAL/Plane_3.h +++ b/Kernel_23/include/CGAL/Plane_3.h @@ -67,6 +67,9 @@ public: Plane_3(const Rep& p) : Rep(p) {} + Plane_3(Rep&& p) + : Rep(std::move(p)) {} + Plane_3(const Point_3& p, const Point_3& q, const Point_3& r) : Rep(typename R::Construct_plane_3()(Return_base_tag(), p, q, r)) {} diff --git a/Kernel_23/include/CGAL/Point_2.h b/Kernel_23/include/CGAL/Point_2.h index 7358d0dc46b..ced5d12907d 100644 --- a/Kernel_23/include/CGAL/Point_2.h +++ b/Kernel_23/include/CGAL/Point_2.h @@ -70,6 +70,10 @@ public: : RPoint_2(p) {} + Point_2(RPoint_2&& p) + : RPoint_2(std::move(p)) + {} + explicit Point_2(const Weighted_point_2& wp) : Rep(wp.point()) diff --git a/Kernel_23/include/CGAL/Point_3.h b/Kernel_23/include/CGAL/Point_3.h index 01b07bd3e0e..2ba341cd659 100644 --- a/Kernel_23/include/CGAL/Point_3.h +++ b/Kernel_23/include/CGAL/Point_3.h @@ -67,6 +67,9 @@ public: Point_3(const Rep& p) : Rep(p) {} + Point_3(Rep&& p) + : Rep(std::move(p)) {} + explicit Point_3(const Weighted_point_3& wp) : Rep(wp.point()) diff --git a/Kernel_23/include/CGAL/Ray_2.h b/Kernel_23/include/CGAL/Ray_2.h index b0568ee2cd3..d9040a53a16 100644 --- a/Kernel_23/include/CGAL/Ray_2.h +++ b/Kernel_23/include/CGAL/Ray_2.h @@ -68,6 +68,9 @@ public: Ray_2(const RRay_2& r) : RRay_2(r) {} + Ray_2(RRay_2&& r) + : RRay_2(std::move(r)) {} + Ray_2(const Point_2 &sp, const Point_2 &secondp) : RRay_2(typename R::Construct_ray_2()(Return_base_tag(), sp, secondp)) {} diff --git a/Kernel_23/include/CGAL/Ray_3.h b/Kernel_23/include/CGAL/Ray_3.h index 242edee56c5..1371ae82475 100644 --- a/Kernel_23/include/CGAL/Ray_3.h +++ b/Kernel_23/include/CGAL/Ray_3.h @@ -64,6 +64,9 @@ public: Ray_3(const Rep& r) : Rep(r) {} + Ray_3(Rep&& r) + : Rep(std::move(r)) {} + Ray_3(const Point_3& sp, const Point_3& secondp) : Rep(typename R::Construct_ray_3()(Return_base_tag(), sp, secondp)) {} diff --git a/Kernel_23/include/CGAL/Segment_2.h b/Kernel_23/include/CGAL/Segment_2.h index a318f285648..8dc249d3ca1 100644 --- a/Kernel_23/include/CGAL/Segment_2.h +++ b/Kernel_23/include/CGAL/Segment_2.h @@ -67,6 +67,9 @@ public: Segment_2(const RSegment_2& s) : RSegment_2(s) {} + Segment_2(RSegment_2&& s) + : RSegment_2(std::move(s)) {} + Segment_2(const Point_2 &sp, const Point_2 &ep) : RSegment_2(typename R::Construct_segment_2()(Return_base_tag(), sp,ep)) {} diff --git a/Kernel_23/include/CGAL/Segment_3.h b/Kernel_23/include/CGAL/Segment_3.h index da8783d67fb..56c9b447970 100644 --- a/Kernel_23/include/CGAL/Segment_3.h +++ b/Kernel_23/include/CGAL/Segment_3.h @@ -65,6 +65,9 @@ public: Segment_3(const Rep& s) : Rep(s) {} + Segment_3(Rep&& s) + : Rep(std::move(s)) {} + Segment_3(const Point_3& sp, const Point_3& ep) : Rep(typename R::Construct_segment_3()(Return_base_tag(), sp, ep)) {} diff --git a/Kernel_23/include/CGAL/Sphere_3.h b/Kernel_23/include/CGAL/Sphere_3.h index 8e9076b6c3c..c52c1c36b80 100644 --- a/Kernel_23/include/CGAL/Sphere_3.h +++ b/Kernel_23/include/CGAL/Sphere_3.h @@ -62,6 +62,9 @@ public: Sphere_3(const Rep& s) : Rep(s) {} + Sphere_3(Rep&& s) + : Rep(std::move(s)) {} + Sphere_3(const Point_3_& p, const FT& sq_rad, const Orientation& o = COUNTERCLOCKWISE) : Rep(typename R::Construct_sphere_3()(Return_base_tag(), p, sq_rad, o)) {} diff --git a/Kernel_23/include/CGAL/Tetrahedron_3.h b/Kernel_23/include/CGAL/Tetrahedron_3.h index 5916902e060..b69940ff975 100644 --- a/Kernel_23/include/CGAL/Tetrahedron_3.h +++ b/Kernel_23/include/CGAL/Tetrahedron_3.h @@ -58,6 +58,9 @@ public: Tetrahedron_3(const Rep& t) : Rep(t) {} + Tetrahedron_3(Rep&& t) + : Rep(std::move(t)) {} + Tetrahedron_3(const Point_3& p, const Point_3& q, const Point_3& r, const Point_3& s) : Rep(typename R::Construct_tetrahedron_3()(Return_base_tag(), p, q, r, s)) {} diff --git a/Kernel_23/include/CGAL/Vector_2.h b/Kernel_23/include/CGAL/Vector_2.h index fed404db54b..50d927b190b 100644 --- a/Kernel_23/include/CGAL/Vector_2.h +++ b/Kernel_23/include/CGAL/Vector_2.h @@ -71,6 +71,9 @@ public: Vector_2(const RVector_2& v) : RVector_2(v) {} + Vector_2(RVector_2&& v) + : RVector_2(std::move(v)) {} + Vector_2(const Point_2& a, const Point_2& b) : RVector_2(typename R::Construct_vector_2()(Return_base_tag(), a, b)) {} diff --git a/Kernel_23/include/CGAL/Vector_3.h b/Kernel_23/include/CGAL/Vector_3.h index 9304ca4701b..5cba6b0907b 100644 --- a/Kernel_23/include/CGAL/Vector_3.h +++ b/Kernel_23/include/CGAL/Vector_3.h @@ -71,6 +71,9 @@ public: Vector_3(const Rep& v) : Rep(v) {} + Vector_3(Rep&& v) + : Rep(std::move(v)) {} + Vector_3(const Point_3& a, const Point_3& b) : Rep(typename R::Construct_vector_3()(Return_base_tag(), a, b)) {} diff --git a/Kernel_23/include/CGAL/Weighted_point_2.h b/Kernel_23/include/CGAL/Weighted_point_2.h index d6b05f0fa35..b26cfb4cbda 100644 --- a/Kernel_23/include/CGAL/Weighted_point_2.h +++ b/Kernel_23/include/CGAL/Weighted_point_2.h @@ -70,6 +70,9 @@ public: Weighted_point_2(const Rep& p) : Rep(p) {} + Weighted_point_2(Rep&& p) + : Rep(std::move(p)) {} + explicit Weighted_point_2(const Point_2& p) : Rep(typename R::Construct_weighted_point_2()(Return_base_tag(), p, 0)) diff --git a/Kernel_23/include/CGAL/Weighted_point_3.h b/Kernel_23/include/CGAL/Weighted_point_3.h index fa7e525040c..9130ab838ad 100644 --- a/Kernel_23/include/CGAL/Weighted_point_3.h +++ b/Kernel_23/include/CGAL/Weighted_point_3.h @@ -71,6 +71,9 @@ public: Weighted_point_3(const Rep& p) : Rep(p) {} + Weighted_point_3(Rep&& p) + : Rep(std::move(p)) {} + explicit Weighted_point_3(const Point_3& p) : Rep(typename R::Construct_weighted_point_3()(Return_base_tag(), p, 0))