Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > d8d30ad953f2dbe7e871721325480315 > files > 189

librttr-devel-0.9.6-1.mga7.armv7hl.rpm

<!-- HTML header for doxygen 1.8.8-->
<!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">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.15"/>
        <script type="text/javascript" src="jquery.min.js"></script>
        <title>rttr: rttr::enum_flags&lt; Enum &gt; Class Template Reference</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico">
        <link rel = "stylesheet" href = "fonts/ptsans_regular_macroman/stylesheet.css">
        <link rel = "stylesheet" href = "fonts/source_code_pro_regular/stylesheet.css">
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="custom-doxygen.css" rel="stylesheet" type="text/css"/>
        <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
        <link rel="stylesheet" href="custom-bootstrap.css">
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script type="text/javascript" src="doxy-boot.js"></script>
    </head>
    <body>
     <!--
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand">rttr 0.9.6</a>
                </div>
            </div>
        </nav>
        -->
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel panel-default" style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacerttr.html">rttr</a></li><li class="navelem"><a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classrttr_1_1enum__flags-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">rttr::enum_flags&lt; Enum &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> class template is used to store OR-combinations of enum values in a type-safe way.  
 <a href="classrttr_1_1enum__flags.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="enum__flags_8h_source.html">enum_flags.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a7f70665ac937951383287dbedaf91c20"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a7f70665ac937951383287dbedaf91c20">enum_type</a> = detail::conditional_t&lt; std::is_signed&lt; typename std::underlying_type&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html#a71f4309e6c0e147f0605524e2940b9c6">type</a> &gt;::<a class="el" href="namespacerttr.html#a54ecd8bad715cbc451e7aa8491667d4a">value</a>, int32_t, uint32_t &gt;</td></tr>
