1 <?xml version='1.0' encoding='UTF-8' standalone='no'?>
2 <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
3 <compounddef id="structboost_1_1geometry_1_1tag__cast" kind="struct" prot="public">
4 <compoundname>boost::geometry::tag_cast</compoundname>
5 <includes local="no">tag_cast.hpp</includes>
8 <type>typename Tag</type>
11 <type>typename BaseTag</type>
14 <type>typename BaseTag2</type>
18 <type>typename BaseTag3</type>
22 <type>typename BaseTag4</type>
26 <type>typename BaseTag5</type>
30 <type>typename BaseTag6</type>
34 <type>typename BaseTag7</type>
38 <sectiondef kind="public-type">
39 <memberdef kind="typedef" id="structboost_1_1geometry_1_1tag__cast_1a6332f99a833c59cb7f7c5edb16913c99" prot="public" static="no">
40 <type>boost::mpl::if_< typename boost::is_base_of< BaseTag, Tag >::<ref refid="structboost_1_1geometry_1_1tag__cast_1a6332f99a833c59cb7f7c5edb16913c99" kindref="member">type</ref>, BaseTag, typename <ref refid="structboost_1_1geometry_1_1tag__cast" kindref="compound">tag_cast</ref>< Tag, BaseTag2, BaseTag3, BaseTag4, BaseTag5, BaseTag6, BaseTag7, void >::<ref refid="structboost_1_1geometry_1_1tag__cast_1a6332f99a833c59cb7f7c5edb16913c99" kindref="member">type</ref> >::<ref refid="structboost_1_1geometry_1_1tag__cast_1a6332f99a833c59cb7f7c5edb16913c99" kindref="member">type</ref></type>
41 <definition>typedef boost::mpl::if_< typename boost::is_base_of<BaseTag, Tag>::type, BaseTag, typename tag_cast < Tag, BaseTag2, BaseTag3, BaseTag4, BaseTag5, BaseTag6, BaseTag7, void >::type >::type boost::geometry::tag_cast< Tag, BaseTag, BaseTag2, BaseTag3, BaseTag4, BaseTag5, BaseTag6, BaseTag7 >::type</definition>
42 <argsstring></argsstring>
47 </detaileddescription>
50 <location file="/home/ubuntu/boost/boost/geometry/core/tag_cast.hpp" line="66" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/core/tag_cast.hpp" bodystart="66" bodyend="-1"/>
54 <para>Metafunction defining a type being either the specified tag, or one of the specified basetags if the type inherits from them. </para> </briefdescription>
56 <para>Tags can inherit each other. A multi_point inherits, for example, both the <ref refid="structboost_1_1geometry_1_1multi__tag" kindref="compound">multi_tag</ref> and the <ref refid="structboost_1_1geometry_1_1pointlike__tag" kindref="compound">pointlike_tag</ref>. 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.</para><para><parameterlist kind="templateparam"><parameteritem>
58 <parametername>Tag</parametername>
60 <parameterdescription>
61 <para>The tag to be casted to one of the base tags </para></parameterdescription>
65 <parametername>BaseTag</parametername>
67 <parameterdescription>
68 <para>First base tag </para></parameterdescription>
72 <parametername>BaseTag2</parametername>
74 <parameterdescription>
75 <para>Optional second base tag </para></parameterdescription>
79 <parametername>BaseTag3</parametername>
81 <parameterdescription>
82 <para>Optional third base tag </para></parameterdescription>
86 <parametername>BaseTag4</parametername>
88 <parameterdescription>
89 <para>Optional fourth base tag </para></parameterdescription>
93 <parametername>BaseTag5</parametername>
95 <parameterdescription>
96 <para>Optional fifth base tag </para></parameterdescription>
100 <parametername>BaseTag6</parametername>
102 <parameterdescription>
103 <para>Optional sixth base tag </para></parameterdescription>
107 <parametername>BaseTag7</parametername>
109 <parameterdescription>
110 <para>Optional seventh base tag</para></parameterdescription>
113 <qbk>[include reference/core/tag_cast.qbk]</qbk> </para> </detaileddescription>
114 <location file="/home/ubuntu/boost/boost/geometry/core/tag_cast.hpp" line="55" column="1" bodyfile="/home/ubuntu/boost/boost/geometry/core/tag_cast.hpp" bodystart="54" bodyend="67"/>
116 <member refid="structboost_1_1geometry_1_1tag__cast_1a6332f99a833c59cb7f7c5edb16913c99" prot="public" virt="non-virtual"><scope>boost::geometry::tag_cast</scope><name>type</name></member>