Show
Ignore:
Timestamp:
10/12/09 13:49:39 (15 years ago)
Author:
mido
Message:

\doc directory cleaned a bit

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/doc/html/user__info_8h_source.html

    r641 r651  
    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    2 <html xmlns="http://www.w3.org/1999/xhtml"> 
    3 <head> 
    4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> 
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
     2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
    53<title>mixpp: user_info.h Source File</title> 
    6 <link href="tabs.css" rel="stylesheet" type="text/css"/> 
    7 <link href="doxygen.css" rel="stylesheet" type="text/css"/> 
    8 </head> 
    9 <body> 
    10 <!-- Generated by Doxygen 1.6.1 --> 
     4<link href="tabs.css" rel="stylesheet" type="text/css"> 
     5<link href="doxygen.css" rel="stylesheet" type="text/css"> 
     6</head><body> 
     7<!-- Generated by Doxygen 1.5.9 --> 
    118<script type="text/javascript"> 
    129<!-- 
     
    7572<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;stdexcept&gt;</span> 
    7673<a name="l00023"></a>00023  
    77 <a name="l00024"></a>00024 <span class="preprocessor">#include &quot;libconfig/libconfig.h++&quot;</span> 
    78 <a name="l00025"></a>00025 <span class="preprocessor">#include &quot;../bdmroot.h&quot;</span> 
    79 <a name="l00026"></a>00026 <span class="preprocessor">#include &quot;../shared_ptr.h&quot;</span> 
    80 <a name="l00027"></a>00027 <span class="preprocessor">#include &quot;itpp/itbase.h&quot;</span> 
     74<a name="l00024"></a>00024 <span class="preprocessor">#include "libconfig/libconfig.h++"</span> 
     75<a name="l00025"></a>00025 <span class="preprocessor">#include "../bdmroot.h"</span> 
     76<a name="l00026"></a>00026 <span class="preprocessor">#include "../shared_ptr.h"</span> 
     77<a name="l00027"></a>00027 <span class="preprocessor">#include "itpp/itbase.h"</span> 
    8178<a name="l00028"></a>00028  
    8279<a name="l00029"></a>00029  
     
    9289<a name="l00043"></a>00043  
    9390<a name="l00044"></a>00044 <span class="keyword">public</span>: 
    94 <a name="l00049"></a><a class="code" href="classbdm_1_1UIException.html#a7b2b53f2265165deea6f7c0cce1aa770">00049</a>         <a class="code" href="classbdm_1_1UIException.html#a7b2b53f2265165deea6f7c0cce1aa770" title="The constructor.">UIException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message ) : 
     91<a name="l00049"></a><a class="code" href="classbdm_1_1UIException.html#7b2b53f2265165deea6f7c0cce1aa770">00049</a>         <a class="code" href="classbdm_1_1UIException.html#7b2b53f2265165deea6f7c0cce1aa770" title="The constructor.">UIException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message ) : 
    9592<a name="l00050"></a>00050                 message ( message ) { 
    9693<a name="l00051"></a>00051         } 
    9794<a name="l00052"></a>00052  
    98 <a name="l00054"></a><a class="code" href="classbdm_1_1UIException.html#a1bf477e4ea19abb638fe5b883f09218e">00054</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classbdm_1_1UIException.html#a1bf477e4ea19abb638fe5b883f09218e" title="Overriden method for reporting the error message.">what</a>() <span class="keyword">const</span> throw() { 
     95<a name="l00054"></a><a class="code" href="classbdm_1_1UIException.html#1bf477e4ea19abb638fe5b883f09218e">00054</a>         <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classbdm_1_1UIException.html#1bf477e4ea19abb638fe5b883f09218e" title="Overriden method for reporting the error message.">what</a>() <span class="keyword">const</span> throw() { 
    9996<a name="l00055"></a>00055                 <span class="keywordflow">return</span> message.c_str(); 
    10097<a name="l00056"></a>00056         } 
     
    103100<a name="l00059"></a>00059  
    104101<a name="l00060"></a>00060 <span class="keyword">protected</span>: 
    105 <a name="l00065"></a>00065         <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classbdm_1_1UIException.html#a864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a>( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;reason, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ); 
     102<a name="l00065"></a>00065         <span class="keyword">static</span> <span class="keywordtype">string</span> <a class="code" href="classbdm_1_1UIException.html#864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a>( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;reason, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ); 
    106103<a name="l00066"></a>00066 }; 
    107104<a name="l00067"></a>00067  
    108105<a name="l00071"></a><a class="code" href="classbdm_1_1UISettingException.html">00071</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> : <span class="keyword">public</span> <a class="code" href="classbdm_1_1UIException.html">UIException</a> { 
    109106<a name="l00072"></a>00072 <span class="keyword">public</span>: 
    110 <a name="l00074"></a><a class="code" href="classbdm_1_1UISettingException.html#a8cc4ce2a91b79b6bc88a3ca563799a4c">00074</a>         <a class="code" href="classbdm_1_1UISettingException.html#a8cc4ce2a91b79b6bc88a3ca563799a4c" title="Use this constructor when you can pass the problematical Setting as a parameter.">UISettingException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> Setting &amp;element ): 
    111 <a name="l00075"></a>00075                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#a864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, string ( element.getPath() ) ) ) { 
     107<a name="l00074"></a><a class="code" href="classbdm_1_1UISettingException.html#8cc4ce2a91b79b6bc88a3ca563799a4c">00074</a>         <a class="code" href="classbdm_1_1UISettingException.html#8cc4ce2a91b79b6bc88a3ca563799a4c" title="Use this constructor when you can pass the problematical Setting as a parameter.">UISettingException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> Setting &amp;element ): 
     108<a name="l00075"></a>00075                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, string ( element.getPath() ) ) ) { 
    112109<a name="l00076"></a>00076         } 
    113110<a name="l00077"></a>00077  
    114 <a name="l00079"></a><a class="code" href="classbdm_1_1UISettingException.html#a3527101bc7d484b32c44561599dac706">00079</a>         <a class="code" href="classbdm_1_1UISettingException.html#a8cc4ce2a91b79b6bc88a3ca563799a4c" title="Use this constructor when you can pass the problematical Setting as a parameter.">UISettingException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ): 
    115 <a name="l00080"></a>00080                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#a864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, path ) ) { 
     111<a name="l00079"></a><a class="code" href="classbdm_1_1UISettingException.html#3527101bc7d484b32c44561599dac706">00079</a>         <a class="code" href="classbdm_1_1UISettingException.html#8cc4ce2a91b79b6bc88a3ca563799a4c" title="Use this constructor when you can pass the problematical Setting as a parameter.">UISettingException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ): 
     112<a name="l00080"></a>00080                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, path ) ) { 
    116113<a name="l00081"></a>00081         } 
    117114<a name="l00082"></a>00082  
     
    121118<a name="l00089"></a><a class="code" href="classbdm_1_1UIClassException.html">00089</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1UIClassException.html">UIClassException</a> : <span class="keyword">public</span> <a class="code" href="classbdm_1_1UIException.html">UIException</a> { 
    122119<a name="l00090"></a>00090 <span class="keyword">public</span>: 
    123 <a name="l00092"></a><a class="code" href="classbdm_1_1UIClassException.html#ab2e391810138b684f1c4aa7084d49bb6">00092</a>         <a class="code" href="classbdm_1_1UIClassException.html#ab2e391810138b684f1c4aa7084d49bb6" title="Use this constructor when you can pass the problematical Setting as a parameter.">UIClassException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> Setting &amp;element ): 
    124 <a name="l00093"></a>00093                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#a864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, string ( element.getPath() ) ) ) { 
     120<a name="l00092"></a><a class="code" href="classbdm_1_1UIClassException.html#b2e391810138b684f1c4aa7084d49bb6">00092</a>         <a class="code" href="classbdm_1_1UIClassException.html#b2e391810138b684f1c4aa7084d49bb6" title="Use this constructor when you can pass the problematical Setting as a parameter.">UIClassException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> Setting &amp;element ): 
     121<a name="l00093"></a>00093                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, string ( element.getPath() ) ) ) { 
    125122<a name="l00094"></a>00094         } 
    126123<a name="l00095"></a>00095  
    127 <a name="l00097"></a><a class="code" href="classbdm_1_1UIClassException.html#abab8fb018b11c33628c6f08140ce13f0">00097</a>         <a class="code" href="classbdm_1_1UIClassException.html#ab2e391810138b684f1c4aa7084d49bb6" title="Use this constructor when you can pass the problematical Setting as a parameter.">UIClassException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ): 
    128 <a name="l00098"></a>00098                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#a864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, path ) ) { 
     124<a name="l00097"></a><a class="code" href="classbdm_1_1UIClassException.html#bab8fb018b11c33628c6f08140ce13f0">00097</a>         <a class="code" href="classbdm_1_1UIClassException.html#b2e391810138b684f1c4aa7084d49bb6" title="Use this constructor when you can pass the problematical Setting as a parameter.">UIClassException</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;message, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;path ): 
     125<a name="l00098"></a>00098                 <a class="code" href="classbdm_1_1UIException.html">UIException</a> ( <a class="code" href="classbdm_1_1UIException.html#864c8a6b9000691ea3e0f2b48b6f9d6a">format_message</a> ( message, path ) ) { 
    129126<a name="l00099"></a>00099         } 
    130127<a name="l00100"></a>00100  
     
    134131<a name="l00128"></a><a class="code" href="classbdm_1_1UIFile.html">00128</a> <span class="keyword">class </span><a class="code" href="classbdm_1_1UIFile.html" title="This class serves to load and/or save user-infos into/from configuration files stored...">UIFile</a> : <span class="keyword">public</span> Config { 
    135132<a name="l00129"></a>00129 <span class="keyword">public</span>: 
    136 <a name="l00131"></a>00131         <a class="code" href="classbdm_1_1UIFile.html#a77274c827f87f16bd6671df8a0cc1e33" title="Create empty file instance prepared to store Settings.">UIFile</a>(); 
     133<a name="l00131"></a>00131         <a class="code" href="classbdm_1_1UIFile.html#77274c827f87f16bd6671df8a0cc1e33" title="Create empty file instance prepared to store Settings.">UIFile</a>(); 
    137134<a name="l00132"></a>00132  
    138 <a name="l00134"></a>00134         <a class="code" href="classbdm_1_1UIFile.html#a77274c827f87f16bd6671df8a0cc1e33" title="Create empty file instance prepared to store Settings.">UIFile</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;file_name ); 
     135<a name="l00134"></a>00134         <a class="code" href="classbdm_1_1UIFile.html#77274c827f87f16bd6671df8a0cc1e33" title="Create empty file instance prepared to store Settings.">UIFile</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;file_name ); 
    139136<a name="l00135"></a>00135  
    140 <a name="l00137"></a>00137         <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UIFile.html#a1f8af28a0d8ef1a4956e198df0beb5ba" title="Save all the stored Settings into the configuration file file_name.">save</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;file_name ); 
     137<a name="l00137"></a>00137         <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UIFile.html#1f8af28a0d8ef1a4956e198df0beb5ba" title="Save all the stored Settings into the configuration file file_name.">save</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;file_name ); 
    141138<a name="l00138"></a>00138  
    142 <a name="l00140"></a>00140         <a class="code" href="classbdm_1_1UIFile.html#a5bce10d88c71f6147d58baa8400ff61f" title="This operator allows the ability of substituting Setting parameter by UIFile instance...">operator Setting&amp;</a>(); 
     139<a name="l00140"></a>00140         <a class="code" href="classbdm_1_1UIFile.html#5bce10d88c71f6147d58baa8400ff61f" title="This operator allows the ability of substituting Setting parameter by UIFile instance...">operator Setting&amp;</a>(); 
    143140<a name="l00141"></a>00141 }; 
    144141<a name="l00142"></a>00142  
     
    150147<a name="l00220"></a>00220  
    151148<a name="l00221"></a>00221 <span class="keyword">public</span>: 
    152 <a name="l00223"></a><a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498">00223</a>         <span class="keyword">const</span> Setting &amp;<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>; 
     149<a name="l00223"></a><a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498">00223</a>         <span class="keyword">const</span> Setting &amp;<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>; 
    153150<a name="l00224"></a>00224  
    154 <a name="l00226"></a>00226         <a class="code" href="classbdm_1_1SettingResolver.html#ae2299746b95bf8af54a867aaf52fc8da" title="If potential_link contains a link to some other setting, it is resolved here. Anyway...">SettingResolver</a> ( <span class="keyword">const</span> Setting &amp;potential_link ); 
     151<a name="l00226"></a>00226         <a class="code" href="classbdm_1_1SettingResolver.html#e2299746b95bf8af54a867aaf52fc8da" title="If potential_link contains a link to some other setting, it is resolved here. Anyway...">SettingResolver</a> ( <span class="keyword">const</span> Setting &amp;potential_link ); 
    155152<a name="l00227"></a>00227  
    156 <a name="l00229"></a>00229         <a class="code" href="classbdm_1_1SettingResolver.html#ac8b29999710e2db98c1a3979e25e6bbc" title="An opened UIFile file is closed here if necessary.">~SettingResolver</a>(); 
     153<a name="l00229"></a>00229         <a class="code" href="classbdm_1_1SettingResolver.html#c8b29999710e2db98c1a3979e25e6bbc" title="An opened UIFile file is closed here if necessary.">~SettingResolver</a>(); 
    157154<a name="l00230"></a>00230 }; 
    158155<a name="l00231"></a>00231  
     
    196193<a name="l00310"></a>00310         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> from_setting ( T* &amp;instance, <span class="keyword">const</span> Setting &amp;element ) { 
    197194<a name="l00311"></a>00311                 <span class="keyword">const</span> <a class="code" href="classbdm_1_1SettingResolver.html" title="This class serves to expand links used within configuration files.">SettingResolver</a> link ( element ); 
    198 <a name="l00312"></a>00312                 assert_type ( link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>, Setting::TypeGroup ); 
     195<a name="l00312"></a>00312                 assert_type ( link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>, Setting::TypeGroup ); 
    199196<a name="l00313"></a>00313  
    200 <a name="l00314"></a>00314                 <span class="comment">// we get a value stored in the &quot;class&quot; attribute</span> 
     197<a name="l00314"></a>00314                 <span class="comment">// we get a value stored in the "class" attribute</span> 
    201198<a name="l00315"></a>00315                 <span class="keywordtype">string</span> class_name; 
    202 <a name="l00316"></a>00316                 <span class="keywordflow">if</span> ( !link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>.lookupValue ( <span class="stringliteral">&quot;class&quot;</span>, class_name ) ) 
    203 <a name="l00317"></a>00317                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UIClassException.html">UIClassException</a> ( <span class="stringliteral">&quot;UIException: the obligatory \&quot;class\&quot; identifier is missing.&quot;</span>, link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
     199<a name="l00316"></a>00316                 <span class="keywordflow">if</span> ( !link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>.lookupValue ( <span class="stringliteral">"class"</span>, class_name ) ) 
     200<a name="l00317"></a>00317                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UIClassException.html">UIClassException</a> ( <span class="stringliteral">"UIException: the obligatory \"class\" identifier is missing."</span>, link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
    204201<a name="l00318"></a>00318  
    205202<a name="l00319"></a>00319                 <span class="comment">// then we find a user-info related to this type</span> 
     
    207204<a name="l00321"></a>00321  
    208205<a name="l00322"></a>00322                 <a class="code" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a> *typeless_instance = related_UI.new_instance(); 
    209 <a name="l00323"></a>00323                 <a class="code" href="bdmerror_8h.html#a7a3399d182b8e3065532596e76f84849" title="Throw std::runtime_exception if t is not true.">bdm_assert</a> ( typeless_instance, <span class="stringliteral">&quot;UI::new_instance failed&quot;</span> ); 
     206<a name="l00323"></a>00323                 <a class="code" href="bdmerror_8h.html#7a3399d182b8e3065532596e76f84849" title="Throw std::runtime_exception if t is not true.">bdm_assert</a> ( typeless_instance, <span class="stringliteral">"UI::new_instance failed"</span> ); 
    210207<a name="l00324"></a>00324  
    211208<a name="l00325"></a>00325                 instance = <span class="keyword">dynamic_cast&lt;</span>T*<span class="keyword">&gt;</span> ( typeless_instance ); 
    212209<a name="l00326"></a>00326                 <span class="keywordflow">if</span> ( !instance ) { 
    213210<a name="l00327"></a>00327                         <span class="keyword">delete</span> typeless_instance; 
    214 <a name="l00328"></a>00328                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UIClassException.html">UIClassException</a> ( <span class="stringliteral">&quot;UIException: class &quot;</span> + class_name + <span class="stringliteral">&quot; is not a descendant of the desired output class. Try to call the UI::build&lt;T&gt; function with a different type parameter.&quot;</span>, link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
     211<a name="l00328"></a>00328                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UIClassException.html">UIClassException</a> ( <span class="stringliteral">"UIException: class "</span> + class_name + <span class="stringliteral">" is not a descendant of the desired output class. Try to call the UI::build&lt;T&gt; function with a different type parameter."</span>, link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
    215212<a name="l00329"></a>00329                 } 
    216213<a name="l00330"></a>00330  
    217214<a name="l00331"></a>00331                 <span class="keywordflow">try</span> { 
    218 <a name="l00332"></a>00332                         instance-&gt;from_setting ( link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
     215<a name="l00332"></a>00332                         instance-&gt;from_setting ( link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a> ); 
    219216<a name="l00333"></a>00333                 } <span class="keywordflow">catch</span> ( SettingException &amp;sttng_xcptn ) { 
    220217<a name="l00334"></a>00334                         <span class="keyword">delete</span> instance; 
    221218<a name="l00335"></a>00335                         instance = 0; 
    222 <a name="l00336"></a>00336                         <span class="keywordtype">string</span> msg = <span class="stringliteral">&quot;UIException: method &quot;</span>; 
     219<a name="l00336"></a>00336                         <span class="keywordtype">string</span> msg = <span class="stringliteral">"UIException: method "</span>; 
    223220<a name="l00337"></a>00337                         msg += class_name; 
    224 <a name="l00338"></a>00338                         msg += <span class="stringliteral">&quot;.from_setting(Setting&amp;) has thrown a SettingException.&quot;</span>; 
     221<a name="l00338"></a>00338                         msg += <span class="stringliteral">".from_setting(Setting&amp;) has thrown a SettingException."</span>; 
    225222<a name="l00339"></a>00339                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a>(msg, sttng_xcptn.getPath()); 
    226223<a name="l00340"></a>00340                 } <span class="keywordflow">catch</span> (std::runtime_error &amp;e) { 
    227224<a name="l00341"></a>00341                         <span class="keyword">delete</span> instance; 
    228225<a name="l00342"></a>00342                         instance = 0; 
    229 <a name="l00343"></a>00343                         <span class="keywordtype">string</span> msg = <span class="stringliteral">&quot;UIException: method &quot;</span>; 
     226<a name="l00343"></a>00343                         <span class="keywordtype">string</span> msg = <span class="stringliteral">"UIException: method "</span>; 
    230227<a name="l00344"></a>00344                         msg += class_name; 
    231 <a name="l00345"></a>00345                         msg += <span class="stringliteral">&quot; says: &quot;</span>; 
     228<a name="l00345"></a>00345                         msg += <span class="stringliteral">" says: "</span>; 
    232229<a name="l00346"></a>00346                         msg += e.what(); 
    233 <a name="l00347"></a>00347                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a>(msg, link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>); 
     230<a name="l00347"></a>00347                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a>(msg, link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>); 
    234231<a name="l00348"></a>00348                 } <span class="keywordflow">catch</span> (...) { 
    235232<a name="l00349"></a>00349                         <span class="keyword">delete</span> instance; 
     
    240237<a name="l00354"></a>00354  
    241238<a name="l00357"></a>00357         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; 
    242 <a name="l00358"></a>00358         <span class="keyword">static</span> <span class="keywordtype">void</span> from_setting ( <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> &amp;instance, <span class="keyword">const</span> Setting &amp;element ) { 
     239<a name="l00358"></a>00358         <span class="keyword">static</span> <span class="keywordtype">void</span> from_setting ( <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> &amp;instance, <span class="keyword">const</span> Setting &amp;element ) { 
    243240<a name="l00359"></a>00359                 T *tmp_inst = 0; 
    244241<a name="l00360"></a>00360                 from_setting ( tmp_inst, element ); 
    245 <a name="l00361"></a>00361                 <a class="code" href="bdmerror_8h.html#a7a3399d182b8e3065532596e76f84849" title="Throw std::runtime_exception if t is not true.">bdm_assert</a> ( tmp_inst, <span class="stringliteral">&quot;UI::from_setting failed&quot;</span> ); 
     242<a name="l00361"></a>00361                 <a class="code" href="bdmerror_8h.html#7a3399d182b8e3065532596e76f84849" title="Throw std::runtime_exception if t is not true.">bdm_assert</a> ( tmp_inst, <span class="stringliteral">"UI::from_setting failed"</span> ); 
    246243<a name="l00362"></a>00362                 instance = tmp_inst; 
    247244<a name="l00363"></a>00363         } 
     
    250247<a name="l00367"></a>00367                 <span class="keyword">const</span> <a class="code" href="classbdm_1_1SettingResolver.html" title="This class serves to expand links used within configuration files.">SettingResolver</a> link ( element ); 
    251248<a name="l00368"></a>00368  
    252 <a name="l00369"></a>00369                 assert_type ( link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>, Setting::TypeList ); 
     249<a name="l00369"></a>00369                 assert_type ( link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>, Setting::TypeList ); 
    253250<a name="l00370"></a>00370  
    254 <a name="l00371"></a>00371                 <span class="keywordtype">int</span> len = link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>.getLength(); 
     251<a name="l00371"></a>00371                 <span class="keywordtype">int</span> len = link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>.getLength(); 
    255252<a name="l00372"></a>00372                 array_to_load.set_length ( len ); 
    256253<a name="l00373"></a>00373                 <span class="keywordflow">if</span> ( len == 0 ) <span class="keywordflow">return</span>; 
    257254<a name="l00374"></a>00374  
    258255<a name="l00375"></a>00375                 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; len; i++ ) 
    259 <a name="l00376"></a>00376                         from_setting ( array_to_load ( i ), link.<a class="code" href="classbdm_1_1SettingResolver.html#aadfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>[i] ); 
     256<a name="l00376"></a>00376                         from_setting ( array_to_load ( i ), link.<a class="code" href="classbdm_1_1SettingResolver.html#adfcd0a81d025c52c8335b6aea07b498" title="Reference to a resolved link or to the original Setting in the case it does not contain...">result</a>[i] ); 
    260257<a name="l00377"></a>00377         } 
    261258<a name="l00378"></a>00378  
    262259<a name="l00383"></a>00383         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> from_setting ( T &amp;variable_to_load, <span class="keyword">const</span> Setting &amp;element ) { 
    263 <a name="l00384"></a>00384                 std::string msg = <span class="stringliteral">&quot;UIException: from_setting is not implemented for type &quot;</span>; 
     260<a name="l00384"></a>00384                 std::string msg = <span class="stringliteral">"UIException: from_setting is not implemented for type "</span>; 
    264261<a name="l00385"></a>00385                 msg += <span class="keyword">typeid</span>(T).name(); 
    265 <a name="l00386"></a>00386                 msg += <span class="charliteral">&apos;.&apos;</span>; 
     262<a name="l00386"></a>00386                 msg += <span class="charliteral">'.'</span>; 
    266263<a name="l00387"></a>00387                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( msg, element ); 
    267264<a name="l00388"></a>00388         } 
     
    269266<a name="l00390"></a>00390  
    270267<a name="l00391"></a>00391 <span class="keyword">protected</span>: 
    271 <a name="l00393"></a><a class="code" href="classbdm_1_1UI.html#ad60234c0673f345424329894b9b0cef8">00393</a>         <a class="code" href="classbdm_1_1UI.html#ad60234c0673f345424329894b9b0cef8" title="Constructor for internal use only, see.">UI</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; class_name, <span class="keyword">const</span> type_info * <span class="keyword">const</span> class_type_info ) { 
     268<a name="l00393"></a><a class="code" href="classbdm_1_1UI.html#d60234c0673f345424329894b9b0cef8">00393</a>         <a class="code" href="classbdm_1_1UI.html#d60234c0673f345424329894b9b0cef8" title="Constructor for internal use only, see.">UI</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span>&amp; class_name, <span class="keyword">const</span> type_info * <span class="keyword">const</span> class_type_info ) { 
    272269<a name="l00394"></a>00394                 MappedUI::add_class ( class_name, class_type_info, <span class="keyword">this</span> ); 
    273270<a name="l00395"></a>00395         } 
     
    275272<a name="l00397"></a>00397 <span class="keyword">public</span>: 
    276273<a name="l00398"></a>00398  
    277 <a name="l00400"></a><a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6">00400</a>         <span class="keyword">enum</span> <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> { optional, compulsory } ; 
     274<a name="l00400"></a><a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6">00400</a>         <span class="keyword">enum</span> <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> { optional, compulsory } ; 
    278275<a name="l00401"></a>00401  
    279276<a name="l00405"></a>00405  
    280277<a name="l00409"></a>00409         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; 
    281 <a name="l00410"></a><a class="code" href="classbdm_1_1UI.html#a1f3d45184f803e1256cfc896b43ed2f8">00410</a>         <span class="keyword">static</span> <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> <a class="code" href="classbdm_1_1UI.html#a1f3d45184f803e1256cfc896b43ed2f8">build</a> ( <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     278<a name="l00410"></a><a class="code" href="classbdm_1_1UI.html#1f3d45184f803e1256cfc896b43ed2f8">00410</a>         <span class="keyword">static</span> <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> <a class="code" href="classbdm_1_1UI.html#1f3d45184f803e1256cfc896b43ed2f8">build</a> ( <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    282279<a name="l00411"></a>00411                 <span class="keywordflow">if</span> ( !element.exists ( name ) ) { 
    283280<a name="l00412"></a>00412                         <span class="keywordflow">if</span> ( settingPresence == optional ) 
    284 <a name="l00413"></a>00413                                 <span class="keywordflow">return</span> <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a>(); 
     281<a name="l00413"></a>00413                                 <span class="keywordflow">return</span> <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a>(); 
    285282<a name="l00414"></a>00414                         <span class="keywordflow">else</span> 
    286 <a name="l00415"></a>00415                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">&quot;UIException: the compulsory Setting named \&quot;&quot;</span> + name + <span class="stringliteral">&quot;\&quot; is missing.&quot;</span>, element ); 
     283<a name="l00415"></a>00415                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">"UIException: the compulsory Setting named \""</span> + name + <span class="stringliteral">"\" is missing."</span>, element ); 
    287284<a name="l00416"></a>00416                 } 
    288285<a name="l00417"></a>00417  
    289 <a name="l00418"></a>00418                 <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> instance; 
     286<a name="l00418"></a>00418                 <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> instance; 
    290287<a name="l00419"></a>00419                 from_setting&lt;T&gt; ( instance, to_child_setting ( element, name ) ); 
    291288<a name="l00420"></a>00420                 <span class="keywordflow">return</span> instance; 
     
    293290<a name="l00422"></a>00422  
    294291<a name="l00426"></a>00426         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; 
    295 <a name="l00427"></a><a class="code" href="classbdm_1_1UI.html#af02851b299aedeb891e30c4807903081">00427</a>         <span class="keyword">static</span> <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> <a class="code" href="classbdm_1_1UI.html#af02851b299aedeb891e30c4807903081">build</a> ( <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     292<a name="l00427"></a><a class="code" href="classbdm_1_1UI.html#f02851b299aedeb891e30c4807903081">00427</a>         <span class="keyword">static</span> <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> <a class="code" href="classbdm_1_1UI.html#f02851b299aedeb891e30c4807903081">build</a> ( <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    296293<a name="l00428"></a>00428                 <span class="keywordflow">if</span> ( element.getLength() &lt;= index ) { 
    297294<a name="l00429"></a>00429                         <span class="keywordflow">if</span> ( settingPresence == optional ) 
    298 <a name="l00430"></a>00430                                 <span class="keywordflow">return</span> <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a>(); 
     295<a name="l00430"></a>00430                                 <span class="keywordflow">return</span> <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a>(); 
    299296<a name="l00431"></a>00431                         <span class="keywordflow">else</span> { 
    300297<a name="l00432"></a>00432                                 stringstream stream; 
    301298<a name="l00433"></a>00433                                 stream &lt;&lt; index; 
    302 <a name="l00434"></a>00434                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">&quot;UIException: the compulsory Setting with the index &quot;</span> + stream.str() + <span class="stringliteral">&quot; is missing.&quot;</span>, element ); 
     299<a name="l00434"></a>00434                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">"UIException: the compulsory Setting with the index "</span> + stream.str() + <span class="stringliteral">" is missing."</span>, element ); 
    303300<a name="l00435"></a>00435                         } 
    304301<a name="l00436"></a>00436                 } 
    305302<a name="l00437"></a>00437  
    306 <a name="l00438"></a>00438                 <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> instance; 
     303<a name="l00438"></a>00438                 <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> instance; 
    307304<a name="l00439"></a>00439                 from_setting&lt;T&gt; ( instance, to_child_setting ( element, index ) ); 
    308305<a name="l00440"></a>00440                 <span class="keywordflow">return</span> instance; 
     
    311308<a name="l00444"></a>00444  
    312309<a name="l00448"></a>00448  
    313 <a name="l00451"></a><a class="code" href="classbdm_1_1UI.html#acd1667e6fec99ec64dabcb3ca2ff922d">00451</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     310<a name="l00451"></a><a class="code" href="classbdm_1_1UI.html#cd1667e6fec99ec64dabcb3ca2ff922d">00451</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    314311<a name="l00452"></a>00452                 <span class="keywordflow">if</span> ( !element.exists ( name ) ) { 
    315312<a name="l00453"></a>00453                         <span class="keywordflow">if</span> ( settingPresence == optional ) 
    316313<a name="l00454"></a>00454                                 <span class="keywordflow">return</span> <span class="keyword">false</span>; 
    317314<a name="l00455"></a>00455                         <span class="keywordflow">else</span> 
    318 <a name="l00456"></a>00456                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">&quot;UIException: the compulsory Setting named \&quot;&quot;</span> + name + <span class="stringliteral">&quot;\&quot; is missing.&quot;</span>, element ); 
     315<a name="l00456"></a>00456                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> ( <span class="stringliteral">"UIException: the compulsory Setting named \""</span> + name + <span class="stringliteral">"\" is missing."</span>, element ); 
    319316<a name="l00457"></a>00457                 } 
    320317<a name="l00458"></a>00458  
     
    323320<a name="l00461"></a>00461         } 
    324321<a name="l00462"></a>00462  
    325 <a name="l00465"></a><a class="code" href="classbdm_1_1UI.html#a6fb95ccb13515a3f23080a397dacaa0e">00465</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     322<a name="l00465"></a><a class="code" href="classbdm_1_1UI.html#6fb95ccb13515a3f23080a397dacaa0e">00465</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    326323<a name="l00466"></a>00466                 <span class="keywordflow">if</span> ( element.getLength() &lt;= index ) { 
    327324<a name="l00467"></a>00467                         <span class="keywordflow">if</span> ( settingPresence == optional ) 
     
    329326<a name="l00469"></a>00469                         <span class="keywordflow">else</span> { 
    330327<a name="l00470"></a>00470                                 stringstream stream; 
    331 <a name="l00471"></a>00471                                 stream &lt;&lt; <span class="stringliteral">&quot;UIException: the compulsory Setting with the index &quot;</span> &lt;&lt; index &lt;&lt; <span class="stringliteral">&quot; is missing.&quot;</span>; 
     328<a name="l00471"></a>00471                                 stream &lt;&lt; <span class="stringliteral">"UIException: the compulsory Setting with the index "</span> &lt;&lt; index &lt;&lt; <span class="stringliteral">" is missing."</span>; 
    332329<a name="l00472"></a>00472                                 stream &lt;&lt; index; 
    333330<a name="l00473"></a>00473                                 <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a> (stream.str(), element ); 
     
    339336<a name="l00479"></a>00479         } 
    340337<a name="l00480"></a>00480  
    341 <a name="l00482"></a><a class="code" href="classbdm_1_1UI.html#a7d2ea138c7285565507fa61fbd9b038f">00482</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element ) { 
     338<a name="l00482"></a><a class="code" href="classbdm_1_1UI.html#7d2ea138c7285565507fa61fbd9b038f">00482</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( T &amp;instance, <span class="keyword">const</span> Setting &amp;element ) { 
    342339<a name="l00483"></a>00483                 from_setting ( instance, element ); 
    343340<a name="l00484"></a>00484                 <span class="keywordflow">return</span> <span class="keyword">true</span>; 
     
    345342<a name="l00487"></a>00487  
    346343<a name="l00491"></a>00491  
    347 <a name="l00494"></a><a class="code" href="classbdm_1_1UI.html#a81ce18ed0bb9993a634db2b99612ad66">00494</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     344<a name="l00494"></a><a class="code" href="classbdm_1_1UI.html#81ce18ed0bb9993a634db2b99612ad66">00494</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    348345<a name="l00495"></a>00495                 <span class="keywordflow">if</span> ( !element.exists ( name ) ) 
    349346<a name="l00496"></a>00496                         <span class="keywordflow">return</span> <span class="keyword">false</span>; 
     
    353350<a name="l00500"></a>00500         } 
    354351<a name="l00501"></a>00501  
    355 <a name="l00504"></a><a class="code" href="classbdm_1_1UI.html#a29e450ed5560f81ef2f845e7b1021b71">00504</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#a88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
     352<a name="l00504"></a><a class="code" href="classbdm_1_1UI.html#29e450ed5560f81ef2f845e7b1021b71">00504</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <a class="code" href="classbdm_1_1UI.html#88d02c1ffe93033af0f146e8008ab6e6" title="Enum type used to determine whether the data for concrete Settingis is compulsory...">SettingPresence</a> settingPresence = optional ) { 
    356353<a name="l00505"></a>00505                 <span class="keywordflow">if</span> ( element.getLength() &lt;= index ) 
    357354<a name="l00506"></a>00506                         <span class="keywordflow">return</span> <span class="keyword">false</span>; 
     
    361358<a name="l00510"></a>00510         } 
    362359<a name="l00511"></a>00511  
    363 <a name="l00513"></a><a class="code" href="classbdm_1_1UI.html#ac9fad8376d2f0857e719511f92f93998">00513</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element ) { 
     360<a name="l00513"></a><a class="code" href="classbdm_1_1UI.html#c9fad8376d2f0857e719511f92f93998">00513</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">bool</span> <span class="keyword">get</span> ( Array&lt;T&gt; &amp;array_to_load, <span class="keyword">const</span> Setting &amp;element ) { 
    364361<a name="l00514"></a>00514                 from_setting ( array_to_load, element ); 
    365362<a name="l00515"></a>00515                 <span class="keywordflow">return</span> <span class="keyword">true</span>; 
     
    367364<a name="l00518"></a>00518  
    368365<a name="l00523"></a>00523  
    369 <a name="l00525"></a><a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917">00525</a>         <span class="keyword">template</span>&lt; <span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> T * <span class="keyword">const</span> instance, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ) { 
    370 <a name="l00526"></a>00526                 Setting &amp;<span class="keyword">set</span> = ( name == <span class="stringliteral">&quot;&quot;</span> ) ? element.add ( Setting::TypeGroup ) 
     366<a name="l00525"></a><a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917">00525</a>         <span class="keyword">template</span>&lt; <span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> T * <span class="keyword">const</span> instance, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ) { 
     367<a name="l00526"></a>00526                 Setting &amp;<span class="keyword">set</span> = ( name == <span class="stringliteral">""</span> ) ? element.add ( Setting::TypeGroup ) 
    371368<a name="l00527"></a>00527                                : element.add ( name, Setting::TypeGroup ); 
    372369<a name="l00528"></a>00528  
    373370<a name="l00529"></a>00529                 <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;class_name = MappedUI::retrieve_class_name ( &amp;<span class="keyword">typeid</span> ( *instance ) ); 
    374371<a name="l00530"></a>00530  
    375 <a name="l00531"></a>00531                 <span class="comment">// add attribute &quot;class&quot;</span> 
    376 <a name="l00532"></a>00532                 Setting &amp;type = <span class="keyword">set</span>.add ( <span class="stringliteral">&quot;class&quot;</span>, Setting::TypeString ); 
     372<a name="l00531"></a>00531                 <span class="comment">// add attribute "class"</span> 
     373<a name="l00532"></a>00532                 Setting &amp;type = <span class="keyword">set</span>.add ( <span class="stringliteral">"class"</span>, Setting::TypeString ); 
    377374<a name="l00533"></a>00533                 type = class_name; 
    378375<a name="l00534"></a>00534  
     
    380377<a name="l00536"></a>00536                         instance-&gt;to_setting ( <span class="keyword">set</span> ); 
    381378<a name="l00537"></a>00537                 } <span class="keywordflow">catch</span> ( SettingException &amp;sttng_xcptn ) { 
    382 <a name="l00538"></a>00538                         <span class="keywordtype">string</span> msg = <span class="stringliteral">&quot;UIException: method &quot;</span>; 
     379<a name="l00538"></a>00538                         <span class="keywordtype">string</span> msg = <span class="stringliteral">"UIException: method "</span>; 
    383380<a name="l00539"></a>00539                         msg += class_name; 
    384 <a name="l00540"></a>00540                         msg += <span class="stringliteral">&quot;.to_setting(Setting&amp;) has thrown a SettingException.&quot;</span>; 
     381<a name="l00540"></a>00540                         msg += <span class="stringliteral">".to_setting(Setting&amp;) has thrown a SettingException."</span>; 
    385382<a name="l00541"></a>00541                         <span class="keywordflow">throw</span> <a class="code" href="classbdm_1_1UISettingException.html">UISettingException</a>(msg, sttng_xcptn.getPath()); 
    386383<a name="l00542"></a>00542                 } 
    387384<a name="l00543"></a>00543         } 
    388385<a name="l00544"></a>00544  
    389 <a name="l00545"></a>00545         <span class="keyword">template</span>&lt; <span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <a class="code" href="classbdm_1_1shared__ptr.html" title="A naive implementation of roughly a subset of the std::tr1::shared_ptr spec.">shared_ptr&lt;T&gt;</a> &amp;instance, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ) { 
    390 <a name="l00546"></a>00546                 save&lt;T&gt; ( instance.<a class="code" href="classbdm_1_1shared__ptr.html#a37ebcfb6750dd7b5630f1d2354c07a96">get</a>(), element, name ); 
     386<a name="l00545"></a>00545         <span class="keyword">template</span>&lt; <span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <a class="code" href="classbdm_1_1shared__ptr.html">shared_ptr&lt;T&gt;</a> &amp;instance, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ) { 
     387<a name="l00546"></a>00546                 save&lt;T&gt; ( instance.<a class="code" href="classbdm_1_1shared__ptr.html#37ebcfb6750dd7b5630f1d2354c07a96">get</a>(), element, name ); 
    391388<a name="l00547"></a>00547         } 
    392389<a name="l00548"></a>00548  
    393 <a name="l00550"></a><a class="code" href="classbdm_1_1UI.html#a4514f93573a9d9126c506d176fbd3163">00550</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#a4514f93573a9d9126c506d176fbd3163" title="An Array&amp;lt;T&amp;gt; instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> Array&lt;T&gt; &amp;array_to_save, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ) { 
     390<a name="l00550"></a><a class="code" href="classbdm_1_1UI.html#4514f93573a9d9126c506d176fbd3163">00550</a>         <span class="keyword">template</span>&lt;<span class="keyword">class</span> T&gt; <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#4514f93573a9d9126c506d176fbd3163" title="An Array&amp;lt;T&amp;gt; instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> Array&lt;T&gt; &amp;array_to_save, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ) { 
    394391<a name="l00551"></a>00551                 assert_type ( element, Setting::TypeGroup ); 
    395 <a name="l00552"></a>00552                 Setting &amp;list = ( name == <span class="stringliteral">&quot;&quot;</span> ) ? element.add ( Setting::TypeList ) 
     392<a name="l00552"></a>00552                 Setting &amp;list = ( name == <span class="stringliteral">""</span> ) ? element.add ( Setting::TypeList ) 
    396393<a name="l00553"></a>00553                                 : element.add ( name, Setting::TypeList ); 
    397394<a name="l00554"></a>00554                 <span class="keywordflow">for</span> ( <span class="keywordtype">int</span> i = 0; i &lt; array_to_save.length(); i++ ) 
    398 <a name="l00555"></a>00555                         <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( array_to_save ( i ), list ); 
     395<a name="l00555"></a>00555                         <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( array_to_save ( i ), list ); 
    399396<a name="l00556"></a>00556         } 
    400397<a name="l00557"></a>00557  
    401 <a name="l00559"></a>00559         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> mat &amp;matrix, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     398<a name="l00559"></a>00559         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> mat &amp;matrix, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    402399<a name="l00560"></a>00560  
    403 <a name="l00562"></a>00562         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> ivec &amp;vec, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     400<a name="l00562"></a>00562         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> ivec &amp;vec, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    404401<a name="l00563"></a>00563  
    405 <a name="l00565"></a>00565         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> vec &amp;vector, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     402<a name="l00565"></a>00565         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> vec &amp;vector, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    406403<a name="l00566"></a>00566  
    407 <a name="l00568"></a>00568         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;str, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     404<a name="l00568"></a>00568         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;str, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    408405<a name="l00569"></a>00569  
    409 <a name="l00571"></a>00571         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;integer, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     406<a name="l00571"></a>00571         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">int</span> &amp;integer, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    410407<a name="l00572"></a>00572  
    411 <a name="l00574"></a>00574         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#ac83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">double</span> &amp;real, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">&quot;&quot;</span> ); 
     408<a name="l00574"></a>00574         <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1UI.html#c83987949e6a9e79d6e093797ab7d917" title="A root descendant instance is stored in the new child Setting appended to the passed...">save</a> ( <span class="keyword">const</span> <span class="keywordtype">double</span> &amp;real, Setting &amp;element, <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;name = <span class="stringliteral">""</span> ); 
    412409<a name="l00576"></a>00576  
    413410<a name="l00577"></a>00577 }; 
     
    418415<a name="l00585"></a>00585         <a class="code" href="classbdm_1_1ParticularUI.html">ParticularUI&lt;T&gt;</a> ( <span class="keyword">const</span> <span class="keywordtype">string</span> &amp;class_name ) : <a class="code" href="classbdm_1_1UI.html" title="UI is an abstract class which collects all the auxiliary functions useful to prepare...">UI</a> ( class_name, &amp;<span class="keyword">typeid</span> ( T ) ) {}; 
    419416<a name="l00586"></a>00586  
    420 <a name="l00588"></a><a class="code" href="classbdm_1_1ParticularUI.html#aa14fea8c7372a3d0a736e4ed0b617702">00588</a>         <a class="code" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a>* <a class="code" href="classbdm_1_1ParticularUI.html#aa14fea8c7372a3d0a736e4ed0b617702" title="A method returning a brand new instance of class T, this method is the reason why...">new_instance</a>()<span class="keyword"> const </span>{ 
     417<a name="l00588"></a><a class="code" href="classbdm_1_1ParticularUI.html#a14fea8c7372a3d0a736e4ed0b617702">00588</a>         <a class="code" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a>* <a class="code" href="classbdm_1_1ParticularUI.html#a14fea8c7372a3d0a736e4ed0b617702" title="A method returning a brand new instance of class T, this method is the reason why...">new_instance</a>()<span class="keyword"> const </span>{ 
    421418<a name="l00589"></a>00589                 <span class="keywordflow">return</span> <span class="keyword">new</span> T(); 
    422419<a name="l00590"></a>00590         } 
     
    426423<a name="l00594"></a>00594  
    427424<a name="l00604"></a>00604 <span class="preprocessor">#ifndef BDMLIB</span> 
    428 <a name="l00605"></a><a class="code" href="user__info_8h.html#a4f9de2f17e844047726487b99def99c6">00605</a> <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER(class_name) static bdm::ParticularUI&lt;class_name&gt; UI##class_name(#class_name)</span> 
     425<a name="l00605"></a><a class="code" href="user__info_8h.html#4f9de2f17e844047726487b99def99c6">00605</a> <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER(class_name) static bdm::ParticularUI&lt;class_name&gt; UI##class_name(#class_name)</span> 
    429426<a name="l00606"></a>00606 <span class="preprocessor"></span><span class="preprocessor">#else</span> 
    430427<a name="l00607"></a>00607 <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER(class_name)</span> 
    431428<a name="l00608"></a>00608 <span class="preprocessor"></span><span class="preprocessor">#endif</span> 
    432429<a name="l00609"></a>00609 <span class="preprocessor"></span> 
    433 <a name="l00611"></a><a class="code" href="user__info_8h.html#a852592d44ce65a0a870c76b42155aaca">00611</a> <span class="preprocessor">#define QUOTEME(x) #x</span> 
     430<a name="l00611"></a><a class="code" href="user__info_8h.html#852592d44ce65a0a870c76b42155aaca">00611</a> <span class="preprocessor">#define QUOTEME(x) #x</span> 
    434431<a name="l00612"></a>00612 <span class="preprocessor"></span> 
    435432<a name="l00621"></a>00621 <span class="preprocessor">#ifndef BDMLIB</span> 
    436 <a name="l00622"></a><a class="code" href="user__info_8h.html#ab06f1e7c44a8306e321f62a0099210b9">00622</a> <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER2(class_name, temp_name) static bdm::ParticularUI&lt;class_name&lt;temp_name&gt; &gt; UI##class_name##_##temp_name( QUOTEME(class_name&lt;temp_name&gt;) )</span> 
     433<a name="l00622"></a><a class="code" href="user__info_8h.html#b06f1e7c44a8306e321f62a0099210b9">00622</a> <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER2(class_name, temp_name) static bdm::ParticularUI&lt;class_name&lt;temp_name&gt; &gt; UI##class_name##_##temp_name( QUOTEME(class_name&lt;temp_name&gt;) )</span> 
    437434<a name="l00623"></a>00623 <span class="preprocessor"></span><span class="preprocessor">#else</span> 
    438435<a name="l00624"></a>00624 <span class="preprocessor"></span><span class="preprocessor">#define UIREGISTER2(class_name,temp_name) </span> 
     
    441438<a name="l00627"></a>00627 <span class="preprocessor">#endif // #ifndef USER_INFO_H</span> 
    442439</pre></div></div> 
    443 <hr size="1"/><address style="text-align: right;"><small>Generated on Sun Sep 27 00:49:04 2009 for mixpp by&nbsp; 
     440<hr size="1"><address style="text-align: right;"><small>Generated on Wed Oct 7 17:34:44 2009 for mixpp by&nbsp; 
    444441<a href="http://www.doxygen.org/index.html"> 
    445 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> 
     442<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> 
    446443</body> 
    447444</html>