make.hpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Boost.Geometry
  2. // Copyright (c) 2020, Oracle and/or its affiliates.
  3. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  4. // Use, modification and distribution is subject to the Boost Software License,
  5. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. #ifndef BOOST_GEOMETRY_CORE_MAKE_HPP
  8. #define BOOST_GEOMETRY_CORE_MAKE_HPP
  9. namespace boost { namespace geometry
  10. {
  11. namespace traits
  12. {
  13. /*!
  14. \brief Traits class to create an object of Geometry type.
  15. \details This trait is optional and allows to define efficient way of creating Geometries.
  16. \ingroup traits
  17. \par Geometries:
  18. - points
  19. - boxes
  20. - segments
  21. \par Specializations should provide:
  22. - static const bool is_specialized = true;
  23. - static member function apply() taking:
  24. - N coordinates (points)
  25. - 2 points, min and max (boxes)
  26. - 2 points, first and second (segments)
  27. \tparam Geometry geometry
  28. */
  29. template <typename Geometry>
  30. struct make
  31. {
  32. static const bool is_specialized = false;
  33. };
  34. } // namespace traits
  35. }} // namespace boost::geometry
  36. #endif // BOOST_GEOMETRY_CORE_MAKE_HPP