tag_cast.qbk 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. [/============================================================================
  2. Boost.Geometry (aka GGL, Generic Geometry Library)
  3. Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
  4. Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
  5. Copyright (c) 2009-2013 Mateusz Loskot, London, UK.
  6. Use, modification and distribution is subject to the Boost Software License,
  7. Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  8. http://www.boost.org/LICENSE_1_0.txt)
  9. =============================================================================/]
  10. [/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
  11. [/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1tag__cast.xml]
  12. [section:tag_cast tag_cast]
  13. '''<indexterm><primary>tag_cast</primary></indexterm>'''
  14. Metafunction defining a type being either the specified tag, or one of the specified basetags if the type inherits from them.
  15. [heading Description]
  16. Tags can inherit each other. A multi\u005fpoint inherits, for example, both the multi\u005ftag and the pointlike\u005ftag. Often behaviour can be shared between different geometry types. A tag, found by the metafunction tag, can be casted to a more basic tag, and then dispatched by that tag.
  17. [heading Synopsis]
  18. ``template<typename Tag, typename BaseTag, typename BaseTag2, typename BaseTag3,
  19. typename BaseTag4, typename BaseTag5, typename BaseTag6, typename BaseTag7>
  20. struct tag_cast
  21. {
  22. // ...
  23. };
  24. ``
  25. [heading Template parameter(s)]
  26. [table
  27. [[Parameter] [Default] [Description]]
  28. [[typename Tag] [] [The tag to be casted to one of the base tags ]]
  29. [[typename BaseTag] [] [First base tag ]]
  30. [[typename BaseTag2] [void] [Optional second base tag ]]
  31. [[typename BaseTag3] [void] [Optional third base tag ]]
  32. [[typename BaseTag4] [void] [Optional fourth base tag ]]
  33. [[typename BaseTag5] [void] [Optional fifth base tag ]]
  34. [[typename BaseTag6] [void] [Optional sixth base tag ]]
  35. [[typename BaseTag7] [void] [Optional seventh base tag]]
  36. ]
  37. [heading Header]
  38. Either
  39. `#include <boost/geometry.hpp>`
  40. Or
  41. `#include <boost/geometry/core/tag_cast.hpp>`
  42. [include reference/core/tag_cast.qbk]
  43. [endsect]