mirror of
https://github.com/boostorg/variant.git
synced 2025-05-12 13:51:46 +00:00
81 lines
2.8 KiB
XML
81 lines
2.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
|
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
|
<!--
|
|
Copyright 2013-2025 Antony Polukhin.
|
|
|
|
Distributed under 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)
|
|
-->
|
|
<header name="boost/variant/multivisitors.hpp">
|
|
<using-namespace name="boost"/>
|
|
|
|
<para>Provides declarations of <functionname>apply_visitor</functionname> for three or more
|
|
<code><classname>variant</classname></code> parameters.</para>
|
|
|
|
<namespace name="boost">
|
|
<overloaded-function name="apply_visitor /*three or more variant parameters*/">
|
|
<description>
|
|
<simpara>Allows compile-time checked type-safe application of the
|
|
given visitor to the content of the given variant, ensuring that all
|
|
types are handled by the visitor. See <functionname>apply_visitor</functionname>
|
|
for more information.</simpara>
|
|
</description>
|
|
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="MultiVisitor"/>
|
|
<template-type-parameter name="Variant1"/>
|
|
<template-type-parameter name="Variant2"/>
|
|
<template-type-parameter name="Variant3"/>
|
|
</template>
|
|
|
|
<type>typename MultiVisitor::result_type OR decltype(auto)</type>
|
|
|
|
<parameter name="visitor">
|
|
<paramtype>MultiVisitor &</paramtype>
|
|
</parameter>
|
|
<parameter name="operand1">
|
|
<paramtype>Variant1&&</paramtype>
|
|
</parameter>
|
|
<parameter name="operand2">
|
|
<paramtype>Variant2&&</paramtype>
|
|
</parameter>
|
|
<parameter name="operand3">
|
|
<paramtype>Variant3&&</paramtype>
|
|
</parameter>
|
|
<parameter name="other_operands">
|
|
<paramtype>...</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="MultiVisitor"/>
|
|
<template-type-parameter name="Variant1"/>
|
|
<template-type-parameter name="Variant2"/>
|
|
<template-type-parameter name="Variant3"/>
|
|
</template>
|
|
|
|
<type>typename MultiVisitor::result_type OR decltype(auto)</type>
|
|
|
|
<parameter name="visitor">
|
|
<paramtype>const MultiVisitor &</paramtype>
|
|
</parameter>
|
|
<parameter name="operand1">
|
|
<paramtype>Variant1&&</paramtype>
|
|
</parameter>
|
|
<parameter name="operand2">
|
|
<paramtype>Variant2&&</paramtype>
|
|
</parameter>
|
|
<parameter name="operand3">
|
|
<paramtype>Variant3&&</paramtype>
|
|
</parameter>
|
|
<parameter name="other_operands">
|
|
<paramtype>...</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
</overloaded-function>
|
|
</namespace>
|
|
</header>
|