Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /proc/self/root/usr/share/doc/libclam-doc/html/ |
Current File : //proc/self/root/usr/share/doc/libclam-doc/html/classCLAM_1_1Flags.html |
<!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="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>CLAM-Development: CLAM::Flags< N > Class Template Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">CLAM-Development  <span id="projectnumber">1.4.0</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="namespaceCLAM.html">CLAM</a></li><li class="navelem"><a class="el" href="classCLAM_1_1Flags.html">Flags</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> </div> <div class="headertitle"> <div class="title">CLAM::Flags< N > Class Template Reference</div> </div> </div><!--header--> <div class="contents"> <p>Instances of this class represents objects containing a set of booleans values (flags) that can be accessed by their symbolic name. <a href="classCLAM_1_1Flags.html#details">More...</a></p> <p><code>#include <<a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>></code></p> <p><a href="classCLAM_1_1Flags-members.html">List of all members.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr class="memitem:adf907bc79410a337c5edf5282ae5fbae"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#adf907bc79410a337c5edf5282ae5fbae">~Flags</a> ()</td></tr> <tr class="memdesc:adf907bc79410a337c5edf5282ae5fbae"><td class="mdescLeft"> </td><td class="mdescRight">The required virtual destructor. <a href="#adf907bc79410a337c5edf5282ae5fbae"></a><br/></td></tr> <tr class="memitem:a9a988dfd8d660380f158b17846c87edf"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a9a988dfd8d660380f158b17846c87edf">GetClassName</a> () const </td></tr> <tr class="memitem:adc2bf01d4fb24f5d043ec6db368c4b59"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#adc2bf01d4fb24f5d043ec6db368c4b59">GetNFlags</a> () const </td></tr> <tr class="memitem:ac917e24b0f43f4b5d929ac1da90c331b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#ac917e24b0f43f4b5d929ac1da90c331b">Species</a> () const =0</td></tr> <tr class="memdesc:ac917e24b0f43f4b5d929ac1da90c331b"><td class="mdescLeft"> </td><td class="mdescRight">Returns a new object of the same class than the receiver object. <a href="#ac917e24b0f43f4b5d929ac1da90c331b"></a><br/></td></tr> <tr class="memitem:a1787e268c3f5e80417172edc10860ce7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a1787e268c3f5e80417172edc10860ce7">DeepCopy</a> () const </td></tr> <tr class="memitem:a409ed97b28fdbb8c702f3fc7786f355a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a409ed97b28fdbb8c702f3fc7786f355a">ShallowCopy</a> () const </td></tr> <tr class="inherit_header pub_methods_classCLAM_1_1FlagsBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCLAM_1_1FlagsBase')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classCLAM_1_1FlagsBase.html">CLAM::FlagsBase</a></td></tr> <tr class="memitem:a0d81520f511927e8e2432b93b248cd7f inherit pub_methods_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#a0d81520f511927e8e2432b93b248cd7f">GetFlagString</a> (<a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> whichOne) const throw (IllegalValue)</td></tr> <tr class="memdesc:a0d81520f511927e8e2432b93b248cd7f inherit pub_methods_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the name of the flag at a position. <a href="#a0d81520f511927e8e2432b93b248cd7f"></a><br/></td></tr> <tr class="memitem:ad3400291cfb3d17f62172f440e4a93e8 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#ad3400291cfb3d17f62172f440e4a93e8">GetFlagPosition</a> (const std::string &whichOne) const throw (IllegalValue)</td></tr> <tr class="memdesc:ad3400291cfb3d17f62172f440e4a93e8 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the position of the named flag. <a href="#ad3400291cfb3d17f62172f440e4a93e8"></a><br/></td></tr> <tr class="memitem:a4f71cff69b0dd4fed9ec53dfc7f8f893 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#a4f71cff69b0dd4fed9ec53dfc7f8f893">StoreOn</a> (<a class="el" href="classCLAM_1_1Storage.html">Storage</a> &storage) const </td></tr> <tr class="memdesc:a4f71cff69b0dd4fed9ec53dfc7f8f893 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">Stores component's subitems on the given <a class="el" href="classCLAM_1_1Storage.html" title="The abstract class for storages.">Storage</a>. <a href="#a4f71cff69b0dd4fed9ec53dfc7f8f893"></a><br/></td></tr> <tr class="memitem:a229ed14426c27ec78165e68d55d5c058 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#a229ed14426c27ec78165e68d55d5c058">LoadFrom</a> (<a class="el" href="classCLAM_1_1Storage.html">Storage</a> &storage)</td></tr> <tr class="memdesc:a229ed14426c27ec78165e68d55d5c058 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">Loads component's subitems from the given <a class="el" href="classCLAM_1_1Storage.html" title="The abstract class for storages.">Storage</a>. <a href="#a229ed14426c27ec78165e68d55d5c058"></a><br/></td></tr> <tr class="memitem:a83b5f4869b50c711d9c386650d3aa474 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#a83b5f4869b50c711d9c386650d3aa474">CheckInvariant</a> ()</td></tr> <tr class="memdesc:a83b5f4869b50c711d9c386650d3aa474 inherit pub_methods_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">Checks that the object is internally consistent. <a href="#a83b5f4869b50c711d9c386650d3aa474"></a><br/></td></tr> <tr class="inherit_header pub_methods_classCLAM_1_1Component"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classCLAM_1_1Component')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classCLAM_1_1Component.html">CLAM::Component</a></td></tr> <tr class="memitem:a229332eadae3fc9a50958c8d41f776e1 inherit pub_methods_classCLAM_1_1Component"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Component.html#a229332eadae3fc9a50958c8d41f776e1">~Component</a> ()</td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr class="memitem:a0e11c3f5b8a73068a57110f91d6d342f"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f">Flags</a> (<a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> *names)</td></tr> <tr class="memdesc:a0e11c3f5b8a73068a57110f91d6d342f"><td class="mdescLeft"> </td><td class="mdescRight">The default constructor. <a href="#a0e11c3f5b8a73068a57110f91d6d342f"></a><br/></td></tr> <tr class="memitem:a2c21a899b486525c0c9932ad654ab75b"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a2c21a899b486525c0c9932ad654ab75b">Flags</a> (<a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> *names, const <a class="el" href="classCLAM_1_1Flags.html">Flags</a>< N > &t)</td></tr> <tr class="memdesc:a2c21a899b486525c0c9932ad654ab75b"><td class="mdescLeft"> </td><td class="mdescRight">The derived copy constructor will use this. <a href="#a2c21a899b486525c0c9932ad654ab75b"></a><br/></td></tr> <tr class="memitem:ada0c9519c16dda4ab3a0e8dc6b36d6e9"><td class="memTemplParams" colspan="2">template<class T > </td></tr> <tr class="memitem:ada0c9519c16dda4ab3a0e8dc6b36d6e9"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#ada0c9519c16dda4ab3a0e8dc6b36d6e9">Flags</a> (<a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> *names, const T &t)</td></tr> <tr class="memdesc:ada0c9519c16dda4ab3a0e8dc6b36d6e9"><td class="mdescLeft"> </td><td class="mdescRight">A lazy way to redefine all unary constructors in bitset by forwarding it. <a href="#ada0c9519c16dda4ab3a0e8dc6b36d6e9"></a><br/></td></tr> <tr class="memitem:a85bd22d6c402757a8297ec9a7c72415b"><td class="memTemplParams" colspan="2">template<class T1 , class T2 > </td></tr> <tr class="memitem:a85bd22d6c402757a8297ec9a7c72415b"><td class="memTemplItemLeft" align="right" valign="top"> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#a85bd22d6c402757a8297ec9a7c72415b">Flags</a> (<a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> *names, const T1 &t1, const T2 &t2)</td></tr> <tr class="memdesc:a85bd22d6c402757a8297ec9a7c72415b"><td class="mdescLeft"> </td><td class="mdescRight">A template binary constructor that fordwards to the matching std::bitset. <a href="#a85bd22d6c402757a8297ec9a7c72415b"></a><br/></td></tr> <tr class="memitem:ae1f49d4223f7ffa1e049fa9414cfba9b"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#ae1f49d4223f7ffa1e049fa9414cfba9b">IsSetFlag</a> (<a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> whichOne) const </td></tr> <tr class="memitem:acb1adec95befc47ecfe7758860f8d432"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1Flags.html#acb1adec95befc47ecfe7758860f8d432">SetFlag</a> (<a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> whichOne, bool value=true)</td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2><a name="inherited"></a> Additional Inherited Members</h2></td></tr> <tr class="inherit_header pub_types_classCLAM_1_1FlagsBase"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classCLAM_1_1FlagsBase')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classCLAM_1_1FlagsBase.html">CLAM::FlagsBase</a></td></tr> <tr class="memitem:add6ee969e49cf5c17db062ba15cea780 inherit pub_types_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#add6ee969e49cf5c17db062ba15cea780">tValue</a></td></tr> <tr class="memdesc:add6ee969e49cf5c17db062ba15cea780 inherit pub_types_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">The type of the positional indexes. <a href="#add6ee969e49cf5c17db062ba15cea780"></a><br/></td></tr> <tr class="inherit_header pro_attribs_classCLAM_1_1FlagsBase"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classCLAM_1_1FlagsBase')"><img src="closed.png" alt="-"/> Protected Attributes inherited from <a class="el" href="classCLAM_1_1FlagsBase.html">CLAM::FlagsBase</a></td></tr> <tr class="memitem:acabbad17b44e035d19b1dc7ea0e36aaa inherit pro_attribs_classCLAM_1_1FlagsBase"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classCLAM_1_1FlagsBase.html#acabbad17b44e035d19b1dc7ea0e36aaa">mFlagValues</a></td></tr> <tr class="memdesc:acabbad17b44e035d19b1dc7ea0e36aaa inherit pro_attribs_classCLAM_1_1FlagsBase"><td class="mdescLeft"> </td><td class="mdescRight">A pointer to the user specific flag class table of value-symbol pairs for the flag. <a href="#acabbad17b44e035d19b1dc7ea0e36aaa"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><h3>template<unsigned int N><br/> class CLAM::Flags< N ></h3> <p>Instances of this class represents objects containing a set of booleans values (flags) that can be accessed by their symbolic name. </p> <p>Because <a class="el" href="classCLAM_1_1Flags.html" title="Instances of this class represents objects containing a set of booleans values (flags) that can be ac...">Flags</a> derives from std::bitset<N> it provides all the standard operations like bitwise operators and so. This interface has been fattened to provide symbolic representation (name string) for each flag. If symbolic names for flags are not useful to you, consider use std::bitset instead which has a pure positional approach.</p> <ul> <li>Bitwise operators</li> <li>Several ways to access to individual flags</li> <li>Formated input and output to an std::stream as symbols with the insertion (<<) and extraction (>>) operators</li> <li>Implements the <a class="el" href="classCLAM_1_1Component.html" title="Abstract class for objects that can have subitems to be stored on a storage.">Component</a> interface: StoreOn, DeepCopy, ShallowCopy...</li> <li>Runtime symbolic representation</li> <li>Runtime checking of the values</li> </ul> <h1><a class="anchor" id="ind"></a> Accessing individual flags</h1> <p>You can acces an individual flag of the <a class="el" href="classCLAM_1_1Flags.html" title="Instances of this class represents objects containing a set of booleans values (flags) that can be ac...">Flags</a> object in different ways: </p> <table border="0"> <tr> <td>Access by name: </td><td>flags.bFlagName </td></tr> <tr> <td>Access by indexation plus enums: </td><td>flags[MyFlagsClass::eFlagName] </td></tr> <tr> <td>Access by symbol: </td><td>flags["FlagName"] </td></tr> </table> <p>You can use references this individual flags like any reference to a boolean. Moreover, you can use some extra operations like <code>flip</code> that inverses the actual value of the flag: </p> <div class="fragment"><div class="line"> <span class="keywordtype">bool</span> isTrue= flags.bFlagName;</div> <div class="line"> <span class="keywordtype">bool</span> isFalse= ~(flags.bFlagName);</div> <div class="line"> flags.bFlagName=<span class="keyword">true</span>;</div> <div class="line"> flags.bFlagName.flip();</div> </div><!-- fragment --> <h1><a class="anchor" id="FlagsBitwise"></a> Bitwise operations</h1> <h1><a class="anchor" id="FlagsNonStandard"></a> Non Standard operations</h1> <p>Because older versions of this class didn't derive from bitfield, a different interface for a few functions was used. This old interface has the advantage that uses the same function name convention as the rest of the <a class="el" href="namespaceCLAM.html">CLAM</a> classes. </p> <table class="doxtable"> <tr> <td>CLAMFlags</td><td>mtg::Flags</td><td>Comments </td></tr> <tr> <td>Size</td><td>size</td><td>Returns the number of flags </td></tr> <tr> <td>NSet</td><td>count</td><td>Counts the set flags </td></tr> <tr> <td>Reset</td><td>reset</td><td>Sets to 0 all the flags </td></tr> <tr> <td>NFlags</td><td>not present</td><td>Revise This!!!! </td></tr> <tr> <td>operator int</td><td>operator int</td><td>The interface is unchanged but throws a </td></tr> </table> <h1><a class="anchor" id="CustomFlags"></a> Creating your own flags</h1> <p>The way to define a new <a class="el" href="classCLAM_1_1Flags.html" title="Instances of this class represents objects containing a set of booleans values (flags) that can be ac...">Flags</a> type is by subclassing <code>Flags<N></code>. The subclass MUST redefine its constructors by providing the <a class="el" href="classCLAM_1_1Flags.html" title="Instances of this class represents objects containing a set of booleans values (flags) that can be ac...">Flags</a> constructor an array of tFlagsValue's, which defines the mapping between numeric and symbolic values, and an initialization value, than can be both a symbol (char* or std::string) or an integer.</p> <div class="fragment"><div class="line"> <span class="comment">// MyFlags.hxx</span></div> <div class="line"> <span class="keyword">class </span>MyFlags : <span class="keyword">public</span> <a class="code" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f" title="The default constructor.">Flags</a><5> {</div> <div class="line"> <span class="comment">// Construction/Destruction</span></div> <div class="line"> <span class="keyword">public</span>:</div> <div class="line"> <span class="keyword">static</span> tFlagValue sFlagValues[];</div> <div class="line"> <span class="keyword">static</span> <a class="code" href="classCLAM_1_1FlagsBase.html#add6ee969e49cf5c17db062ba15cea780" title="The type of the positional indexes.">tValue</a> sDefault;</div> <div class="line"> <span class="keyword">virtual</span> Component * <a class="code" href="classCLAM_1_1Flags.html#ac917e24b0f43f4b5d929ac1da90c331b" title="Returns a new object of the same class than the receiver object.">Species</a>()<span class="keyword"> const </span>{</div> <div class="line"> <span class="keywordflow">return</span> <span class="keyword">new</span> MyFlags();</div> <div class="line"> }</div> <div class="line"> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"> eFlag0=0,</div> <div class="line"> eFlag1=1,</div> <div class="line"> eFlag2=2,</div> <div class="line"> eFlag3=3,</div> <div class="line"> eFlag4=4</div> <div class="line"> } tFlag;</div> <div class="line"> MyFlags () :</div> <div class="line"> <a class="code" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f" title="The default constructor.">Flags</a><5>(sFlagValues),</div> <div class="line"> flag0(operator[](eFlag0)),</div> <div class="line"> flag1(operator[](eFlag1)),</div> <div class="line"> flag2(operator[](eFlag2)),</div> <div class="line"> flag3(operator[](eFlag3)),</div> <div class="line"> flag4(operator[](eFlag4))</div> <div class="line"> {</div> <div class="line"> <span class="comment">// The default flag configuration is set here</span></div> <div class="line"> flag4=<span class="keyword">true</span>;</div> <div class="line"> };</div> <div class="line"> MyFlags (<span class="keyword">const</span> MyFlags& someFlags) :</div> <div class="line"> <a class="code" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f" title="The default constructor.">Flags</a><5>(sFlagValues,someFlags),</div> <div class="line"> flag0(operator[](eFlag0)),</div> <div class="line"> flag1(operator[](eFlag1)),</div> <div class="line"> flag2(operator[](eFlag2)),</div> <div class="line"> flag3(operator[](eFlag3)),</div> <div class="line"> flag4(operator[](eFlag4))</div> <div class="line"> {};</div> <div class="line"> <span class="keyword">template</span> <<span class="keyword">class</span> T></div> <div class="line"> MyFlags(<span class="keyword">const</span> T &t) :</div> <div class="line"> <a class="code" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f" title="The default constructor.">Flags</a><5>(sFlagValues,t),</div> <div class="line"> flag0(operator[](eFlag0)),</div> <div class="line"> flag1(operator[](eFlag1)),</div> <div class="line"> flag2(operator[](eFlag2)),</div> <div class="line"> flag3(operator[](eFlag3)),</div> <div class="line"> flag4(operator[](eFlag4))</div> <div class="line"> {};</div> <div class="line"> <span class="keyword">template</span> <<span class="keyword">class</span> T1, <span class="keyword">class</span> T2></div> <div class="line"> MyFlags(<span class="keyword">const</span> T1 &t1, <span class="keyword">const</span> T2 &t2) :</div> <div class="line"> <a class="code" href="classCLAM_1_1Flags.html#a0e11c3f5b8a73068a57110f91d6d342f" title="The default constructor.">Flags</a><5>(sFlagValues,t1,t2),</div> <div class="line"> flag0(operator[](eFlag0)),</div> <div class="line"> flag1(operator[](eFlag1)),</div> <div class="line"> flag2(operator[](eFlag2)),</div> <div class="line"> flag3(operator[](eFlag3)),</div> <div class="line"> flag4(operator[](eFlag4))</div> <div class="line"> {}</div> <div class="line"> reference flag0;</div> <div class="line"> reference flag1;</div> <div class="line"> reference flag2;</div> <div class="line"> reference flag3;</div> <div class="line"> reference flag4;</div> <div class="line"> };</div> </div><!-- fragment --><div class="fragment"><div class="line"> <span class="comment">// MyFlags.cxx</span></div> <div class="line"> Flags<5>::tFlagValue MyFlags::sFlagValues[] = {</div> <div class="line"> {MyFlags::eFlag0, <span class="stringliteral">"flag0"</span>},</div> <div class="line"> {MyFlags::eFlag1, <span class="stringliteral">"flag1"</span>},</div> <div class="line"> {MyFlags::eFlag2, <span class="stringliteral">"flag2"</span>},</div> <div class="line"> {MyFlags::eFlag3, <span class="stringliteral">"flag3"</span>},</div> <div class="line"> {MyFlags::eFlag4, <span class="stringliteral">"flag4"</span>},</div> <div class="line"> {0,<a class="code" href="OSDefines_8hxx.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>}</div> <div class="line"> };</div> </div><!-- fragment --> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00251">251</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div><hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a0e11c3f5b8a73068a57110f91d6d342f"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::<a class="el" href="classCLAM_1_1Flags.html">Flags</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> * </td> <td class="paramname"><em>names</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>The default constructor. </p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00256">256</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="a2c21a899b486525c0c9932ad654ab75b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::<a class="el" href="classCLAM_1_1Flags.html">Flags</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> * </td> <td class="paramname"><em>names</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classCLAM_1_1Flags.html">Flags</a>< N > & </td> <td class="paramname"><em>t</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>The derived copy constructor will use this. </p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00262">262</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="ada0c9519c16dda4ab3a0e8dc6b36d6e9"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <div class="memtemplate"> template<class T > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::<a class="el" href="classCLAM_1_1Flags.html">Flags</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> * </td> <td class="paramname"><em>names</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T & </td> <td class="paramname"><em>t</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>A lazy way to redefine all unary constructors in bitset by forwarding it. </p> <dl class="section see"><dt>See also:</dt><dd>std::bitset To obtain the complete set of available constructors. </dd></dl> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00271">271</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="a85bd22d6c402757a8297ec9a7c72415b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <div class="memtemplate"> template<class T1 , class T2 > </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::<a class="el" href="classCLAM_1_1Flags.html">Flags</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="structCLAM_1_1FlagsBase_1_1tFlagValue.html">tFlagValue</a> * </td> <td class="paramname"><em>names</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T1 & </td> <td class="paramname"><em>t1</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const T2 & </td> <td class="paramname"><em>t2</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>A template binary constructor that fordwards to the matching std::bitset. </p> <pre><N></pre><p> constructor A lazy way to redefine all binary constructors in bitset by forwarding it. </p> <dl class="section see"><dt>See also:</dt><dd>std::bitset To obtain the complete set of available constructors. </dd></dl> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00282">282</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="adf907bc79410a337c5edf5282ae5fbae"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::~<a class="el" href="classCLAM_1_1Flags.html">Flags</a> </td> <td>(</td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>The required virtual destructor. </p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00289">289</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a1787e268c3f5e80417172edc10860ce7"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a>* <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::DeepCopy </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">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Reimplemented from <a class="el" href="classCLAM_1_1Component.html#abedb266b3be881d94b469d9401586ae6">CLAM::Component</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00317">317</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="a9a988dfd8d660380f158b17846c87edf"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">const char* <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::GetClassName </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">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="todo"><dt><b><a class="el" href="todo.html#_todo000044">Todo:</a></b></dt><dd>GetClassName for <a class="el" href="classCLAM_1_1Flags.html" title="Instances of this class represents objects containing a set of booleans values (flags) that can be ac...">Flags</a> </dd></dl> <p>Implements <a class="el" href="classCLAM_1_1Component.html#a375597920cfb01128618b0ee6b499d9d">CLAM::Component</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00292">292</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="adc2bf01d4fb24f5d043ec6db368c4b59"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::GetNFlags </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">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <dl class="section return"><dt>Returns:</dt><dd>the number of flags contained </dd></dl> <p>Implements <a class="el" href="classCLAM_1_1FlagsBase.html#a75769f58fd6b0922715cfa34cc8c5ccb">CLAM::FlagsBase</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00296">296</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="ae1f49d4223f7ffa1e049fa9414cfba9b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual bool <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::IsSetFlag </td> <td>(</td> <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> </td> <td class="paramname"><em>whichOne</em></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="classCLAM_1_1FlagsBase.html#aa90bee2775b2f073dce4e169549196ac">CLAM::FlagsBase</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00300">300</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="acb1adec95befc47ecfe7758860f8d432"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual void <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::SetFlag </td> <td>(</td> <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="classint.html">int</a> </td> <td class="paramname"><em>whichOne</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"><em>value</em> = <code>true</code> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Implements <a class="el" href="classCLAM_1_1FlagsBase.html#a6480daaacdc073678e241a5acd241d6f">CLAM::FlagsBase</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00303">303</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="a409ed97b28fdbb8c702f3fc7786f355a"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a>* <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::ShallowCopy </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">inline</span><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Reimplemented from <a class="el" href="classCLAM_1_1Component.html#af3aa59dec7179de172973e9cd6d0b59e">CLAM::Component</a>.</p> <p>Definition at line <a class="el" href="Flags_8hxx_source.html#l00323">323</a> of file <a class="el" href="Flags_8hxx_source.html">Flags.hxx</a>.</p> </div> </div> <a class="anchor" id="ac917e24b0f43f4b5d929ac1da90c331b"></a> <div class="memitem"> <div class="memproto"> <div class="memtemplate"> template<unsigned int N> </div> <table class="mlabels"> <tr> <td class="mlabels-left"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCLAM_1_1Component.html">Component</a>* <a class="el" href="classCLAM_1_1Flags.html">CLAM::Flags</a>< N >::Species </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">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns a new object of the same class than the receiver object. </p> <p>To be reimplemented by subclasses. </p> <dl class="section return"><dt>Returns:</dt><dd>a new allocated component. The pointer belongs to the caller. </dd></dl> <p>Implemented in <a class="el" href="structCLAM_1_1SpecTypeFlags.html#affd0d4c275e40d7f53c16a2efa98ad71">CLAM::SpecTypeFlags</a>.</p> <p>Referenced by <a class="el" href="Flags_8hxx_source.html#l00317">CLAM::Flags< 4 >::DeepCopy()</a>, and <a class="el" href="Flags_8hxx_source.html#l00323">CLAM::Flags< 4 >::ShallowCopy()</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="Flags_8hxx_source.html">Flags.hxx</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1 </small></address> </body> </html>
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare