mirror of
https://github.com/boostorg/variant.git
synced 2026-02-13 13:02:08 +00:00
127 lines
4.1 KiB
XML
127 lines
4.1 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">
|
|
<header name="boost/variant/get.hpp">
|
|
<namespace name="boost">
|
|
|
|
<class name="bad_get">
|
|
<inherit access="public">
|
|
<classname>std::exception</classname>
|
|
</inherit>
|
|
|
|
<purpose>
|
|
<simpara>The exception thrown in the event of a failed application of
|
|
<code><functionname>boost::get</functionname></code> on the given
|
|
operand value.</simpara>
|
|
</purpose>
|
|
|
|
<method name="what" specifiers="virtual" cv="const">
|
|
<type>const char *</type>
|
|
</method>
|
|
</class>
|
|
|
|
<overloaded-function name="get">
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="U"/>
|
|
<template-type-parameter name="T1"/>
|
|
<template-type-parameter name="T2"/>
|
|
<template-varargs/>
|
|
<template-type-parameter name="TN"/>
|
|
</template>
|
|
|
|
<type>U *</type>
|
|
|
|
<parameter name="operand">
|
|
<paramtype><classname>variant</classname><T1, T2, ..., TN> *</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="U"/>
|
|
<template-type-parameter name="T1"/>
|
|
<template-type-parameter name="T2"/>
|
|
<template-varargs/>
|
|
<template-type-parameter name="TN"/>
|
|
</template>
|
|
|
|
<type>U *</type>
|
|
|
|
<parameter name="operand">
|
|
<paramtype>const <classname>variant</classname><T1, T2, ..., TN> *</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="U"/>
|
|
<template-type-parameter name="T1"/>
|
|
<template-type-parameter name="T2"/>
|
|
<template-varargs/>
|
|
<template-type-parameter name="TN"/>
|
|
</template>
|
|
|
|
<type>U &</type>
|
|
|
|
<parameter name="operand">
|
|
<paramtype><classname>variant</classname><T1, T2, ..., TN> &</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
|
|
<signature>
|
|
<template>
|
|
<template-type-parameter name="U"/>
|
|
<template-type-parameter name="T1"/>
|
|
<template-type-parameter name="T2"/>
|
|
<template-varargs/>
|
|
<template-type-parameter name="TN"/>
|
|
</template>
|
|
|
|
<type>U &</type>
|
|
|
|
<parameter name="operand">
|
|
<paramtype>const <classname>variant</classname><T1, T2, ..., TN> &</paramtype>
|
|
</parameter>
|
|
</signature>
|
|
|
|
<purpose>
|
|
<simpara>Retrieves a value of a specified type from a given
|
|
<code><classname>variant</classname></code>.</simpara>
|
|
</purpose>
|
|
|
|
<returns>
|
|
<simpara>If passed a pointer, it returns a similarly qualified
|
|
pointer to the value content if successful, otherwise null is returned.
|
|
If passed a reference, it returns a similarly qualified reference to the
|
|
value content if successful.</simpara>
|
|
</returns>
|
|
|
|
<throws>
|
|
<simpara>Overloads taking a
|
|
<code><classname>variant</classname></code> pointer do not
|
|
throw; the overloads taking a
|
|
<code><classname>variant</classname></code> reference throw
|
|
<code><classname>bad_get</classname></code> if
|
|
unsuccessful.</simpara>
|
|
</throws>
|
|
|
|
<notes>
|
|
<simpara>After either <code>operand</code> or its content is destroyed
|
|
(e.g., when the given <code><classname>variant</classname></code> is
|
|
assigned a value of different type), the returned reference is
|
|
invalidated. Thus, significant care and caution must be extended when
|
|
handling the returned reference.</simpara>
|
|
</notes>
|
|
|
|
<rationale>
|
|
<simpara>While visitation via
|
|
<code><functionname>apply_visitor</functionname></code>
|
|
is generally prefered due to its greater safety, <code>get</code> may
|
|
may be more convenient in some cases due to its narrowness.</simpara>
|
|
</rationale>
|
|
</overloaded-function>
|
|
|
|
</namespace>
|
|
</header>
|