diff --git a/Documentation/doc/Documentation/Third_party.txt b/Documentation/doc/Documentation/Third_party.txt
index e012763b266..0a47a9f2dd6 100644
--- a/Documentation/doc/Documentation/Third_party.txt
+++ b/Documentation/doc/Documentation/Third_party.txt
@@ -248,9 +248,8 @@ imported target `CGAL::LASLIB_support` provided in
\laslib information can be obtained from
https://lastools.github.io/ and
https://rapidlasso.de/product-overview/.
-\laslib is usually distributed along with LAStools: for simplicity, \cgal
-provides a fork with a
-CMake based install procedure.
+\laslib is usually distributed along with LAStools. Current versions of \laslib provide CMake support.
+BUILD_SHARED_LIBS needs to be set to true on windows to create a dynamic linked library.
\subsection thirdpartyOpenCV OpenCV
diff --git a/Point_set_processing_3/examples/Point_set_processing_3/read_las_example.cpp b/Point_set_processing_3/examples/Point_set_processing_3/read_las_example.cpp
index 11d266a2d5b..b15265bcb5f 100644
--- a/Point_set_processing_3/examples/Point_set_processing_3/read_las_example.cpp
+++ b/Point_set_processing_3/examples/Point_set_processing_3/read_las_example.cpp
@@ -21,7 +21,7 @@ int main(int argc, char*argv[])
// Reads a .las point set file with normal vectors and colors
std::ifstream in(fname, std::ios_base::binary);
std::vector points; // store points
- if(!CGAL::IO::read_LAS_with_properties(in, std::back_inserter (points),
+ if (!CGAL::IO::read_LAS_with_properties(in, std::back_inserter(points),
CGAL::IO::make_las_point_reader(CGAL::First_of_pair_property_map()),
std::make_tuple(CGAL::Second_of_pair_property_map(),
CGAL::Construct_array(),
diff --git a/Point_set_processing_3/include/CGAL/IO/write_las_points.h b/Point_set_processing_3/include/CGAL/IO/write_las_points.h
index 3c1425fb41f..f3a96c919fd 100644
--- a/Point_set_processing_3/include/CGAL/IO/write_las_points.h
+++ b/Point_set_processing_3/include/CGAL/IO/write_las_points.h
@@ -134,57 +134,51 @@ namespace LAS {
output_value (point, get(current.first, *it), current.second);
}
- template
- void output_tuple(LASpoint& point, const Value& v, const Tuple& t, std::index_sequence) {
- output_value(point, std::get(v), std::get(t));
- }
-
- template
- void output_tuple(LASpoint& point, const Value& v, const Tuple& t, std::index_sequence) {
- output_value(point, std::get(v), std::get(t));
- output_tuple(point, v, t, std::index_sequence());
+ template
+ void output_tuple(LASpoint& point, const Value& v, const Tuple& t, std::index_sequence) {
+ (output_value(point, std::get(v), std::get(t)), ...);
}
template
+ typename PropertyMap,
+ typename ... T>
void output_properties(LASpoint& point,
- ForwardIterator it,
- std::tuple&& current)
+ ForwardIterator it,
+ std::tuple&& current)
{
output_tuple(point, get(std::get<0>(current), *it), std::tuple(), std::index_sequence_for{});
}
template
+ typename PropertyMap,
+ typename T,
+ typename NextPropertyHandler,
+ typename ... PropertyHandler>
void output_properties(LASpoint& point,
- ForwardIterator it,
- std::pair&& current,
- NextPropertyHandler&& next,
- PropertyHandler&& ... properties)
+ ForwardIterator it,
+ std::pair&& current,
+ NextPropertyHandler&& next,
+ PropertyHandler&& ... properties)
{
- output_value(point, get(current.first, *it), current.second);
- output_properties(point, it, std::forward(next),
- std::forward(properties)...);
+ output_value (point, get(current.first, *it), current.second);
+ output_properties (point, it, std::forward(next),
+ std::forward(properties)...);
}
template
+ typename PropertyMap,
+ typename ... T,
+ typename NextPropertyHandler,
+ typename ... PropertyHandler>
void output_properties(LASpoint& point,
- ForwardIterator it,
- std::tuple&& current,
- NextPropertyHandler&& next,
- PropertyHandler&& ... properties)
+ ForwardIterator it,
+ std::tuple&& current,
+ NextPropertyHandler&& next,
+ PropertyHandler&& ... properties)
{
output_tuple(point, get(std::get<0>(current), *it), std::tuple(), std::index_sequence_for{});
output_properties(point, it, std::forward(next),
- std::forward(properties)...);
+ std::forward(properties)...);
}
} // namespace LAS