<!-- Copyright 2008 Lubomir Bourdev and Hailin Jin

     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)
  -->

<!--
    Copyright 2005-2007 Adobe Systems Incorporated
    Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
    or a copy at http://stlab.adobe.com/licenses.html)

    Some files are held under additional license.
    Please see "http://stlab.adobe.com/licenses.html" for more information.
-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <TITLE>Generic Image Library: Variant</TITLE>
    <META HTTP-EQUIV="content-type" CONTENT="text/html;charset=ISO-8859-1"/>
    <LINK TYPE="text/css" REL="stylesheet" HREF="adobe_source.css"/>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" style='width: 100%; margin: 0; padding: 0'><tr>
<td width="100%" valign="top" style='padding-left: 10px; padding-right: 10px; padding-bottom: 10px'>
<div class="qindex"><a class="qindex" href="index.html">Modules</a> 
                  | <a class="qindex" href="classes.html">Alphabetical List</a> 
                  | <a class="qindex" href="annotated.html">Class List</a> 
                  | <a class="qindex" href="dirs.html">Directories</a> 
                  | <a class="qindex" href="files.html">File List</a> 
                  | <a class="qindex" href="../index.html">GIL Home Page</a> 
</div>
<!-- End Header -->
<!-- Generated by Doxygen 1.5.6 -->
<div class="contents">
<h1>Variant</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
A holder of a runtime instantiated type. Used to provide runtime-specified images and views. 
<p>

<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="g_i_l_0062.html">variant</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents a concrete instance of a run-time specified type from a set of types<p>
A concept is typically modeled by a collection of different types. They may be instantiations of a templated type with different template parameters or even completely unrelated types.  <a href="g_i_l_0062.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3c8fd0f3dc2495060bf062428dccc505"></a><!-- doxytag: member="Variant::apply_operation" ref="g3c8fd0f3dc2495060bf062428dccc505" args="(variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
template&lt;typename Types, typename UnaryOp&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g3c8fd0f3dc2495060bf062428dccc505">apply_operation</a> (variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic mutable operation (represented as a unary function object) on a <a class="el" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g65c13b01bb2b7725fe96e56bcc2659b6"></a><!-- doxytag: member="Variant::apply_operation" ref="g65c13b01bb2b7725fe96e56bcc2659b6" args="(const variant&lt; Types &gt; &amp;arg, UnaryOp op)" -->
template&lt;typename Types, typename UnaryOp&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
UnaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g65c13b01bb2b7725fe96e56bcc2659b6">apply_operation</a> (const variant&lt; Types &gt; &amp;arg, UnaryOp op)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic constant operation (represented as a unary function object) on a <a class="el" href="g_i_l_0062.html" title="Represents a concrete instance of a run-time specified type from a set of typesA...">variant</a>. <br></td></tr>
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3dc0a90911c08815be11e1e49ec06037"></a><!-- doxytag: member="Variant::apply_operation" ref="g3dc0a90911c08815be11e1e49ec06037" args="(const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)" -->
template&lt;typename Types1, typename Types2, typename BinaryOp&gt; </td></tr>
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">GIL_FORCEINLINE <br>
BinaryOp::result_type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___variant.html#g3dc0a90911c08815be11e1e49ec06037">apply_operation</a> (const variant&lt; Types1 &gt; &amp;arg1, const variant&lt; Types2 &gt; &amp;arg2, BinaryOp op)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invokes a generic constant operation (represented as a binary function object) on two variants. <br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 2 13:50:16 2009 for Generic Image Library by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