<tr class="separator:a7f70665ac937951383287dbedaf91c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71f4309e6c0e147f0605524e2940b9c6"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a71f4309e6c0e147f0605524e2940b9c6">type</a> = Enum</td></tr>
<tr class="separator:a71f4309e6c0e147f0605524e2940b9c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33b0f44eb99f4a378ca437ceb710e621"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a33b0f44eb99f4a378ca437ceb710e621">zero</a> = <a class="el" href="classrttr_1_1enum__flags.html#a7f70665ac937951383287dbedaf91c20">enum_type</a> *</td></tr>
<tr class="separator:a33b0f44eb99f4a378ca437ceb710e621"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad94f76e53aa3d8e9c25039ac85e38b79"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#ad94f76e53aa3d8e9c25039ac85e38b79">enum_flags</a> (<a class="el" href="classrttr_1_1enum__flags.html#a33b0f44eb99f4a378ca437ceb710e621">zero</a>=nullptr) noexcept</td></tr>
<tr class="memdesc:ad94f76e53aa3d8e9c25039ac85e38b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object with no flags set.  <a href="#ad94f76e53aa3d8e9c25039ac85e38b79">More...</a><br /></td></tr>
<tr class="separator:ad94f76e53aa3d8e9c25039ac85e38b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6924bd7e728ac99501fbe13a419bd8b"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#ab6924bd7e728ac99501fbe13a419bd8b">enum_flags</a> (Enum flag) noexcept</td></tr>
<tr class="memdesc:ab6924bd7e728ac99501fbe13a419bd8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object with the given flag <code>flag</code>.  <a href="#ab6924bd7e728ac99501fbe13a419bd8b">More...</a><br /></td></tr>
<tr class="separator:ab6924bd7e728ac99501fbe13a419bd8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6921a9d2182bbe95902d789f50b00075"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a6921a9d2182bbe95902d789f50b00075">enum_flags</a> (detail::enum_flag v) noexcept</td></tr>
<tr class="memdesc:a6921a9d2182bbe95902d789f50b00075"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object initialized with the given integer value <code>value</code>.  <a href="#a6921a9d2182bbe95902d789f50b00075">More...</a><br /></td></tr>
<tr class="separator:a6921a9d2182bbe95902d789f50b00075"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d28de30cfa250164d115ee4b4534e43"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a8d28de30cfa250164d115ee4b4534e43">operator enum_type</a> () const noexcept</td></tr>
<tr class="memdesc:a8d28de30cfa250164d115ee4b4534e43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object.  <a href="#a8d28de30cfa250164d115ee4b4534e43">More...</a><br /></td></tr>
<tr class="separator:a8d28de30cfa250164d115ee4b4534e43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a616a543723c5eb430b10bc61b88e0103"><td class="memItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a616a543723c5eb430b10bc61b88e0103">operator!</a> () const noexcept</td></tr>
<tr class="memdesc:a616a543723c5eb430b10bc61b88e0103"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will test whether a flag was set or not.  <a href="#a616a543723c5eb430b10bc61b88e0103">More...</a><br /></td></tr>
<tr class="separator:a616a543723c5eb430b10bc61b88e0103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac243dff30866b35b18e66c57e37c1209"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#ac243dff30866b35b18e66c57e37c1209">operator&amp;</a> (Enum f) const noexcept</td></tr>
<tr class="memdesc:ac243dff30866b35b18e66c57e37c1209"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#ac243dff30866b35b18e66c57e37c1209">More...</a><br /></td></tr>
<tr class="separator:ac243dff30866b35b18e66c57e37c1209"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a9960fdd91df97a3dee1afb8b4885ae"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a5a9960fdd91df97a3dee1afb8b4885ae">operator&amp;</a> (int mask) const noexcept</td></tr>
<tr class="memdesc:a5a9960fdd91df97a3dee1afb8b4885ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation on this object and <code>mask</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#a5a9960fdd91df97a3dee1afb8b4885ae">More...</a><br /></td></tr>
<tr class="separator:a5a9960fdd91df97a3dee1afb8b4885ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9125a42f8c54a0adf9400259c2be1a2e"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a9125a42f8c54a0adf9400259c2be1a2e">operator&amp;</a> (uint32_t mask) const noexcept</td></tr>
<tr class="memdesc:a9125a42f8c54a0adf9400259c2be1a2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation on this object and <code>mask</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#a9125a42f8c54a0adf9400259c2be1a2e">More...</a><br /></td></tr>
<tr class="separator:a9125a42f8c54a0adf9400259c2be1a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade93a7934efa9318305dfe10acdc091d"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#ade93a7934efa9318305dfe10acdc091d">operator&amp;=</a> (int mask) noexcept</td></tr>
<tr class="memdesc:ade93a7934efa9318305dfe10acdc091d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object.  <a href="#ade93a7934efa9318305dfe10acdc091d">More...</a><br /></td></tr>
<tr class="separator:ade93a7934efa9318305dfe10acdc091d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c1792f02f23e0f5e4d56022cf494c53"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a6c1792f02f23e0f5e4d56022cf494c53">operator&amp;=</a> (uint32_t mask) noexcept</td></tr>
<tr class="memdesc:a6c1792f02f23e0f5e4d56022cf494c53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object.  <a href="#a6c1792f02f23e0f5e4d56022cf494c53">More...</a><br /></td></tr>
<tr class="separator:a6c1792f02f23e0f5e4d56022cf494c53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7759281168b46019b7acbf6dd6fd4a80"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a7759281168b46019b7acbf6dd6fd4a80">operator&amp;=</a> (Enum mask) noexcept</td></tr>
<tr class="memdesc:a7759281168b46019b7acbf6dd6fd4a80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object.  <a href="#a7759281168b46019b7acbf6dd6fd4a80">More...</a><br /></td></tr>
<tr class="separator:a7759281168b46019b7acbf6dd6fd4a80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a023b5aca69476ea6e14c0efff6033019"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a023b5aca69476ea6e14c0efff6033019">operator^</a> (Enum f) const noexcept</td></tr>
<tr class="memdesc:a023b5aca69476ea6e14c0efff6033019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>XOR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#a023b5aca69476ea6e14c0efff6033019">More...</a><br /></td></tr>
<tr class="separator:a023b5aca69476ea6e14c0efff6033019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac082415c6106c0e2094c30ac9cf4709d"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#ac082415c6106c0e2094c30ac9cf4709d">operator^</a> (<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> f) const noexcept</td></tr>
<tr class="memdesc:ac082415c6106c0e2094c30ac9cf4709d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>XOR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#ac082415c6106c0e2094c30ac9cf4709d">More...</a><br /></td></tr>
<tr class="separator:ac082415c6106c0e2094c30ac9cf4709d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53ad0c9779fae167f544473e2a165295"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a53ad0c9779fae167f544473e2a165295">operator^=</a> (<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> f) noexcept</td></tr>
<tr class="memdesc:a53ad0c9779fae167f544473e2a165295"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object.  <a href="#a53ad0c9779fae167f544473e2a165295">More...</a><br /></td></tr>
<tr class="separator:a53ad0c9779fae167f544473e2a165295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38b01f37b4d5ced12703e6815ccf9618"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a38b01f37b4d5ced12703e6815ccf9618">operator^=</a> (Enum f) noexcept</td></tr>
<tr class="memdesc:a38b01f37b4d5ced12703e6815ccf9618"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object.  <a href="#a38b01f37b4d5ced12703e6815ccf9618">More...</a><br /></td></tr>
<tr class="separator:a38b01f37b4d5ced12703e6815ccf9618"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76facae698a1cb254e73e3940bd0b52c"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a76facae698a1cb254e73e3940bd0b52c">operator|</a> (Enum f) const noexcept</td></tr>
<tr class="memdesc:a76facae698a1cb254e73e3940bd0b52c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>OR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#a76facae698a1cb254e73e3940bd0b52c">More...</a><br /></td></tr>
<tr class="separator:a76facae698a1cb254e73e3940bd0b52c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adace4c6d0dccc393e4c1891f7f809836"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#adace4c6d0dccc393e4c1891f7f809836">operator|</a> (<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> f) const noexcept</td></tr>
<tr class="memdesc:adace4c6d0dccc393e4c1891f7f809836"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>OR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#adace4c6d0dccc393e4c1891f7f809836">More...</a><br /></td></tr>
<tr class="separator:adace4c6d0dccc393e4c1891f7f809836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaeb69ed25523a286467713a748e6c676"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#aaeb69ed25523a286467713a748e6c676">operator|=</a> (<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> f) noexcept</td></tr>
<tr class="memdesc:aaeb69ed25523a286467713a748e6c676"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>OR</code> operation with <code>f</code> and store the result in this object.  <a href="#aaeb69ed25523a286467713a748e6c676">More...</a><br /></td></tr>
<tr class="separator:aaeb69ed25523a286467713a748e6c676"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70f149947c71cc5636333dcb26d7a044"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a70f149947c71cc5636333dcb26d7a044">operator|=</a> (Enum f) noexcept</td></tr>
<tr class="memdesc:a70f149947c71cc5636333dcb26d7a044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise <code>OR</code> operation with <code>f</code> and store the result in this object.  <a href="#a70f149947c71cc5636333dcb26d7a044">More...</a><br /></td></tr>
<tr class="separator:a70f149947c71cc5636333dcb26d7a044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00d74069bac7f977066e6b99c3872391"><td class="memItemLeft" align="right" valign="top">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#a00d74069bac7f977066e6b99c3872391">operator~</a> () const noexcept</td></tr>
<tr class="memdesc:a00d74069bac7f977066e6b99c3872391"><td class="mdescLeft">&#160;</td><td class="mdescRight">Performs a bitwise negation of the current object and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object.  <a href="#a00d74069bac7f977066e6b99c3872391">More...</a><br /></td></tr>
<tr class="separator:a00d74069bac7f977066e6b99c3872391"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa65182f21fd43bbcd10d99335e3b3c51"><td class="memItemLeft" align="right" valign="top">constexpr bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrttr_1_1enum__flags.html#aa65182f21fd43bbcd10d99335e3b3c51">test_flag</a> (Enum flag) const noexcept</td></tr>
<tr class="memdesc:aa65182f21fd43bbcd10d99335e3b3c51"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will test whether the given flag <code>flag</code> was set.  <a href="#aa65182f21fd43bbcd10d99335e3b3c51">More...</a><br /></td></tr>
<tr class="separator:aa65182f21fd43bbcd10d99335e3b3c51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Enum&gt;<br />
class rttr::enum_flags&lt; Enum &gt;</h3>

