Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

xst_member_action_alias.h

Go to the documentation of this file.
00001 
00002 // Common Text Transformation Library
00003 // Copyright (C) 1997-2006 by Igor Kholodov. 
00004 //
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 //
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the
00017 // Free Software Foundation, Inc.,
00018 // 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019 //
00020 // mailto:cttl@users.sourceforge.net
00021 // http://sourceforge.net/projects/cttl/
00023 
00035 // xst_member_action_alias.h
00036 
00037 #ifndef _XST_MEMBER_ACTION_ALIAS_H_INCLUDED_
00038 #define _XST_MEMBER_ACTION_ALIAS_H_INCLUDED_
00039 
00040 namespace cttl {
00041 
00042 using namespace cttl_impl;
00043 
00082 namespace alias {
00083 // stack
00084 // generated by gmu/lambda/action_aliases/alias_list.h:13
00085 // generated by gmu/lambda/action_aliases/action_aliases.h:25
00086 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
00087 
00100 template< typename LambdaT >
00101 inline
00102 xst_unary_adaptor<
00103     xst_lambda_wrap<
00104         xst_scalar<
00105             xst_member_action<
00106                 /*ObjectT*/         typename LambdaT::value_T &,
00107                 /*MemberActionT*/   std::mem_fun_t<
00108                                         /*ResultT*/void,
00109                                         /*ObjectT*/typename LambdaT::value_T
00110                                     >,
00111                 /*ArgumentT*/       void,
00112                 /*ResultT*/         void
00113             >
00114         >
00115     >
00116     ,
00117     xst_dereference_policy<
00118         xst_dereference_traits<
00119             /*ObjectT*/ typename LambdaT::value_T,
00120             /*ResultT*/ void
00121         >::capacity_,
00122         LambdaT::primitive_id_
00123     >
00124 >
00125 pop(
00126     xst_lambda_wrap< LambdaT >* plambda_
00127     )
00128 {
00129     typedef typename LambdaT::value_T object_T;
00130     typedef void result_T;
00131     typedef xst_unary_adaptor<
00132         xst_lambda_wrap<
00133             xst_scalar<
00134                 xst_member_action<
00135                     /*ObjectT*/         typename LambdaT::value_T &,
00136                     /*MemberActionT*/   std::mem_fun_t<
00137                                             /*ResultT*/void,
00138                                             /*ObjectT*/typename LambdaT::value_T
00139                                         >,
00140                     /*ArgumentT*/       void,
00141                     /*ResultT*/         void
00142                 >
00143             >
00144         >
00145         ,
00146         xst_dereference_policy<
00147             xst_dereference_traits<
00148                 /*ObjectT*/ typename LambdaT::value_T,
00149                 /*ResultT*/ void
00150             >::capacity_,
00151             LambdaT::primitive_id_
00152         >
00153     >
00154     xst_adaptor_T;
00155 
00156     return xst_adaptor_T( scalar(
00157 #ifdef CTTL_TRACE_DEPOSITS
00158             xst_traced_action(
00159                 __LINE__,
00160                 "void alias::pop()",
00161 #else
00162             action(
00163 #endif // CTTL_TRACE_DEPOSITS
00164                 &plambda_->top( const_scalar( 0 ) ),
00165                 ( std::mem_fun_t<
00166                     result_T,
00167                     object_T
00168                     >
00169                     ( &object_T::pop )
00170                 )
00171             )
00172         ))
00173         ;
00174 }
00175 
00176 // generated by gmu/lambda/action_aliases/alias_list.h:25
00177 // generated by gmu/lambda/action_aliases/action_aliases.h:33
00178 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
00179 
00193 template< typename LambdaT, typename ArgumentT >
00194 inline
00195 xst_unary_adaptor<
00196     xst_lambda_wrap<
00197         xst_scalar<
00198             xst_member_action<
00199                 /*ObjectT*/         typename LambdaT::value_T &,
00200                 /*MemberActionT*/   std::mem_fun1_t<
00201                                         /*ResultT*/void,
00202                                         /*ObjectT*/typename LambdaT::value_T,
00203                                         /*ArgumentT*/ArgumentT const&
00204                                     >,
00205                 /*ArgumentT*/       ArgumentT const&,
00206                 /*ResultT*/         void
00207             >
00208         >
00209     >
00210     ,
00211     xst_dereference_policy<
00212         xst_dereference_traits<
00213             /*ObjectT*/ typename LambdaT::value_T,
00214             /*ResultT*/ void
00215         >::capacity_,
00216         LambdaT::primitive_id_
00217     >
00218 >
00219 push(
00220     xst_lambda_wrap< LambdaT >* plambda_,
00221     ArgumentT const& arg_
00222     )
00223 {
00224     typedef typename LambdaT::value_T object_T;
00225     typedef void result_T;
00226     typedef xst_unary_adaptor<
00227         xst_lambda_wrap<
00228             xst_scalar<
00229                 xst_member_action<
00230                     /*ObjectT*/         typename LambdaT::value_T &,
00231                     /*MemberActionT*/   std::mem_fun1_t<
00232                                             /*ResultT*/void,
00233                                             /*ObjectT*/typename LambdaT::value_T,
00234                                             /*ArgumentT*/ArgumentT const&
00235                                         >,
00236                     /*ArgumentT*/       ArgumentT const&,
00237                     /*ResultT*/         void
00238                 >
00239             >
00240         >
00241         ,
00242         xst_dereference_policy<
00243             xst_dereference_traits<
00244                 /*ObjectT*/ typename LambdaT::value_T,
00245                 /*ResultT*/ void
00246             >::capacity_,
00247             LambdaT::primitive_id_
00248         >
00249     >
00250     xst_adaptor_T;
00251 
00252     return xst_adaptor_T( scalar(
00253 #ifdef CTTL_TRACE_DEPOSITS
00254             xst_traced_action(
00255                 __LINE__,
00256                 "void alias::push(value_type const&)",
00257 #else
00258             action(
00259 #endif // CTTL_TRACE_DEPOSITS
00260                 &plambda_->top( const_scalar( 0 ) ),
00261                 ( std::mem_fun1_t<
00262                     result_T,
00263                     object_T,
00264                     ArgumentT const&
00265                     >
00266                     ( &object_T::push )
00267                 ),
00268                 arg_
00269             )
00270         ))
00271         ;
00272 }
00273 
00274 // generated by gmu/lambda/action_aliases/alias_list.h:37
00275 // generated by gmu/lambda/action_aliases/action_aliases.h:25
00276 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
00277 
00290 template< typename LambdaT >
00291 inline
00292 xst_unary_adaptor<
00293     xst_lambda_wrap<
00294         xst_scalar<
00295             xst_member_action<
00296                 /*ObjectT*/         typename LambdaT::value_T &,
00297                 /*MemberActionT*/   std::mem_fun_t<
00298                                         /*ResultT*/typename LambdaT::value_T::value_type&,
00299                                         /*ObjectT*/typename LambdaT::value_T
00300                                     >,
00301                 /*ArgumentT*/       void,
00302                 /*ResultT*/         typename LambdaT::value_T::value_type&
00303             >
00304         >
00305     >
00306     ,
00307     xst_dereference_policy<
00308         xst_dereference_traits<
00309             /*ObjectT*/ typename LambdaT::value_T,
00310             /*ResultT*/ typename LambdaT::value_T::value_type&
00311         >::capacity_,
00312         LambdaT::primitive_id_
00313     >
00314 >
00315 top(
00316     xst_lambda_wrap< LambdaT >* plambda_
00317     )
00318 {
00319     typedef typename LambdaT::value_T object_T;
00320     typedef typename LambdaT::value_T::value_type& result_T;
00321     typedef xst_unary_adaptor<
00322         xst_lambda_wrap<
00323             xst_scalar<
00324                 xst_member_action<
00325                     /*ObjectT*/         typename LambdaT::value_T &,
00326                     /*MemberActionT*/   std::mem_fun_t<
00327                                             /*ResultT*/typename LambdaT::value_T::value_type&,
00328                                             /*ObjectT*/typename LambdaT::value_T
00329                                         >,
00330                     /*ArgumentT*/       void,
00331                     /*ResultT*/         typename LambdaT::value_T::value_type&
00332                 >
00333             >
00334         >
00335         ,
00336         xst_dereference_policy<
00337             xst_dereference_traits<
00338                 /*ObjectT*/ typename LambdaT::value_T,
00339                 /*ResultT*/ typename LambdaT::value_T::value_type&
00340             >::capacity_,
00341             LambdaT::primitive_id_
00342         >
00343     >
00344     xst_adaptor_T;
00345 
00346     return xst_adaptor_T( scalar(
00347 #ifdef CTTL_TRACE_DEPOSITS
00348             xst_traced_action(
00349                 __LINE__,
00350                 "X::value_type& alias::top()",
00351 #else
00352             action(
00353 #endif // CTTL_TRACE_DEPOSITS
00354                 &plambda_->top( const_scalar( 0 ) ),
00355                 ( std::mem_fun_t<
00356                     result_T,
00357                     object_T
00358                     >
00359                     ( &object_T::top )
00360                 )
00361             )
00362         ))
00363         ;
00364 }
00365 
00366 
00367 
00368 // basic_string
00369 namespace basic_string {
00370 // generated by gmu/lambda/action_aliases/alias_list.h:54
00371 // generated by gmu/lambda/action_aliases/action_aliases.h:33
00372 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
00373 
00387 template< typename LambdaT, typename ArgumentT >
00388 inline
00389 xst_unary_adaptor<
00390     xst_lambda_wrap<
00391         xst_scalar<
00392             xst_member_action<
00393                 /*ObjectT*/         typename LambdaT::value_T &,
00394                 /*MemberActionT*/   std::mem_fun1_t<
00395                                         /*ResultT*/void,
00396                                         /*ObjectT*/typename LambdaT::value_T,
00397                                         /*ArgumentT*/ArgumentT
00398                                     >,
00399                 /*ArgumentT*/       ArgumentT const&,
00400                 /*ResultT*/         void
00401             >
00402         >
00403     >
00404     ,
00405     xst_dereference_policy<
00406         xst_dereference_traits<
00407             /*ObjectT*/ typename LambdaT::value_T,
00408             /*ResultT*/ void
00409         >::capacity_,
00410         LambdaT::primitive_id_
00411     >
00412 >
00413 push_back(
00414     xst_lambda_wrap< LambdaT >* plambda_,
00415     // Although push_back() receives its argument by value,
00416     // this helper passes it by const reference.
00417     ArgumentT const& arg_
00418     )
00419 {
00420     typedef typename LambdaT::value_T object_T;
00421     typedef void result_T;
00422     typedef xst_unary_adaptor<
00423         xst_lambda_wrap<
00424             xst_scalar<
00425                 xst_member_action<
00426                     /*ObjectT*/         typename LambdaT::value_T &,
00427                     /*MemberActionT*/   std::mem_fun1_t<
00428                                             /*ResultT*/void,
00429                                             /*ObjectT*/typename LambdaT::value_T,
00430                                             /*ArgumentT*/ArgumentT
00431                                         >,
00432                     /*ArgumentT*/       ArgumentT const&,
00433                     /*ResultT*/         void
00434                 >
00435             >
00436         >
00437         ,
00438         xst_dereference_policy<
00439             xst_dereference_traits<
00440                 /*ObjectT*/ typename LambdaT::value_T,
00441                 /*ResultT*/ void
00442             >::capacity_,
00443             LambdaT::primitive_id_
00444         >
00445     >
00446     xst_adaptor_T;
00447 
00448     return xst_adaptor_T( scalar(
00449 #ifdef CTTL_TRACE_DEPOSITS
00450             xst_traced_action(
00451                 __LINE__,
00452                 "void alias::basic_string::push_back(value_type)",
00453 #else
00454             action(
00455 #endif // CTTL_TRACE_DEPOSITS
00456                 &plambda_->top( const_scalar( 0 ) ),
00457                 ( std::mem_fun1_t<
00458                     result_T,
00459                     object_T,
00460                     ArgumentT
00461                     >
00462                     ( &object_T::push_back )
00463                 ),
00464                 arg_
00465             )
00466         ))
00467         ;
00468 }
00469 
00470 } // namespace basic_string
00471 
00472 // generated by gmu/lambda/action_aliases/alias_list.h:69
00473 // generated by gmu/lambda/action_aliases/action_aliases.h:33
00474 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
00475 
00489 template< typename LambdaT, typename ArgumentT >
00490 inline
00491 xst_unary_adaptor<
00492     xst_lambda_wrap<
00493         xst_scalar<
00494             xst_member_action<
00495                 /*ObjectT*/         typename LambdaT::value_T &,
00496                 /*MemberActionT*/   std::mem_fun1_t<
00497                                         /*ResultT*/typename LambdaT::value_T&,
00498                                         /*ObjectT*/typename LambdaT::value_T,
00499                                         /*ArgumentT*/ArgumentT const&
00500                                     >,
00501                 /*ArgumentT*/       ArgumentT const&,
00502                 /*ResultT*/         typename LambdaT::value_T&
00503             >
00504         >
00505     >
00506     ,
00507     xst_dereference_policy<
00508         xst_dereference_traits<
00509             /*ObjectT*/ typename LambdaT::value_T,
00510             /*ResultT*/ typename LambdaT::value_T&
00511         >::capacity_,
00512         LambdaT::primitive_id_
00513     >
00514 >
00515 append(
00516     xst_lambda_wrap< LambdaT >* plambda_,
00517     ArgumentT const& arg_
00518     )
00519 {
00520     typedef typename LambdaT::value_T object_T;
00521     typedef typename LambdaT::value_T& result_T;
00522     typedef xst_unary_adaptor<
00523         xst_lambda_wrap<
00524             xst_scalar<
00525                 xst_member_action<
00526                     /*ObjectT*/         typename LambdaT::value_T &,
00527                     /*MemberActionT*/   std::mem_fun1_t<
00528                                             /*ResultT*/typename LambdaT::value_T&,
00529                                             /*ObjectT*/typename LambdaT::value_T,
00530                                             /*ArgumentT*/ArgumentT const&
00531                                         >,
00532                     /*ArgumentT*/       ArgumentT const&,
00533                     /*ResultT*/         typename LambdaT::value_T&
00534                 >
00535             >
00536         >
00537         ,
00538         xst_dereference_policy<
00539             xst_dereference_traits<
00540                 /*ObjectT*/ typename LambdaT::value_T,
00541                 /*ResultT*/ typename LambdaT::value_T&
00542             >::capacity_,
00543             LambdaT::primitive_id_
00544         >
00545     >
00546     xst_adaptor_T;
00547 
00548     return xst_adaptor_T( scalar(
00549 #ifdef CTTL_TRACE_DEPOSITS
00550             xst_traced_action(
00551                 __LINE__,
00552                 "X& alias::append(basic_string const&)",
00553 #else
00554             action(
00555 #endif // CTTL_TRACE_DEPOSITS
00556                 &plambda_->top( const_scalar( 0 ) ),
00557                 ( std::mem_fun1_t<
00558                     result_T,
00559                     object_T,
00560                     ArgumentT const&
00561                     >
00562                     ( &object_T::append )
00563                 ),
00564                 arg_
00565             )
00566         ))
00567         ;
00568 }
00569 
00570 // generated by gmu/lambda/action_aliases/alias_list.h:81
00571 // generated by gmu/lambda/action_aliases/action_aliases.h:33
00572 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
00573 
00587 template< typename LambdaT, typename ArgumentT >
00588 inline
00589 xst_unary_adaptor<
00590     xst_lambda_wrap<
00591         xst_scalar<
00592             xst_member_action<
00593                 /*ObjectT*/         typename LambdaT::value_T &,
00594                 /*MemberActionT*/   std::mem_fun1_t<
00595                                         /*ResultT*/typename LambdaT::value_T&,
00596                                         /*ObjectT*/typename LambdaT::value_T,
00597                                         /*ArgumentT*/ArgumentT const&
00598                                     >,
00599                 /*ArgumentT*/       ArgumentT const&,
00600                 /*ResultT*/         typename LambdaT::value_T&
00601             >
00602         >
00603     >
00604     ,
00605     xst_dereference_policy<
00606         xst_dereference_traits<
00607             /*ObjectT*/ typename LambdaT::value_T,
00608             /*ResultT*/ typename LambdaT::value_T&
00609         >::capacity_,
00610         LambdaT::primitive_id_
00611     >
00612 >
00613 assign(
00614     xst_lambda_wrap< LambdaT >* plambda_,
00615     ArgumentT const& arg_
00616     )
00617 {
00618     typedef typename LambdaT::value_T object_T;
00619     typedef typename LambdaT::value_T& result_T;
00620     typedef xst_unary_adaptor<
00621         xst_lambda_wrap<
00622             xst_scalar<
00623                 xst_member_action<
00624                     /*ObjectT*/         typename LambdaT::value_T &,
00625                     /*MemberActionT*/   std::mem_fun1_t<
00626                                             /*ResultT*/typename LambdaT::value_T&,
00627                                             /*ObjectT*/typename LambdaT::value_T,
00628                                             /*ArgumentT*/ArgumentT const&
00629                                         >,
00630                     /*ArgumentT*/       ArgumentT const&,
00631                     /*ResultT*/         typename LambdaT::value_T&
00632                 >
00633             >
00634         >
00635         ,
00636         xst_dereference_policy<
00637             xst_dereference_traits<
00638                 /*ObjectT*/ typename LambdaT::value_T,
00639                 /*ResultT*/ typename LambdaT::value_T&
00640             >::capacity_,
00641             LambdaT::primitive_id_
00642         >
00643     >
00644     xst_adaptor_T;
00645 
00646     return xst_adaptor_T( scalar(
00647 #ifdef CTTL_TRACE_DEPOSITS
00648             xst_traced_action(
00649                 __LINE__,
00650                 "X& alias::assign(basic_string const&)",
00651 #else
00652             action(
00653 #endif // CTTL_TRACE_DEPOSITS
00654                 &plambda_->top( const_scalar( 0 ) ),
00655                 ( std::mem_fun1_t<
00656                     result_T,
00657                     object_T,
00658                     ArgumentT const&
00659                     >
00660                     ( &object_T::assign )
00661                 ),
00662                 arg_
00663             )
00664         ))
00665         ;
00666 }
00667 
00668 // generated by gmu/lambda/action_aliases/alias_list.h:93
00669 // generated by gmu/lambda/action_aliases/action_aliases.h:33
00670 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
00671 
00685 template< typename LambdaT, typename ArgumentT >
00686 inline
00687 xst_unary_adaptor<
00688     xst_lambda_wrap<
00689         xst_scalar<
00690             xst_member_action<
00691                 /*ObjectT*/         typename LambdaT::value_T const&,
00692                 /*MemberActionT*/   std::const_mem_fun1_t<
00693                                         /*ResultT*/int,
00694                                         /*ObjectT*/typename LambdaT::value_T,
00695                                         /*ArgumentT*/ArgumentT const&
00696                                     >,
00697                 /*ArgumentT*/       ArgumentT const&,
00698                 /*ResultT*/         int
00699             >
00700         >
00701     >
00702     ,
00703     xst_dereference_policy<
00704         xst_dereference_traits<
00705             /*ObjectT*/ typename LambdaT::value_T,
00706             /*ResultT*/ int
00707         >::capacity_,
00708         LambdaT::primitive_id_
00709     >
00710 >
00711 compare(
00712     xst_lambda_wrap< LambdaT > const& lambda_,
00713     ArgumentT const& arg_
00714     )
00715 {
00716     typedef typename LambdaT::value_T object_T;
00717     typedef int result_T;
00718     typedef xst_unary_adaptor<
00719         xst_lambda_wrap<
00720             xst_scalar<
00721                 xst_member_action<
00722                     /*ObjectT*/         typename LambdaT::value_T const&,
00723                     /*MemberActionT*/   std::const_mem_fun1_t<
00724                                             /*ResultT*/int,
00725                                             /*ObjectT*/typename LambdaT::value_T,
00726                                             /*ArgumentT*/ArgumentT const&
00727                                         >,
00728                     /*ArgumentT*/       ArgumentT const&,
00729                     /*ResultT*/         int
00730                 >
00731             >
00732         >
00733         ,
00734         xst_dereference_policy<
00735             xst_dereference_traits<
00736                 /*ObjectT*/ typename LambdaT::value_T,
00737                 /*ResultT*/ int
00738             >::capacity_,
00739             LambdaT::primitive_id_
00740         >
00741     >
00742     xst_adaptor_T;
00743 
00744     return xst_adaptor_T( scalar(
00745 #ifdef CTTL_TRACE_DEPOSITS
00746             xst_traced_action(
00747                 __LINE__,
00748                 "int alias::compare(basic_string const&)const",
00749 #else
00750             action(
00751 #endif // CTTL_TRACE_DEPOSITS
00752                 lambda_.top( const_scalar( 0 ) ),
00753                 ( std::const_mem_fun1_t<
00754                     result_T,
00755                     object_T,
00756                     ArgumentT const&
00757                     >
00758                     ( &object_T::compare )
00759                 ),
00760                 arg_
00761             )
00762         ))
00763         ;
00764 }
00765 
00766 // generated by gmu/lambda/action_aliases/alias_list.h:105
00767 // generated by gmu/lambda/action_aliases/action_aliases.h:25
00768 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
00769 
00782 template< typename LambdaT >
00783 inline
00784 xst_unary_adaptor<
00785     xst_lambda_wrap<
00786         xst_scalar<
00787             xst_member_action<
00788                 /*ObjectT*/         typename LambdaT::value_T const&,
00789                 /*MemberActionT*/   std::const_mem_fun_t<
00790                                         /*ResultT*/typename LambdaT::value_T::size_type,
00791                                         /*ObjectT*/typename LambdaT::value_T
00792                                     >,
00793                 /*ArgumentT*/       void,
00794                 /*ResultT*/         typename LambdaT::value_T::size_type
00795             >
00796         >
00797     >
00798     ,
00799     xst_dereference_policy<
00800         xst_dereference_traits<
00801             /*ObjectT*/ typename LambdaT::value_T,
00802             /*ResultT*/ typename LambdaT::value_T::size_type
00803         >::capacity_,
00804         LambdaT::primitive_id_
00805     >
00806 >
00807 length(
00808     xst_lambda_wrap< LambdaT > const& lambda_
00809     )
00810 {
00811     typedef typename LambdaT::value_T object_T;
00812     typedef typename LambdaT::value_T::size_type result_T;
00813     typedef xst_unary_adaptor<
00814         xst_lambda_wrap<
00815             xst_scalar<
00816                 xst_member_action<
00817                     /*ObjectT*/         typename LambdaT::value_T const&,
00818                     /*MemberActionT*/   std::const_mem_fun_t<
00819                                             /*ResultT*/typename LambdaT::value_T::size_type,
00820                                             /*ObjectT*/typename LambdaT::value_T
00821                                         >,
00822                     /*ArgumentT*/       void,
00823                     /*ResultT*/         typename LambdaT::value_T::size_type
00824                 >
00825             >
00826         >
00827         ,
00828         xst_dereference_policy<
00829             xst_dereference_traits<
00830                 /*ObjectT*/ typename LambdaT::value_T,
00831                 /*ResultT*/ typename LambdaT::value_T::size_type
00832             >::capacity_,
00833             LambdaT::primitive_id_
00834         >
00835     >
00836     xst_adaptor_T;
00837 
00838     return xst_adaptor_T( scalar(
00839 #ifdef CTTL_TRACE_DEPOSITS
00840             xst_traced_action(
00841                 __LINE__,
00842                 "X::size_type alias::length()const",
00843 #else
00844             action(
00845 #endif // CTTL_TRACE_DEPOSITS
00846                 lambda_.top( const_scalar( 0 ) ),
00847                 ( std::const_mem_fun_t<
00848                     result_T,
00849                     object_T
00850                     >
00851                     ( &object_T::length )
00852                 )
00853             )
00854         ))
00855         ;
00856 }
00857 
00858 
00859 
00860 // node
00861 namespace node {
00862 // generated by gmu/lambda/action_aliases/alias_list.h:122
00863 // generated by gmu/lambda/action_aliases/action_aliases.h:25
00864 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
00865 
00878 template< typename LambdaT >
00879 inline
00880 xst_unary_adaptor<
00881     xst_lambda_wrap<
00882         xst_scalar<
00883             xst_member_action<
00884                 /*ObjectT*/         typename LambdaT::value_T &,
00885                 /*MemberActionT*/   std::mem_fun_t<
00886                                         /*ResultT*/size_t,
00887                                         /*ObjectT*/typename LambdaT::value_T
00888                                     >,
00889                 /*ArgumentT*/       void,
00890                 /*ResultT*/         size_t
00891             >
00892         >
00893     >
00894     ,
00895     xst_dereference_policy<
00896         xst_dereference_traits<
00897             /*ObjectT*/ typename LambdaT::value_T,
00898             /*ResultT*/ size_t
00899         >::capacity_,
00900         LambdaT::primitive_id_
00901     >
00902 >
00903 push(
00904     xst_lambda_wrap< LambdaT >* plambda_
00905     )
00906 {
00907     typedef typename LambdaT::value_T object_T;
00908     typedef size_t result_T;
00909     typedef xst_unary_adaptor<
00910         xst_lambda_wrap<
00911             xst_scalar<
00912                 xst_member_action<
00913                     /*ObjectT*/         typename LambdaT::value_T &,
00914                     /*MemberActionT*/   std::mem_fun_t<
00915                                             /*ResultT*/size_t,
00916                                             /*ObjectT*/typename LambdaT::value_T
00917                                         >,
00918                     /*ArgumentT*/       void,
00919                     /*ResultT*/         size_t
00920                 >
00921             >
00922         >
00923         ,
00924         xst_dereference_policy<
00925             xst_dereference_traits<
00926                 /*ObjectT*/ typename LambdaT::value_T,
00927                 /*ResultT*/ size_t
00928             >::capacity_,
00929             LambdaT::primitive_id_
00930         >
00931     >
00932     xst_adaptor_T;
00933 
00934     return xst_adaptor_T( scalar(
00935 #ifdef CTTL_TRACE_DEPOSITS
00936             xst_traced_action(
00937                 __LINE__,
00938                 "size_t alias::node::push()",
00939 #else
00940             action(
00941 #endif // CTTL_TRACE_DEPOSITS
00942                 &plambda_->top( const_scalar( 0 ) ),
00943                 ( std::mem_fun_t<
00944                     result_T,
00945                     object_T
00946                     >
00947                     ( &object_T::push )
00948                 )
00949             )
00950         ))
00951         ;
00952 }
00953 
00954 // generated by gmu/lambda/action_aliases/alias_list.h:134
00955 // generated by gmu/lambda/action_aliases/action_aliases.h:25
00956 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
00957 
00970 template< typename LambdaT >
00971 inline
00972 xst_unary_adaptor<
00973     xst_lambda_wrap<
00974         xst_scalar<
00975             xst_member_action<
00976                 /*ObjectT*/         typename LambdaT::value_T &,
00977                 /*MemberActionT*/   std::mem_fun_t<
00978                                         /*ResultT*/size_t,
00979                                         /*ObjectT*/typename LambdaT::value_T
00980                                     >,
00981                 /*ArgumentT*/       void,
00982                 /*ResultT*/         size_t
00983             >
00984         >
00985     >
00986     ,
00987     xst_dereference_policy<
00988         xst_dereference_traits<
00989             /*ObjectT*/ typename LambdaT::value_T,
00990             /*ResultT*/ size_t
00991         >::capacity_,
00992         LambdaT::primitive_id_
00993     >
00994 >
00995 pop(
00996     xst_lambda_wrap< LambdaT >* plambda_
00997     )
00998 {
00999     typedef typename LambdaT::value_T object_T;
01000     typedef size_t result_T;
01001     typedef xst_unary_adaptor<
01002         xst_lambda_wrap<
01003             xst_scalar<
01004                 xst_member_action<
01005                     /*ObjectT*/         typename LambdaT::value_T &,
01006                     /*MemberActionT*/   std::mem_fun_t<
01007                                             /*ResultT*/size_t,
01008                                             /*ObjectT*/typename LambdaT::value_T
01009                                         >,
01010                     /*ArgumentT*/       void,
01011                     /*ResultT*/         size_t
01012                 >
01013             >
01014         >
01015         ,
01016         xst_dereference_policy<
01017             xst_dereference_traits<
01018                 /*ObjectT*/ typename LambdaT::value_T,
01019                 /*ResultT*/ size_t
01020             >::capacity_,
01021             LambdaT::primitive_id_
01022         >
01023     >
01024     xst_adaptor_T;
01025 
01026     return xst_adaptor_T( scalar(
01027 #ifdef CTTL_TRACE_DEPOSITS
01028             xst_traced_action(
01029                 __LINE__,
01030                 "size_t alias::node::pop()",
01031 #else
01032             action(
01033 #endif // CTTL_TRACE_DEPOSITS
01034                 &plambda_->top( const_scalar( 0 ) ),
01035                 ( std::mem_fun_t<
01036                     result_T,
01037                     object_T
01038                     >
01039                     ( &object_T::pop )
01040                 )
01041             )
01042         ))
01043         ;
01044 }
01045 
01046 } // namespace node
01047 
01048 // generated by gmu/lambda/action_aliases/alias_list.h:149
01049 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01050 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01051 
01064 template< typename LambdaT >
01065 inline
01066 xst_unary_adaptor<
01067     xst_lambda_wrap<
01068         xst_scalar<
01069             xst_member_action<
01070                 /*ObjectT*/         typename LambdaT::value_T const&,
01071                 /*MemberActionT*/   std::const_mem_fun_t<
01072                                         /*ResultT*/int,
01073                                         /*ObjectT*/typename LambdaT::value_T
01074                                     >,
01075                 /*ArgumentT*/       void,
01076                 /*ResultT*/         int
01077             >
01078         >
01079     >
01080     ,
01081     xst_dereference_policy<
01082         xst_dereference_traits<
01083             /*ObjectT*/ typename LambdaT::value_T,
01084             /*ResultT*/ int
01085         >::capacity_,
01086         LambdaT::primitive_id_
01087     >
01088 >
01089 identity(
01090     xst_lambda_wrap< LambdaT > const& lambda_
01091     )
01092 {
01093     typedef typename LambdaT::value_T object_T;
01094     typedef int result_T;
01095     typedef xst_unary_adaptor<
01096         xst_lambda_wrap<
01097             xst_scalar<
01098                 xst_member_action<
01099                     /*ObjectT*/         typename LambdaT::value_T const&,
01100                     /*MemberActionT*/   std::const_mem_fun_t<
01101                                             /*ResultT*/int,
01102                                             /*ObjectT*/typename LambdaT::value_T
01103                                         >,
01104                     /*ArgumentT*/       void,
01105                     /*ResultT*/         int
01106                 >
01107             >
01108         >
01109         ,
01110         xst_dereference_policy<
01111             xst_dereference_traits<
01112                 /*ObjectT*/ typename LambdaT::value_T,
01113                 /*ResultT*/ int
01114             >::capacity_,
01115             LambdaT::primitive_id_
01116         >
01117     >
01118     xst_adaptor_T;
01119 
01120     return xst_adaptor_T( scalar(
01121 #ifdef CTTL_TRACE_DEPOSITS
01122             xst_traced_action(
01123                 __LINE__,
01124                 "int alias::identity()const",
01125 #else
01126             action(
01127 #endif // CTTL_TRACE_DEPOSITS
01128                 lambda_.top( const_scalar( 0 ) ),
01129                 ( std::const_mem_fun_t<
01130                     result_T,
01131                     object_T
01132                     >
01133                     ( &object_T::identity )
01134                 )
01135             )
01136         ))
01137         ;
01138 }
01139 
01140 // generated by gmu/lambda/action_aliases/alias_list.h:161
01141 // generated by gmu/lambda/action_aliases/action_aliases.h:33
01142 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
01143 
01157 template< typename LambdaT, typename ArgumentT >
01158 inline
01159 xst_unary_adaptor<
01160     xst_lambda_wrap<
01161         xst_scalar<
01162             xst_member_action<
01163                 /*ObjectT*/         typename LambdaT::value_T &,
01164                 /*MemberActionT*/   std::mem_fun1_t<
01165                                         /*ResultT*/int,
01166                                         /*ObjectT*/typename LambdaT::value_T,
01167                                         /*ArgumentT*/ArgumentT
01168                                     >,
01169                 /*ArgumentT*/       ArgumentT const&,
01170                 /*ResultT*/         int
01171             >
01172         >
01173     >
01174     ,
01175     xst_dereference_policy<
01176         xst_dereference_traits<
01177             /*ObjectT*/ typename LambdaT::value_T,
01178             /*ResultT*/ int
01179         >::capacity_,
01180         LambdaT::primitive_id_
01181     >
01182 >
01183 identity(
01184     xst_lambda_wrap< LambdaT >* plambda_,
01185     // Although identity() receives its argument by value,
01186     // this helper passes it by const reference.
01187     ArgumentT const& arg_
01188     )
01189 {
01190     typedef typename LambdaT::value_T object_T;
01191     typedef int result_T;
01192     typedef xst_unary_adaptor<
01193         xst_lambda_wrap<
01194             xst_scalar<
01195                 xst_member_action<
01196                     /*ObjectT*/         typename LambdaT::value_T &,
01197                     /*MemberActionT*/   std::mem_fun1_t<
01198                                             /*ResultT*/int,
01199                                             /*ObjectT*/typename LambdaT::value_T,
01200                                             /*ArgumentT*/ArgumentT
01201                                         >,
01202                     /*ArgumentT*/       ArgumentT const&,
01203                     /*ResultT*/         int
01204                 >
01205             >
01206         >
01207         ,
01208         xst_dereference_policy<
01209             xst_dereference_traits<
01210                 /*ObjectT*/ typename LambdaT::value_T,
01211                 /*ResultT*/ int
01212             >::capacity_,
01213             LambdaT::primitive_id_
01214         >
01215     >
01216     xst_adaptor_T;
01217 
01218     return xst_adaptor_T( scalar(
01219 #ifdef CTTL_TRACE_DEPOSITS
01220             xst_traced_action(
01221                 __LINE__,
01222                 "int alias::identity(int)",
01223 #else
01224             action(
01225 #endif // CTTL_TRACE_DEPOSITS
01226                 &plambda_->top( const_scalar( 0 ) ),
01227                 ( std::mem_fun1_t<
01228                     result_T,
01229                     object_T,
01230                     ArgumentT
01231                     >
01232                     ( &object_T::identity )
01233                 ),
01234                 arg_
01235             )
01236         ))
01237         ;
01238 }
01239 
01240 // generated by gmu/lambda/action_aliases/alias_list.h:173
01241 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01242 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01243 
01256 template< typename LambdaT >
01257 inline
01258 xst_unary_adaptor<
01259     xst_lambda_wrap<
01260         xst_scalar<
01261             xst_member_action<
01262                 /*ObjectT*/         typename LambdaT::value_T const&,
01263                 /*MemberActionT*/   std::const_mem_fun_t<
01264                                         /*ResultT*/size_t,
01265                                         /*ObjectT*/typename LambdaT::value_T
01266                                     >,
01267                 /*ArgumentT*/       void,
01268                 /*ResultT*/         size_t
01269             >
01270         >
01271     >
01272     ,
01273     xst_dereference_policy<
01274         xst_dereference_traits<
01275             /*ObjectT*/ typename LambdaT::value_T,
01276             /*ResultT*/ size_t
01277         >::capacity_,
01278         LambdaT::primitive_id_
01279     >
01280 >
01281 offset(
01282     xst_lambda_wrap< LambdaT > const& lambda_
01283     )
01284 {
01285     typedef typename LambdaT::value_T object_T;
01286     typedef size_t result_T;
01287     typedef xst_unary_adaptor<
01288         xst_lambda_wrap<
01289             xst_scalar<
01290                 xst_member_action<
01291                     /*ObjectT*/         typename LambdaT::value_T const&,
01292                     /*MemberActionT*/   std::const_mem_fun_t<
01293                                             /*ResultT*/size_t,
01294                                             /*ObjectT*/typename LambdaT::value_T
01295                                         >,
01296                     /*ArgumentT*/       void,
01297                     /*ResultT*/         size_t
01298                 >
01299             >
01300         >
01301         ,
01302         xst_dereference_policy<
01303             xst_dereference_traits<
01304                 /*ObjectT*/ typename LambdaT::value_T,
01305                 /*ResultT*/ size_t
01306             >::capacity_,
01307             LambdaT::primitive_id_
01308         >
01309     >
01310     xst_adaptor_T;
01311 
01312     return xst_adaptor_T( scalar(
01313 #ifdef CTTL_TRACE_DEPOSITS
01314             xst_traced_action(
01315                 __LINE__,
01316                 "size_t alias::offset()const",
01317 #else
01318             action(
01319 #endif // CTTL_TRACE_DEPOSITS
01320                 lambda_.top( const_scalar( 0 ) ),
01321                 ( std::const_mem_fun_t<
01322                     result_T,
01323                     object_T
01324                     >
01325                     ( &object_T::offset )
01326                 )
01327             )
01328         ))
01329         ;
01330 }
01331 
01332 // generated by gmu/lambda/action_aliases/alias_list.h:185
01333 // generated by gmu/lambda/action_aliases/action_aliases.h:33
01334 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
01335 
01349 template< typename LambdaT, typename ArgumentT >
01350 inline
01351 xst_unary_adaptor<
01352     xst_lambda_wrap<
01353         xst_scalar<
01354             xst_member_action<
01355                 /*ObjectT*/         typename LambdaT::value_T &,
01356                 /*MemberActionT*/   std::mem_fun1_t<
01357                                         /*ResultT*/size_t,
01358                                         /*ObjectT*/typename LambdaT::value_T,
01359                                         /*ArgumentT*/ArgumentT
01360                                     >,
01361                 /*ArgumentT*/       ArgumentT const&,
01362                 /*ResultT*/         size_t
01363             >
01364         >
01365     >
01366     ,
01367     xst_dereference_policy<
01368         xst_dereference_traits<
01369             /*ObjectT*/ typename LambdaT::value_T,
01370             /*ResultT*/ size_t
01371         >::capacity_,
01372         LambdaT::primitive_id_
01373     >
01374 >
01375 offset(
01376     xst_lambda_wrap< LambdaT >* plambda_,
01377     // Although offset() receives its argument by value,
01378     // this helper passes it by const reference.
01379     ArgumentT const& arg_
01380     )
01381 {
01382     typedef typename LambdaT::value_T object_T;
01383     typedef size_t result_T;
01384     typedef xst_unary_adaptor<
01385         xst_lambda_wrap<
01386             xst_scalar<
01387                 xst_member_action<
01388                     /*ObjectT*/         typename LambdaT::value_T &,
01389                     /*MemberActionT*/   std::mem_fun1_t<
01390                                             /*ResultT*/size_t,
01391                                             /*ObjectT*/typename LambdaT::value_T,
01392                                             /*ArgumentT*/ArgumentT
01393                                         >,
01394                     /*ArgumentT*/       ArgumentT const&,
01395                     /*ResultT*/         size_t
01396                 >
01397             >
01398         >
01399         ,
01400         xst_dereference_policy<
01401             xst_dereference_traits<
01402                 /*ObjectT*/ typename LambdaT::value_T,
01403                 /*ResultT*/ size_t
01404             >::capacity_,
01405             LambdaT::primitive_id_
01406         >
01407     >
01408     xst_adaptor_T;
01409 
01410     return xst_adaptor_T( scalar(
01411 #ifdef CTTL_TRACE_DEPOSITS
01412             xst_traced_action(
01413                 __LINE__,
01414                 "size_t alias::offset(size_t)",
01415 #else
01416             action(
01417 #endif // CTTL_TRACE_DEPOSITS
01418                 &plambda_->top( const_scalar( 0 ) ),
01419                 ( std::mem_fun1_t<
01420                     result_T,
01421                     object_T,
01422                     ArgumentT
01423                     >
01424                     ( &object_T::offset )
01425                 ),
01426                 arg_
01427             )
01428         ))
01429         ;
01430 }
01431 
01432 // generated by gmu/lambda/action_aliases/alias_list.h:197
01433 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01434 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01435 
01448 template< typename LambdaT >
01449 inline
01450 xst_unary_adaptor<
01451     xst_lambda_wrap<
01452         xst_scalar<
01453             xst_member_action<
01454                 /*ObjectT*/         typename LambdaT::value_T const&,
01455                 /*MemberActionT*/   std::const_mem_fun_t<
01456                                         /*ResultT*/size_t,
01457                                         /*ObjectT*/typename LambdaT::value_T
01458                                     >,
01459                 /*ArgumentT*/       void,
01460                 /*ResultT*/         size_t
01461             >
01462         >
01463     >
01464     ,
01465     xst_dereference_policy<
01466         xst_dereference_traits<
01467             /*ObjectT*/ typename LambdaT::value_T,
01468             /*ResultT*/ size_t
01469         >::capacity_,
01470         LambdaT::primitive_id_
01471     >
01472 >
01473 line(
01474     xst_lambda_wrap< LambdaT > const& lambda_
01475     )
01476 {
01477     typedef typename LambdaT::value_T object_T;
01478     typedef size_t result_T;
01479     typedef xst_unary_adaptor<
01480         xst_lambda_wrap<
01481             xst_scalar<
01482                 xst_member_action<
01483                     /*ObjectT*/         typename LambdaT::value_T const&,
01484                     /*MemberActionT*/   std::const_mem_fun_t<
01485                                             /*ResultT*/size_t,
01486                                             /*ObjectT*/typename LambdaT::value_T
01487                                         >,
01488                     /*ArgumentT*/       void,
01489                     /*ResultT*/         size_t
01490                 >
01491             >
01492         >
01493         ,
01494         xst_dereference_policy<
01495             xst_dereference_traits<
01496                 /*ObjectT*/ typename LambdaT::value_T,
01497                 /*ResultT*/ size_t
01498             >::capacity_,
01499             LambdaT::primitive_id_
01500         >
01501     >
01502     xst_adaptor_T;
01503 
01504     return xst_adaptor_T( scalar(
01505 #ifdef CTTL_TRACE_DEPOSITS
01506             xst_traced_action(
01507                 __LINE__,
01508                 "size_t alias::line()const",
01509 #else
01510             action(
01511 #endif // CTTL_TRACE_DEPOSITS
01512                 lambda_.top( const_scalar( 0 ) ),
01513                 ( std::const_mem_fun_t<
01514                     result_T,
01515                     object_T
01516                     >
01517                     ( &object_T::line )
01518                 )
01519             )
01520         ))
01521         ;
01522 }
01523 
01524 // generated by gmu/lambda/action_aliases/alias_list.h:209
01525 // generated by gmu/lambda/action_aliases/action_aliases.h:33
01526 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
01527 
01541 template< typename LambdaT, typename ArgumentT >
01542 inline
01543 xst_unary_adaptor<
01544     xst_lambda_wrap<
01545         xst_scalar<
01546             xst_member_action<
01547                 /*ObjectT*/         typename LambdaT::value_T &,
01548                 /*MemberActionT*/   std::mem_fun1_t<
01549                                         /*ResultT*/size_t,
01550                                         /*ObjectT*/typename LambdaT::value_T,
01551                                         /*ArgumentT*/ArgumentT
01552                                     >,
01553                 /*ArgumentT*/       ArgumentT const&,
01554                 /*ResultT*/         size_t
01555             >
01556         >
01557     >
01558     ,
01559     xst_dereference_policy<
01560         xst_dereference_traits<
01561             /*ObjectT*/ typename LambdaT::value_T,
01562             /*ResultT*/ size_t
01563         >::capacity_,
01564         LambdaT::primitive_id_
01565     >
01566 >
01567 go_line(
01568     xst_lambda_wrap< LambdaT >* plambda_,
01569     // Although go_line() receives its argument by value,
01570     // this helper passes it by const reference.
01571     ArgumentT const& arg_
01572     )
01573 {
01574     typedef typename LambdaT::value_T object_T;
01575     typedef size_t result_T;
01576     typedef xst_unary_adaptor<
01577         xst_lambda_wrap<
01578             xst_scalar<
01579                 xst_member_action<
01580                     /*ObjectT*/         typename LambdaT::value_T &,
01581                     /*MemberActionT*/   std::mem_fun1_t<
01582                                             /*ResultT*/size_t,
01583                                             /*ObjectT*/typename LambdaT::value_T,
01584                                             /*ArgumentT*/ArgumentT
01585                                         >,
01586                     /*ArgumentT*/       ArgumentT const&,
01587                     /*ResultT*/         size_t
01588                 >
01589             >
01590         >
01591         ,
01592         xst_dereference_policy<
01593             xst_dereference_traits<
01594                 /*ObjectT*/ typename LambdaT::value_T,
01595                 /*ResultT*/ size_t
01596             >::capacity_,
01597             LambdaT::primitive_id_
01598         >
01599     >
01600     xst_adaptor_T;
01601 
01602     return xst_adaptor_T( scalar(
01603 #ifdef CTTL_TRACE_DEPOSITS
01604             xst_traced_action(
01605                 __LINE__,
01606                 "size_t alias::go_line(size_t)",
01607 #else
01608             action(
01609 #endif // CTTL_TRACE_DEPOSITS
01610                 &plambda_->top( const_scalar( 0 ) ),
01611                 ( std::mem_fun1_t<
01612                     result_T,
01613                     object_T,
01614                     ArgumentT
01615                     >
01616                     ( &object_T::go_line )
01617                 ),
01618                 arg_
01619             )
01620         ))
01621         ;
01622 }
01623 
01624 // generated by gmu/lambda/action_aliases/alias_list.h:221
01625 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01626 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01627 
01640 template< typename LambdaT >
01641 inline
01642 xst_unary_adaptor<
01643     xst_lambda_wrap<
01644         xst_scalar<
01645             xst_member_action<
01646                 /*ObjectT*/         typename LambdaT::value_T &,
01647                 /*MemberActionT*/   std::mem_fun_t<
01648                                         /*ResultT*/void,
01649                                         /*ObjectT*/typename LambdaT::value_T
01650                                     >,
01651                 /*ArgumentT*/       void,
01652                 /*ResultT*/         void
01653             >
01654         >
01655     >
01656     ,
01657     xst_dereference_policy<
01658         xst_dereference_traits<
01659             /*ObjectT*/ typename LambdaT::value_T,
01660             /*ResultT*/ void
01661         >::capacity_,
01662         LambdaT::primitive_id_
01663     >
01664 >
01665 pop_discard(
01666     xst_lambda_wrap< LambdaT >* plambda_
01667     )
01668 {
01669     typedef typename LambdaT::value_T object_T;
01670     typedef void result_T;
01671     typedef xst_unary_adaptor<
01672         xst_lambda_wrap<
01673             xst_scalar<
01674                 xst_member_action<
01675                     /*ObjectT*/         typename LambdaT::value_T &,
01676                     /*MemberActionT*/   std::mem_fun_t<
01677                                             /*ResultT*/void,
01678                                             /*ObjectT*/typename LambdaT::value_T
01679                                         >,
01680                     /*ArgumentT*/       void,
01681                     /*ResultT*/         void
01682                 >
01683             >
01684         >
01685         ,
01686         xst_dereference_policy<
01687             xst_dereference_traits<
01688                 /*ObjectT*/ typename LambdaT::value_T,
01689                 /*ResultT*/ void
01690             >::capacity_,
01691             LambdaT::primitive_id_
01692         >
01693     >
01694     xst_adaptor_T;
01695 
01696     return xst_adaptor_T( scalar(
01697 #ifdef CTTL_TRACE_DEPOSITS
01698             xst_traced_action(
01699                 __LINE__,
01700                 "void alias::pop_discard()",
01701 #else
01702             action(
01703 #endif // CTTL_TRACE_DEPOSITS
01704                 &plambda_->top( const_scalar( 0 ) ),
01705                 ( std::mem_fun_t<
01706                     result_T,
01707                     object_T
01708                     >
01709                     ( &object_T::pop_discard )
01710                 )
01711             )
01712         ))
01713         ;
01714 }
01715 
01716 // generated by gmu/lambda/action_aliases/alias_list.h:233
01717 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01718 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01719 
01732 template< typename LambdaT >
01733 inline
01734 xst_unary_adaptor<
01735     xst_lambda_wrap<
01736         xst_scalar<
01737             xst_member_action<
01738                 /*ObjectT*/         typename LambdaT::value_T &,
01739                 /*MemberActionT*/   std::mem_fun_t<
01740                                         /*ResultT*/size_t,
01741                                         /*ObjectT*/typename LambdaT::value_T
01742                                     >,
01743                 /*ArgumentT*/       void,
01744                 /*ResultT*/         size_t
01745             >
01746         >
01747     >
01748     ,
01749     xst_dereference_policy<
01750         xst_dereference_traits<
01751             /*ObjectT*/ typename LambdaT::value_T,
01752             /*ResultT*/ size_t
01753         >::capacity_,
01754         LambdaT::primitive_id_
01755     >
01756 >
01757 go_bof(
01758     xst_lambda_wrap< LambdaT >* plambda_
01759     )
01760 {
01761     typedef typename LambdaT::value_T object_T;
01762     typedef size_t result_T;
01763     typedef xst_unary_adaptor<
01764         xst_lambda_wrap<
01765             xst_scalar<
01766                 xst_member_action<
01767                     /*ObjectT*/         typename LambdaT::value_T &,
01768                     /*MemberActionT*/   std::mem_fun_t<
01769                                             /*ResultT*/size_t,
01770                                             /*ObjectT*/typename LambdaT::value_T
01771                                         >,
01772                     /*ArgumentT*/       void,
01773                     /*ResultT*/         size_t
01774                 >
01775             >
01776         >
01777         ,
01778         xst_dereference_policy<
01779             xst_dereference_traits<
01780                 /*ObjectT*/ typename LambdaT::value_T,
01781                 /*ResultT*/ size_t
01782             >::capacity_,
01783             LambdaT::primitive_id_
01784         >
01785     >
01786     xst_adaptor_T;
01787 
01788     return xst_adaptor_T( scalar(
01789 #ifdef CTTL_TRACE_DEPOSITS
01790             xst_traced_action(
01791                 __LINE__,
01792                 "size_t alias::go_bof()",
01793 #else
01794             action(
01795 #endif // CTTL_TRACE_DEPOSITS
01796                 &plambda_->top( const_scalar( 0 ) ),
01797                 ( std::mem_fun_t<
01798                     result_T,
01799                     object_T
01800                     >
01801                     ( &object_T::go_bof )
01802                 )
01803             )
01804         ))
01805         ;
01806 }
01807 
01808 // generated by gmu/lambda/action_aliases/alias_list.h:245
01809 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01810 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01811 
01824 template< typename LambdaT >
01825 inline
01826 xst_unary_adaptor<
01827     xst_lambda_wrap<
01828         xst_scalar<
01829             xst_member_action<
01830                 /*ObjectT*/         typename LambdaT::value_T &,
01831                 /*MemberActionT*/   std::mem_fun_t<
01832                                         /*ResultT*/size_t,
01833                                         /*ObjectT*/typename LambdaT::value_T
01834                                     >,
01835                 /*ArgumentT*/       void,
01836                 /*ResultT*/         size_t
01837             >
01838         >
01839     >
01840     ,
01841     xst_dereference_policy<
01842         xst_dereference_traits<
01843             /*ObjectT*/ typename LambdaT::value_T,
01844             /*ResultT*/ size_t
01845         >::capacity_,
01846         LambdaT::primitive_id_
01847     >
01848 >
01849 go_eof(
01850     xst_lambda_wrap< LambdaT >* plambda_
01851     )
01852 {
01853     typedef typename LambdaT::value_T object_T;
01854     typedef size_t result_T;
01855     typedef xst_unary_adaptor<
01856         xst_lambda_wrap<
01857             xst_scalar<
01858                 xst_member_action<
01859                     /*ObjectT*/         typename LambdaT::value_T &,
01860                     /*MemberActionT*/   std::mem_fun_t<
01861                                             /*ResultT*/size_t,
01862                                             /*ObjectT*/typename LambdaT::value_T
01863                                         >,
01864                     /*ArgumentT*/       void,
01865                     /*ResultT*/         size_t
01866                 >
01867             >
01868         >
01869         ,
01870         xst_dereference_policy<
01871             xst_dereference_traits<
01872                 /*ObjectT*/ typename LambdaT::value_T,
01873                 /*ResultT*/ size_t
01874             >::capacity_,
01875             LambdaT::primitive_id_
01876         >
01877     >
01878     xst_adaptor_T;
01879 
01880     return xst_adaptor_T( scalar(
01881 #ifdef CTTL_TRACE_DEPOSITS
01882             xst_traced_action(
01883                 __LINE__,
01884                 "size_t alias::go_eof()",
01885 #else
01886             action(
01887 #endif // CTTL_TRACE_DEPOSITS
01888                 &plambda_->top( const_scalar( 0 ) ),
01889                 ( std::mem_fun_t<
01890                     result_T,
01891                     object_T
01892                     >
01893                     ( &object_T::go_eof )
01894                 )
01895             )
01896         ))
01897         ;
01898 }
01899 
01900 // generated by gmu/lambda/action_aliases/alias_list.h:257
01901 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01902 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01903 
01916 template< typename LambdaT >
01917 inline
01918 xst_unary_adaptor<
01919     xst_lambda_wrap<
01920         xst_scalar<
01921             xst_member_action<
01922                 /*ObjectT*/         typename LambdaT::value_T &,
01923                 /*MemberActionT*/   std::mem_fun_t<
01924                                         /*ResultT*/size_t,
01925                                         /*ObjectT*/typename LambdaT::value_T
01926                                     >,
01927                 /*ArgumentT*/       void,
01928                 /*ResultT*/         size_t
01929             >
01930         >
01931     >
01932     ,
01933     xst_dereference_policy<
01934         xst_dereference_traits<
01935             /*ObjectT*/ typename LambdaT::value_T,
01936             /*ResultT*/ size_t
01937         >::capacity_,
01938         LambdaT::primitive_id_
01939     >
01940 >
01941 go_line_next(
01942     xst_lambda_wrap< LambdaT >* plambda_
01943     )
01944 {
01945     typedef typename LambdaT::value_T object_T;
01946     typedef size_t result_T;
01947     typedef xst_unary_adaptor<
01948         xst_lambda_wrap<
01949             xst_scalar<
01950                 xst_member_action<
01951                     /*ObjectT*/         typename LambdaT::value_T &,
01952                     /*MemberActionT*/   std::mem_fun_t<
01953                                             /*ResultT*/size_t,
01954                                             /*ObjectT*/typename LambdaT::value_T
01955                                         >,
01956                     /*ArgumentT*/       void,
01957                     /*ResultT*/         size_t
01958                 >
01959             >
01960         >
01961         ,
01962         xst_dereference_policy<
01963             xst_dereference_traits<
01964                 /*ObjectT*/ typename LambdaT::value_T,
01965                 /*ResultT*/ size_t
01966             >::capacity_,
01967             LambdaT::primitive_id_
01968         >
01969     >
01970     xst_adaptor_T;
01971 
01972     return xst_adaptor_T( scalar(
01973 #ifdef CTTL_TRACE_DEPOSITS
01974             xst_traced_action(
01975                 __LINE__,
01976                 "size_t alias::go_line_next()",
01977 #else
01978             action(
01979 #endif // CTTL_TRACE_DEPOSITS
01980                 &plambda_->top( const_scalar( 0 ) ),
01981                 ( std::mem_fun_t<
01982                     result_T,
01983                     object_T
01984                     >
01985                     ( &object_T::go_line_next )
01986                 )
01987             )
01988         ))
01989         ;
01990 }
01991 
01992 // generated by gmu/lambda/action_aliases/alias_list.h:269
01993 // generated by gmu/lambda/action_aliases/action_aliases.h:25
01994 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
01995 
02008 template< typename LambdaT >
02009 inline
02010 xst_unary_adaptor<
02011     xst_lambda_wrap<
02012         xst_scalar<
02013             xst_member_action<
02014                 /*ObjectT*/         typename LambdaT::value_T &,
02015                 /*MemberActionT*/   std::mem_fun_t<
02016                                         /*ResultT*/size_t,
02017                                         /*ObjectT*/typename LambdaT::value_T
02018                                     >,
02019                 /*ArgumentT*/       void,
02020                 /*ResultT*/         size_t
02021             >
02022         >
02023     >
02024     ,
02025     xst_dereference_policy<
02026         xst_dereference_traits<
02027             /*ObjectT*/ typename LambdaT::value_T,
02028             /*ResultT*/ size_t
02029         >::capacity_,
02030         LambdaT::primitive_id_
02031     >
02032 >
02033 go_line_previous(
02034     xst_lambda_wrap< LambdaT >* plambda_
02035     )
02036 {
02037     typedef typename LambdaT::value_T object_T;
02038     typedef size_t result_T;
02039     typedef xst_unary_adaptor<
02040         xst_lambda_wrap<
02041             xst_scalar<
02042                 xst_member_action<
02043                     /*ObjectT*/         typename LambdaT::value_T &,
02044                     /*MemberActionT*/   std::mem_fun_t<
02045                                             /*ResultT*/size_t,
02046                                             /*ObjectT*/typename LambdaT::value_T
02047                                         >,
02048                     /*ArgumentT*/       void,
02049                     /*ResultT*/         size_t
02050                 >
02051             >
02052         >
02053         ,
02054         xst_dereference_policy<
02055             xst_dereference_traits<
02056                 /*ObjectT*/ typename LambdaT::value_T,
02057                 /*ResultT*/ size_t
02058             >::capacity_,
02059             LambdaT::primitive_id_
02060         >
02061     >
02062     xst_adaptor_T;
02063 
02064     return xst_adaptor_T( scalar(
02065 #ifdef CTTL_TRACE_DEPOSITS
02066             xst_traced_action(
02067                 __LINE__,
02068                 "size_t alias::go_line_previous()",
02069 #else
02070             action(
02071 #endif // CTTL_TRACE_DEPOSITS
02072                 &plambda_->top( const_scalar( 0 ) ),
02073                 ( std::mem_fun_t<
02074                     result_T,
02075                     object_T
02076                     >
02077                     ( &object_T::go_line_previous )
02078                 )
02079             )
02080         ))
02081         ;
02082 }
02083 
02084 // generated by gmu/lambda/action_aliases/alias_list.h:281
02085 // generated by gmu/lambda/action_aliases/action_aliases.h:25
02086 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
02087 
02100 template< typename LambdaT >
02101 inline
02102 xst_unary_adaptor<
02103     xst_lambda_wrap<
02104         xst_scalar<
02105             xst_member_action<
02106                 /*ObjectT*/         typename LambdaT::value_T &,
02107                 /*MemberActionT*/   std::mem_fun_t<
02108                                         /*ResultT*/size_t,
02109                                         /*ObjectT*/typename LambdaT::value_T
02110                                     >,
02111                 /*ArgumentT*/       void,
02112                 /*ResultT*/         size_t
02113             >
02114         >
02115     >
02116     ,
02117     xst_dereference_policy<
02118         xst_dereference_traits<
02119             /*ObjectT*/ typename LambdaT::value_T,
02120             /*ResultT*/ size_t
02121         >::capacity_,
02122         LambdaT::primitive_id_
02123     >
02124 >
02125 go_line_home(
02126     xst_lambda_wrap< LambdaT >* plambda_
02127     )
02128 {
02129     typedef typename LambdaT::value_T object_T;
02130     typedef size_t result_T;
02131     typedef xst_unary_adaptor<
02132         xst_lambda_wrap<
02133             xst_scalar<
02134                 xst_member_action<
02135                     /*ObjectT*/         typename LambdaT::value_T &,
02136                     /*MemberActionT*/   std::mem_fun_t<
02137                                             /*ResultT*/size_t,
02138                                             /*ObjectT*/typename LambdaT::value_T
02139                                         >,
02140                     /*ArgumentT*/       void,
02141                     /*ResultT*/         size_t
02142                 >
02143             >
02144         >
02145         ,
02146         xst_dereference_policy<
02147             xst_dereference_traits<
02148                 /*ObjectT*/ typename LambdaT::value_T,
02149                 /*ResultT*/ size_t
02150             >::capacity_,
02151             LambdaT::primitive_id_
02152         >
02153     >
02154     xst_adaptor_T;
02155 
02156     return xst_adaptor_T( scalar(
02157 #ifdef CTTL_TRACE_DEPOSITS
02158             xst_traced_action(
02159                 __LINE__,
02160                 "size_t alias::go_line_home()",
02161 #else
02162             action(
02163 #endif // CTTL_TRACE_DEPOSITS
02164                 &plambda_->top( const_scalar( 0 ) ),
02165                 ( std::mem_fun_t<
02166                     result_T,
02167                     object_T
02168                     >
02169                     ( &object_T::go_line_home )
02170                 )
02171             )
02172         ))
02173         ;
02174 }
02175 
02176 // generated by gmu/lambda/action_aliases/alias_list.h:293
02177 // generated by gmu/lambda/action_aliases/action_aliases.h:33
02178 // generated by gmu/lambda/action_aliases/deref_mf_arg.h:1
02179 
02193 template< typename LambdaT, typename ArgumentT >
02194 inline
02195 xst_unary_adaptor<
02196     xst_lambda_wrap<
02197         xst_scalar<
02198             xst_member_action<
02199                 /*ObjectT*/         typename LambdaT::value_T &,
02200                 /*MemberActionT*/   std::mem_fun1_t<
02201                                         /*ResultT*/size_t,
02202                                         /*ObjectT*/typename LambdaT::value_T,
02203                                         /*ArgumentT*/ArgumentT
02204                                     >,
02205                 /*ArgumentT*/       ArgumentT const&,
02206                 /*ResultT*/         size_t
02207             >
02208         >
02209     >
02210     ,
02211     xst_dereference_policy<
02212         xst_dereference_traits<
02213             /*ObjectT*/ typename LambdaT::value_T,
02214             /*ResultT*/ size_t
02215         >::capacity_,
02216         LambdaT::primitive_id_
02217     >
02218 >
02219 go_line_home(
02220     xst_lambda_wrap< LambdaT >* plambda_,
02221     // Although go_line_home() receives its argument by value,
02222     // this helper passes it by const reference.
02223     ArgumentT const& arg_
02224     )
02225 {
02226     typedef typename LambdaT::value_T object_T;
02227     typedef size_t result_T;
02228     typedef xst_unary_adaptor<
02229         xst_lambda_wrap<
02230             xst_scalar<
02231                 xst_member_action<
02232                     /*ObjectT*/         typename LambdaT::value_T &,
02233                     /*MemberActionT*/   std::mem_fun1_t<
02234                                             /*ResultT*/size_t,
02235                                             /*ObjectT*/typename LambdaT::value_T,
02236                                             /*ArgumentT*/ArgumentT
02237                                         >,
02238                     /*ArgumentT*/       ArgumentT const&,
02239                     /*ResultT*/         size_t
02240                 >
02241             >
02242         >
02243         ,
02244         xst_dereference_policy<
02245             xst_dereference_traits<
02246                 /*ObjectT*/ typename LambdaT::value_T,
02247                 /*ResultT*/ size_t
02248             >::capacity_,
02249             LambdaT::primitive_id_
02250         >
02251     >
02252     xst_adaptor_T;
02253 
02254     return xst_adaptor_T( scalar(
02255 #ifdef CTTL_TRACE_DEPOSITS
02256             xst_traced_action(
02257                 __LINE__,
02258                 "size_t alias::go_line_home(size_t)",
02259 #else
02260             action(
02261 #endif // CTTL_TRACE_DEPOSITS
02262                 &plambda_->top( const_scalar( 0 ) ),
02263                 ( std::mem_fun1_t<
02264                     result_T,
02265                     object_T,
02266                     ArgumentT
02267                     >
02268                     ( &object_T::go_line_home )
02269                 ),
02270                 arg_
02271             )
02272         ))
02273         ;
02274 }
02275 
02276 // generated by gmu/lambda/action_aliases/alias_list.h:305
02277 // generated by gmu/lambda/action_aliases/action_aliases.h:25
02278 // generated by gmu/lambda/action_aliases/deref_mf_noarg.h:1
02279 
02292 template< typename LambdaT >
02293 inline
02294 xst_unary_adaptor<
02295     xst_lambda_wrap<
02296         xst_scalar<
02297             xst_member_action<
02298                 /*ObjectT*/         typename LambdaT::value_T &,
02299                 /*MemberActionT*/   std::mem_fun_t<
02300                                         /*ResultT*/size_t,
02301                                         /*ObjectT*/typename LambdaT::value_T
02302                                     >,
02303                 /*ArgumentT*/       void,
02304                 /*ResultT*/         size_t
02305             >
02