[/============================================================================
Boost.Geometry (aka GGL, Generic Geometry Library)
Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
Copyright (c) 2009-2013 Mateusz Loskot, London, UK.
Use, modification and distribution is subject to the Boost Software License,
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
=============================================================================/]
[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from doxy/doxygen_output/xml/structboost_1_1geometry_1_1tag__cast.xml]
[section:tag_cast tag_cast]
'''tag_cast'''
Metafunction defining a type being either the specified tag, or one of the specified basetags if the type inherits from them.
[heading Description]
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.
[heading Synopsis]
``template
struct tag_cast
{
// ...
};
``
[heading Template parameter(s)]
[table
[[Parameter] [Default] [Description]]
[[typename Tag] [] [The tag to be casted to one of the base tags ]]
[[typename BaseTag] [] [First base tag ]]
[[typename BaseTag2] [void] [Optional second base tag ]]
[[typename BaseTag3] [void] [Optional third base tag ]]
[[typename BaseTag4] [void] [Optional fourth base tag ]]
[[typename BaseTag5] [void] [Optional fifth base tag ]]
[[typename BaseTag6] [void] [Optional sixth base tag ]]
[[typename BaseTag7] [void] [Optional seventh base tag]]
]
[heading Header]
Either
`#include `
Or
`#include `
[include reference/core/tag_cast.qbk]
[endsect]