<p>The <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> class template is used to store OR-combinations of enum values in a type-safe way. </p>
<p>The values are stored internally inside an integer (unsigned or signed, depending on the underlying type of the enum). Using values from other enums or raw integer (except 0) with this class will result in a compile time error.</p>
<p>In order to use this class with your own enum, use <a class="el" href="enum__flags_8h.html#ab2a2b76cd5c01df322679238a5204f62" title="This macro expands to:">RTTR_DECLARE_FLAGS()</a> and <a class="el" href="enum__flags_8h.html#acd263783cc35e616e5e7843d464f5433" title="This macro declares the a global operator | for enums of type enum_flags&lt;T&gt;">RTTR_DECLARE_ENUM_FLAGS_OPERATORS()</a>.</p>
<h2>Typical Usage </h2>
<div class="fragment"><div class="line"> <span class="keyword">enum class</span> my_option</div><div class="line"> {</div><div class="line">     ALL_DISABLED    = 0,</div><div class="line">     OPTION_1        = 1,</div><div class="line">     OPTION_2        = 2,</div><div class="line">     OPTION_3        = 4,</div><div class="line">     OPTION_4        = 8</div><div class="line"> };</div><div class="line"></div><div class="line"> <a class="code" href="enum__flags_8h.html#ab2a2b76cd5c01df322679238a5204f62">RTTR_DECLARE_FLAGS</a>(my_options, my_option)</div><div class="line"> <a class="code" href="enum__flags_8h.html#acd263783cc35e616e5e7843d464f5433">RTTR_DECLARE_ENUM_FLAGS_OPERATORS</a>(my_options)</div><div class="line"></div><div class="line"> <span class="keywordtype">void</span> my_func(my_options flags)</div><div class="line"> {</div><div class="line">     <span class="keywordflow">if</span> (flags.test_flag(my_option::OPTION_1)</div><div class="line">     {</div><div class="line">         <span class="comment">// ...</span></div><div class="line">     }</div><div class="line"></div><div class="line">     <span class="keywordflow">if</span> (flags.test_flag(my_option::OPTION_2)</div><div class="line">     {</div><div class="line">         <span class="comment">// ...</span></div><div class="line">     }</div><div class="line">}</div></div><!-- fragment --> </div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a7f70665ac937951383287dbedaf91c20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f70665ac937951383287dbedaf91c20">&#9670;&nbsp;</a></span>enum_type</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html#a7f70665ac937951383287dbedaf91c20">enum_type</a> =  detail::conditional_t&lt;std::is_signed&lt;typename std::underlying_type&lt;Enum&gt;::<a class="el" href="classrttr_1_1enum__flags.html#a71f4309e6c0e147f0605524e2940b9c6">type</a>&gt;::<a class="el" href="namespacerttr.html#a54ecd8bad715cbc451e7aa8491667d4a">value</a>, int32_t, uint32_t&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a71f4309e6c0e147f0605524e2940b9c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71f4309e6c0e147f0605524e2940b9c6">&#9670;&nbsp;</a></span>type</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html#a71f4309e6c0e147f0605524e2940b9c6">type</a> =  Enum</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a33b0f44eb99f4a378ca437ceb710e621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33b0f44eb99f4a378ca437ceb710e621">&#9670;&nbsp;</a></span>zero</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html#a33b0f44eb99f4a378ca437ceb710e621">zero</a> =  <a class="el" href="classrttr_1_1enum__flags.html#a7f70665ac937951383287dbedaf91c20">enum_type</a>*</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad94f76e53aa3d8e9c25039ac85e38b79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad94f76e53aa3d8e9c25039ac85e38b79">&#9670;&nbsp;</a></span>enum_flags() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrttr_1_1enum__flags.html#a33b0f44eb99f4a378ca437ceb710e621">zero</a>&#160;</td>
          <td class="paramname"> = <code>nullptr</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object with no flags set. </p>

</div>
</div>
<a id="ab6924bd7e728ac99501fbe13a419bd8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6924bd7e728ac99501fbe13a419bd8b">&#9670;&nbsp;</a></span>enum_flags() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object with the given flag <code>flag</code>. </p>

</div>
</div>
<a id="a6921a9d2182bbe95902d789f50b00075"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6921a9d2182bbe95902d789f50b00075">&#9670;&nbsp;</a></span>enum_flags() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::<a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> </td>
          <td>(</td>
          <td class="paramtype">detail::enum_flag&#160;</td>
          <td class="paramname"><em>v</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object initialized with the given integer value <code>value</code>. </p>
<dl class="section remark"><dt>Remarks</dt><dd>enum_flag is a wrapper class around an integer to avoid creation of <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object from enum values. </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a8d28de30cfa250164d115ee4b4534e43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d28de30cfa250164d115ee4b4534e43">&#9670;&nbsp;</a></span>operator enum_type()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator <a class="el" href="classrttr_1_1enum__flags.html#a7f70665ac937951383287dbedaf91c20">enum_type</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a616a543723c5eb430b10bc61b88e0103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a616a543723c5eb430b10bc61b88e0103">&#9670;&nbsp;</a></span>operator!()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator! </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will test whether a flag was set or not. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code>, when no flag is set, otherwise <code>false</code>. </dd></dl>

</div>
</div>
<a id="ac243dff30866b35b18e66c57e37c1209"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac243dff30866b35b18e66c57e37c1209">&#9670;&nbsp;</a></span>operator&amp;() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp; </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>AND</code> operation on this object and <code>f</code>. </dd></dl>

</div>
</div>
<a id="a5a9960fdd91df97a3dee1afb8b4885ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a9960fdd91df97a3dee1afb8b4885ae">&#9670;&nbsp;</a></span>operator&amp;() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp; </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation on this object and <code>mask</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>AND</code> operation on this object and <code>mask</code>. </dd></dl>

</div>
</div>
<a id="a9125a42f8c54a0adf9400259c2be1a2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9125a42f8c54a0adf9400259c2be1a2e">&#9670;&nbsp;</a></span>operator&amp;() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp; </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation on this object and <code>mask</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>AND</code> operation on this object and <code>mask</code>. </dd></dl>

</div>
</div>
<a id="ade93a7934efa9318305dfe10acdc091d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade93a7934efa9318305dfe10acdc091d">&#9670;&nbsp;</a></span>operator&amp;=() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp;= </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a6c1792f02f23e0f5e4d56022cf494c53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c1792f02f23e0f5e4d56022cf494c53">&#9670;&nbsp;</a></span>operator&amp;=() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp;= </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a7759281168b46019b7acbf6dd6fd4a80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7759281168b46019b7acbf6dd6fd4a80">&#9670;&nbsp;</a></span>operator&amp;=() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator&amp;= </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>AND</code> operation with <code>mask</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a023b5aca69476ea6e14c0efff6033019"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a023b5aca69476ea6e14c0efff6033019">&#9670;&nbsp;</a></span>operator^() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator^ </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>XOR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>XOR</code> operation on this object and <code>f</code>. </dd></dl>

</div>
</div>
<a id="ac082415c6106c0e2094c30ac9cf4709d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac082415c6106c0e2094c30ac9cf4709d">&#9670;&nbsp;</a></span>operator^() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator^ </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&lt; Enum &gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>XOR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>XOR</code> operation on this object and <code>f</code>. </dd></dl>

</div>
</div>
<a id="a53ad0c9779fae167f544473e2a165295"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53ad0c9779fae167f544473e2a165295">&#9670;&nbsp;</a></span>operator^=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator^= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&lt; Enum &gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a38b01f37b4d5ced12703e6815ccf9618"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38b01f37b4d5ced12703e6815ccf9618">&#9670;&nbsp;</a></span>operator^=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator^= </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>XOR</code> operation with <code>f</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a76facae698a1cb254e73e3940bd0b52c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76facae698a1cb254e73e3940bd0b52c">&#9670;&nbsp;</a></span>operator|() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator| </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>OR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>OR</code> operation on this object and <code>f</code>. </dd></dl>

</div>
</div>
<a id="adace4c6d0dccc393e4c1891f7f809836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adace4c6d0dccc393e4c1891f7f809836">&#9670;&nbsp;</a></span>operator|() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator| </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&lt; Enum &gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>OR</code> operation on this object and <code>f</code> and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object containing the result of the bitwise <code>OR</code> operation on this object and <code>f</code>. </dd></dl>

</div>
</div>
<a id="aaeb69ed25523a286467713a748e6c676"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeb69ed25523a286467713a748e6c676">&#9670;&nbsp;</a></span>operator|=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator|= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&lt; Enum &gt;&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>OR</code> operation with <code>f</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a70f149947c71cc5636333dcb26d7a044"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70f149947c71cc5636333dcb26d7a044">&#9670;&nbsp;</a></span>operator|=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a>&amp; <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator|= </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>f</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise <code>OR</code> operation with <code>f</code> and store the result in this object. </p>
<dl class="section return"><dt>Returns</dt><dd>A reference to this object. </dd></dl>

</div>
</div>
<a id="a00d74069bac7f977066e6b99c3872391"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00d74069bac7f977066e6b99c3872391">&#9670;&nbsp;</a></span>operator~()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr <a class="el" href="classrttr_1_1enum__flags.html">enum_flags</a> <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::operator~ </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Performs a bitwise negation of the current object and return the result as new <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A <a class="el" href="classrttr_1_1enum__flags.html" title="The enum_flags class template is used to store OR-combinations of enum values in a type-safe way.">enum_flags</a> object that contains the bitwise negation of this object. </dd></dl>

</div>
</div>
<a id="aa65182f21fd43bbcd10d99335e3b3c51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa65182f21fd43bbcd10d99335e3b3c51">&#9670;&nbsp;</a></span>test_flag()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Enum &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr bool <a class="el" href="classrttr_1_1enum__flags.html">rttr::enum_flags</a>&lt; Enum &gt;::test_flag </td>
          <td>(</td>
          <td class="paramtype">Enum&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will test whether the given flag <code>flag</code> was set. </p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code>, when the flag is set, otherwise <code>false</code>. </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="enum__flags_8h_source.html">enum_flags.h</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.9.1-->
<!-- start footer part -->
<hr class="footer"/>
<address class="footer">
<small>
Generated on Thu Apr 11 2019 20:05:58 for rttr - 0.9.6 by 
<a href="http://www.doxygen.org/index.html">doxygen</a>.
</small>
</address>
</body>
</html>