00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00023
00035
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
00084
00085
00086
00087
00100 template< typename LambdaT >
00101 inline
00102 xst_unary_adaptor<
00103 xst_lambda_wrap<
00104 xst_scalar<
00105 xst_member_action<
00106 typename LambdaT::value_T &,
00107 std::mem_fun_t<
00108 void,
00109 typename LambdaT::value_T
00110 >,
00111 void,
00112 void
00113 >
00114 >
00115 >
00116 ,
00117 xst_dereference_policy<
00118 xst_dereference_traits<
00119 typename LambdaT::value_T,
00120 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 typename LambdaT::value_T &,
00136 std::mem_fun_t<
00137 void,
00138 typename LambdaT::value_T
00139 >,
00140 void,
00141 void
00142 >
00143 >
00144 >
00145 ,
00146 xst_dereference_policy<
00147 xst_dereference_traits<
00148 typename LambdaT::value_T,
00149 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
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
00177
00178
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 typename LambdaT::value_T &,
00200 std::mem_fun1_t<
00201 void,
00202 typename LambdaT::value_T,
00203 ArgumentT const&
00204 >,
00205 ArgumentT const&,
00206 void
00207 >
00208 >
00209 >
00210 ,
00211 xst_dereference_policy<
00212 xst_dereference_traits<
00213 typename LambdaT::value_T,
00214 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 typename LambdaT::value_T &,
00231 std::mem_fun1_t<
00232 void,
00233 typename LambdaT::value_T,
00234 ArgumentT const&
00235 >,
00236 ArgumentT const&,
00237 void
00238 >
00239 >
00240 >
00241 ,
00242 xst_dereference_policy<
00243 xst_dereference_traits<
00244 typename LambdaT::value_T,
00245 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
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
00275
00276
00277
00290 template< typename LambdaT >
00291 inline
00292 xst_unary_adaptor<
00293 xst_lambda_wrap<
00294 xst_scalar<
00295 xst_member_action<
00296 typename LambdaT::value_T &,
00297 std::mem_fun_t<
00298 typename LambdaT::value_T::value_type&,
00299 typename LambdaT::value_T
00300 >,
00301 void,
00302 typename LambdaT::value_T::value_type&
00303 >
00304 >
00305 >
00306 ,
00307 xst_dereference_policy<
00308 xst_dereference_traits<
00309 typename LambdaT::value_T,
00310 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 typename LambdaT::value_T &,
00326 std::mem_fun_t<
00327 typename LambdaT::value_T::value_type&,
00328 typename LambdaT::value_T
00329 >,
00330 void,
00331 typename LambdaT::value_T::value_type&
00332 >
00333 >
00334 >
00335 ,
00336 xst_dereference_policy<
00337 xst_dereference_traits<
00338 typename LambdaT::value_T,
00339 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
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
00369 namespace basic_string {
00370
00371
00372
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 typename LambdaT::value_T &,
00394 std::mem_fun1_t<
00395 void,
00396 typename LambdaT::value_T,
00397 ArgumentT
00398 >,
00399 ArgumentT const&,
00400 void
00401 >
00402 >
00403 >
00404 ,
00405 xst_dereference_policy<
00406 xst_dereference_traits<
00407 typename LambdaT::value_T,
00408 void
00409 >::capacity_,
00410 LambdaT::primitive_id_
00411 >
00412 >
00413 push_back(
00414 xst_lambda_wrap< LambdaT >* plambda_,
00415
00416
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 typename LambdaT::value_T &,
00427 std::mem_fun1_t<
00428 void,
00429 typename LambdaT::value_T,
00430 ArgumentT
00431 >,
00432 ArgumentT const&,
00433 void
00434 >
00435 >
00436 >
00437 ,
00438 xst_dereference_policy<
00439 xst_dereference_traits<
00440 typename LambdaT::value_T,
00441 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
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 }
00471
00472
00473
00474
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 typename LambdaT::value_T &,
00496 std::mem_fun1_t<
00497 typename LambdaT::value_T&,
00498 typename LambdaT::value_T,
00499 ArgumentT const&
00500 >,
00501 ArgumentT const&,
00502 typename LambdaT::value_T&
00503 >
00504 >
00505 >
00506 ,
00507 xst_dereference_policy<
00508 xst_dereference_traits<
00509 typename LambdaT::value_T,
00510 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 typename LambdaT::value_T &,
00527 std::mem_fun1_t<
00528 typename LambdaT::value_T&,
00529 typename LambdaT::value_T,
00530 ArgumentT const&
00531 >,
00532 ArgumentT const&,
00533 typename LambdaT::value_T&
00534 >
00535 >
00536 >
00537 ,
00538 xst_dereference_policy<
00539 xst_dereference_traits<
00540 typename LambdaT::value_T,
00541 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
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
00571
00572
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 typename LambdaT::value_T &,
00594 std::mem_fun1_t<
00595 typename LambdaT::value_T&,
00596 typename LambdaT::value_T,
00597 ArgumentT const&
00598 >,
00599 ArgumentT const&,
00600 typename LambdaT::value_T&
00601 >
00602 >
00603 >
00604 ,
00605 xst_dereference_policy<
00606 xst_dereference_traits<
00607 typename LambdaT::value_T,
00608 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 typename LambdaT::value_T &,
00625 std::mem_fun1_t<
00626 typename LambdaT::value_T&,
00627 typename LambdaT::value_T,
00628 ArgumentT const&
00629 >,
00630 ArgumentT const&,
00631 typename LambdaT::value_T&
00632 >
00633 >
00634 >
00635 ,
00636 xst_dereference_policy<
00637 xst_dereference_traits<
00638 typename LambdaT::value_T,
00639 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
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
00669
00670
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 typename LambdaT::value_T const&,
00692 std::const_mem_fun1_t<
00693 int,
00694 typename LambdaT::value_T,
00695 ArgumentT const&
00696 >,
00697 ArgumentT const&,
00698 int
00699 >
00700 >
00701 >
00702 ,
00703 xst_dereference_policy<
00704 xst_dereference_traits<
00705 typename LambdaT::value_T,
00706 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 typename LambdaT::value_T const&,
00723 std::const_mem_fun1_t<
00724 int,
00725 typename LambdaT::value_T,
00726 ArgumentT const&
00727 >,
00728 ArgumentT const&,
00729 int
00730 >
00731 >
00732 >
00733 ,
00734 xst_dereference_policy<
00735 xst_dereference_traits<
00736 typename LambdaT::value_T,
00737 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
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
00767
00768
00769
00782 template< typename LambdaT >
00783 inline
00784 xst_unary_adaptor<
00785 xst_lambda_wrap<
00786 xst_scalar<
00787 xst_member_action<
00788 typename LambdaT::value_T const&,
00789 std::const_mem_fun_t<
00790 typename LambdaT::value_T::size_type,
00791 typename LambdaT::value_T
00792 >,
00793 void,
00794 typename LambdaT::value_T::size_type
00795 >
00796 >
00797 >
00798 ,
00799 xst_dereference_policy<
00800 xst_dereference_traits<
00801 typename LambdaT::value_T,
00802 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 typename LambdaT::value_T const&,
00818 std::const_mem_fun_t<
00819 typename LambdaT::value_T::size_type,
00820 typename LambdaT::value_T
00821 >,
00822 void,
00823 typename LambdaT::value_T::size_type
00824 >
00825 >
00826 >
00827 ,
00828 xst_dereference_policy<
00829 xst_dereference_traits<
00830 typename LambdaT::value_T,
00831 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
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
00861 namespace node {
00862
00863
00864
00865
00878 template< typename LambdaT >
00879 inline
00880 xst_unary_adaptor<
00881 xst_lambda_wrap<
00882 xst_scalar<
00883 xst_member_action<
00884 typename LambdaT::value_T &,
00885 std::mem_fun_t<
00886 size_t,
00887 typename LambdaT::value_T
00888 >,
00889 void,
00890 size_t
00891 >
00892 >
00893 >
00894 ,
00895 xst_dereference_policy<
00896 xst_dereference_traits<
00897 typename LambdaT::value_T,
00898 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 typename LambdaT::value_T &,
00914 std::mem_fun_t<
00915 size_t,
00916 typename LambdaT::value_T
00917 >,
00918 void,
00919 size_t
00920 >
00921 >
00922 >
00923 ,
00924 xst_dereference_policy<
00925 xst_dereference_traits<
00926 typename LambdaT::value_T,
00927 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
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
00955
00956
00957
00970 template< typename LambdaT >
00971 inline
00972 xst_unary_adaptor<
00973 xst_lambda_wrap<
00974 xst_scalar<
00975 xst_member_action<
00976 typename LambdaT::value_T &,
00977 std::mem_fun_t<
00978 size_t,
00979 typename LambdaT::value_T
00980 >,
00981 void,
00982 size_t
00983 >
00984 >
00985 >
00986 ,
00987 xst_dereference_policy<
00988 xst_dereference_traits<
00989 typename LambdaT::value_T,
00990 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 typename LambdaT::value_T &,
01006 std::mem_fun_t<
01007 size_t,
01008 typename LambdaT::value_T
01009 >,
01010 void,
01011 size_t
01012 >
01013 >
01014 >
01015 ,
01016 xst_dereference_policy<
01017 xst_dereference_traits<
01018 typename LambdaT::value_T,
01019 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
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 }
01047
01048
01049
01050
01051
01064 template< typename LambdaT >
01065 inline
01066 xst_unary_adaptor<
01067 xst_lambda_wrap<
01068 xst_scalar<
01069 xst_member_action<
01070 typename LambdaT::value_T const&,
01071 std::const_mem_fun_t<
01072 int,
01073 typename LambdaT::value_T
01074 >,
01075 void,
01076 int
01077 >
01078 >
01079 >
01080 ,
01081 xst_dereference_policy<
01082 xst_dereference_traits<
01083 typename LambdaT::value_T,
01084 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 typename LambdaT::value_T const&,
01100 std::const_mem_fun_t<
01101 int,
01102 typename LambdaT::value_T
01103 >,
01104 void,
01105 int
01106 >
01107 >
01108 >
01109 ,
01110 xst_dereference_policy<
01111 xst_dereference_traits<
01112 typename LambdaT::value_T,
01113 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
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
01141
01142
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 typename LambdaT::value_T &,
01164 std::mem_fun1_t<
01165 int,
01166 typename LambdaT::value_T,
01167 ArgumentT
01168 >,
01169 ArgumentT const&,
01170 int
01171 >
01172 >
01173 >
01174 ,
01175 xst_dereference_policy<
01176 xst_dereference_traits<
01177 typename LambdaT::value_T,
01178 int
01179 >::capacity_,
01180 LambdaT::primitive_id_
01181 >
01182 >
01183 identity(
01184 xst_lambda_wrap< LambdaT >* plambda_,
01185
01186
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 typename LambdaT::value_T &,
01197 std::mem_fun1_t<
01198 int,
01199 typename LambdaT::value_T,
01200 ArgumentT
01201 >,
01202 ArgumentT const&,
01203 int
01204 >
01205 >
01206 >
01207 ,
01208 xst_dereference_policy<
01209 xst_dereference_traits<
01210 typename LambdaT::value_T,
01211 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
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
01241
01242
01243
01256 template< typename LambdaT >
01257 inline
01258 xst_unary_adaptor<
01259 xst_lambda_wrap<
01260 xst_scalar<
01261 xst_member_action<
01262 typename LambdaT::value_T const&,
01263 std::const_mem_fun_t<
01264 size_t,
01265 typename LambdaT::value_T
01266 >,
01267 void,
01268 size_t
01269 >
01270 >
01271 >
01272 ,
01273 xst_dereference_policy<
01274 xst_dereference_traits<
01275 typename LambdaT::value_T,
01276 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 typename LambdaT::value_T const&,
01292 std::const_mem_fun_t<
01293 size_t,
01294 typename LambdaT::value_T
01295 >,
01296 void,
01297 size_t
01298 >
01299 >
01300 >
01301 ,
01302 xst_dereference_policy<
01303 xst_dereference_traits<
01304 typename LambdaT::value_T,
01305 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
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
01333
01334
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 typename LambdaT::value_T &,
01356 std::mem_fun1_t<
01357 size_t,
01358 typename LambdaT::value_T,
01359 ArgumentT
01360 >,
01361 ArgumentT const&,
01362 size_t
01363 >
01364 >
01365 >
01366 ,
01367 xst_dereference_policy<
01368 xst_dereference_traits<
01369 typename LambdaT::value_T,
01370 size_t
01371 >::capacity_,
01372 LambdaT::primitive_id_
01373 >
01374 >
01375 offset(
01376 xst_lambda_wrap< LambdaT >* plambda_,
01377
01378
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 typename LambdaT::value_T &,
01389 std::mem_fun1_t<
01390 size_t,
01391 typename LambdaT::value_T,
01392 ArgumentT
01393 >,
01394 ArgumentT const&,
01395 size_t
01396 >
01397 >
01398 >
01399 ,
01400 xst_dereference_policy<
01401 xst_dereference_traits<
01402 typename LambdaT::value_T,
01403 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
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
01433
01434
01435
01448 template< typename LambdaT >
01449 inline
01450 xst_unary_adaptor<
01451 xst_lambda_wrap<
01452 xst_scalar<
01453 xst_member_action<
01454 typename LambdaT::value_T const&,
01455 std::const_mem_fun_t<
01456 size_t,
01457 typename LambdaT::value_T
01458 >,
01459 void,
01460 size_t
01461 >
01462 >
01463 >
01464 ,
01465 xst_dereference_policy<
01466 xst_dereference_traits<
01467 typename LambdaT::value_T,
01468 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 typename LambdaT::value_T const&,
01484 std::const_mem_fun_t<
01485 size_t,
01486 typename LambdaT::value_T
01487 >,
01488 void,
01489 size_t
01490 >
01491 >
01492 >
01493 ,
01494 xst_dereference_policy<
01495 xst_dereference_traits<
01496 typename LambdaT::value_T,
01497 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
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
01525
01526
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 typename LambdaT::value_T &,
01548 std::mem_fun1_t<
01549 size_t,
01550 typename LambdaT::value_T,
01551 ArgumentT
01552 >,
01553 ArgumentT const&,
01554 size_t
01555 >
01556 >
01557 >
01558 ,
01559 xst_dereference_policy<
01560 xst_dereference_traits<
01561 typename LambdaT::value_T,
01562 size_t
01563 >::capacity_,
01564 LambdaT::primitive_id_
01565 >
01566 >
01567 go_line(
01568 xst_lambda_wrap< LambdaT >* plambda_,
01569
01570
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 typename LambdaT::value_T &,
01581 std::mem_fun1_t<
01582 size_t,
01583 typename LambdaT::value_T,
01584 ArgumentT
01585 >,
01586 ArgumentT const&,
01587 size_t
01588 >
01589 >
01590 >
01591 ,
01592 xst_dereference_policy<
01593 xst_dereference_traits<
01594 typename LambdaT::value_T,
01595 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
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
01625
01626
01627
01640 template< typename LambdaT >
01641 inline
01642 xst_unary_adaptor<
01643 xst_lambda_wrap<
01644 xst_scalar<
01645 xst_member_action<
01646 typename LambdaT::value_T &,
01647 std::mem_fun_t<
01648 void,
01649 typename LambdaT::value_T
01650 >,
01651 void,
01652 void
01653 >
01654 >
01655 >
01656 ,
01657 xst_dereference_policy<
01658 xst_dereference_traits<
01659 typename LambdaT::value_T,
01660 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 typename LambdaT::value_T &,
01676 std::mem_fun_t<
01677 void,
01678 typename LambdaT::value_T
01679 >,
01680 void,
01681 void
01682 >
01683 >
01684 >
01685 ,
01686 xst_dereference_policy<
01687 xst_dereference_traits<
01688 typename LambdaT::value_T,
01689 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
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
01717
01718
01719
01732 template< typename LambdaT >
01733 inline
01734 xst_unary_adaptor<
01735 xst_lambda_wrap<
01736 xst_scalar<
01737 xst_member_action<
01738 typename LambdaT::value_T &,
01739 std::mem_fun_t<
01740 size_t,
01741 typename LambdaT::value_T
01742 >,
01743 void,
01744 size_t
01745 >
01746 >
01747 >
01748 ,
01749 xst_dereference_policy<
01750 xst_dereference_traits<
01751 typename LambdaT::value_T,
01752 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 typename LambdaT::value_T &,
01768 std::mem_fun_t<
01769 size_t,
01770 typename LambdaT::value_T
01771 >,
01772 void,
01773 size_t
01774 >
01775 >
01776 >
01777 ,
01778 xst_dereference_policy<
01779 xst_dereference_traits<
01780 typename LambdaT::value_T,
01781 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
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
01809
01810
01811
01824 template< typename LambdaT >
01825 inline
01826 xst_unary_adaptor<
01827 xst_lambda_wrap<
01828 xst_scalar<
01829 xst_member_action<
01830 typename LambdaT::value_T &,
01831 std::mem_fun_t<
01832 size_t,
01833 typename LambdaT::value_T
01834 >,
01835 void,
01836 size_t
01837 >
01838 >
01839 >
01840 ,
01841 xst_dereference_policy<
01842 xst_dereference_traits<
01843 typename LambdaT::value_T,
01844 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 typename LambdaT::value_T &,
01860 std::mem_fun_t<
01861 size_t,
01862 typename LambdaT::value_T
01863 >,
01864 void,
01865 size_t
01866 >
01867 >
01868 >
01869 ,
01870 xst_dereference_policy<
01871 xst_dereference_traits<
01872 typename LambdaT::value_T,
01873 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
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
01901
01902
01903
01916 template< typename LambdaT >
01917 inline
01918 xst_unary_adaptor<
01919 xst_lambda_wrap<
01920 xst_scalar<
01921 xst_member_action<
01922 typename LambdaT::value_T &,
01923 std::mem_fun_t<
01924 size_t,
01925 typename LambdaT::value_T
01926 >,
01927 void,
01928 size_t
01929 >
01930 >
01931 >
01932 ,
01933 xst_dereference_policy<
01934 xst_dereference_traits<
01935 typename LambdaT::value_T,
01936 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 typename LambdaT::value_T &,
01952 std::mem_fun_t<
01953 size_t,
01954 typename LambdaT::value_T
01955 >,
01956 void,
01957 size_t
01958 >
01959 >
01960 >
01961 ,
01962 xst_dereference_policy<
01963 xst_dereference_traits<
01964 typename LambdaT::value_T,
01965 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
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
01993
01994
01995
02008 template< typename LambdaT >
02009 inline
02010 xst_unary_adaptor<
02011 xst_lambda_wrap<
02012 xst_scalar<
02013 xst_member_action<
02014 typename LambdaT::value_T &,
02015 std::mem_fun_t<
02016 size_t,
02017 typename LambdaT::value_T
02018 >,
02019 void,
02020 size_t
02021 >
02022 >
02023 >
02024 ,
02025 xst_dereference_policy<
02026 xst_dereference_traits<
02027 typename LambdaT::value_T,
02028 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 typename LambdaT::value_T &,
02044 std::mem_fun_t<
02045 size_t,
02046 typename LambdaT::value_T
02047 >,
02048 void,
02049 size_t
02050 >
02051 >
02052 >
02053 ,
02054 xst_dereference_policy<
02055 xst_dereference_traits<
02056 typename LambdaT::value_T,
02057 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
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
02085
02086
02087
02100 template< typename LambdaT >
02101 inline
02102 xst_unary_adaptor<
02103 xst_lambda_wrap<
02104 xst_scalar<
02105 xst_member_action<
02106 typename LambdaT::value_T &,
02107 std::mem_fun_t<
02108 size_t,
02109 typename LambdaT::value_T
02110 >,
02111 void,
02112 size_t
02113 >
02114 >
02115 >
02116 ,
02117 xst_dereference_policy<
02118 xst_dereference_traits<
02119 typename LambdaT::value_T,
02120 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 typename LambdaT::value_T &,
02136 std::mem_fun_t<
02137 size_t,
02138 typename LambdaT::value_T
02139 >,
02140 void,
02141 size_t
02142 >
02143 >
02144 >
02145 ,
02146 xst_dereference_policy<
02147 xst_dereference_traits<
02148 typename LambdaT::value_T,
02149 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
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
02177
02178
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 typename LambdaT::value_T &,
02200 std::mem_fun1_t<
02201 size_t,
02202 typename LambdaT::value_T,
02203 ArgumentT
02204 >,
02205 ArgumentT const&,
02206 size_t
02207 >
02208 >
02209 >
02210 ,
02211 xst_dereference_policy<
02212 xst_dereference_traits<
02213 typename LambdaT::value_T,
02214 size_t
02215 >::capacity_,
02216 LambdaT::primitive_id_
02217 >
02218 >
02219 go_line_home(
02220 xst_lambda_wrap< LambdaT >* plambda_,
02221
02222
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 typename LambdaT::value_T &,
02233 std::mem_fun1_t<
02234 size_t,
02235 typename LambdaT::value_T,
02236 ArgumentT
02237 >,
02238 ArgumentT const&,
02239 size_t
02240 >
02241 >
02242 >
02243 ,
02244 xst_dereference_policy<
02245 xst_dereference_traits<
02246 typename LambdaT::value_T,
02247 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
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
02277
02278
02279
02292 template< typename LambdaT >
02293 inline
02294 xst_unary_adaptor<
02295 xst_lambda_wrap<
02296 xst_scalar<
02297 xst_member_action<
02298 typename LambdaT::value_T &,
02299 std::mem_fun_t<
02300 size_t,
02301 typename LambdaT::value_T
02302 >,
02303 void,
02304 size_t
02305 >
02306 >
02307 >
02308 ,
02309 xst_dereference_policy<
02310 xst_dereference_traits<
02311 typename LambdaT::value_T,
02312 size_t
02313 >::capacity_,
02314 LambdaT::primitive_id_
02315 >
02316 >
02317 go_line_end(
02318 xst_lambda_wrap< LambdaT >* plambda_
02319 )
02320 {
02321 typedef typename LambdaT::value_T object_T;
02322 typedef size_t result_T;
02323 typedef xst_unary_adaptor<
02324 xst_lambda_wrap<
02325 xst_scalar<
02326 xst_member_action<
02327 typename LambdaT::value_T &,
02328 std::mem_fun_t<
02329 size_t,
02330 typename LambdaT::value_T
02331 >,
02332 void,
02333 size_t
02334 >
02335 >
02336 >
02337 ,
02338 xst_dereference_policy<
02339 xst_dereference_traits<
02340 typename LambdaT::value_T,
02341 size_t
02342 >::capacity_,
02343 LambdaT::primitive_id_
02344 >
02345 >
02346 xst_adaptor_T;
02347
02348 return xst_adaptor_T( scalar(
02349 #ifdef CTTL_TRACE_DEPOSITS
02350 xst_traced_action(
02351 __LINE__,
02352 "size_t alias::go_line_end()",
02353 #else
02354 action(
02355 #endif
02356 &plambda_->top( const_scalar( 0 ) ),
02357 ( std::mem_fun_t<
02358 result_T,
02359 object_T
02360 >
02361 ( &object_T::go_line_end )
02362 )
02363 )
02364 ))
02365 ;
02366 }
02367
02368
02369
02370
02371
02385 template< typename LambdaT, typename ArgumentT >
02386 inline
02387 xst_unary_adaptor<
02388 xst_lambda_wrap<
02389 xst_scalar<
02390 xst_member_action<
02391 typename LambdaT::value_T &,
02392 std::mem_fun1_t<
02393 size_t,
02394 typename LambdaT::value_T,
02395 ArgumentT
02396 >,
02397 ArgumentT const&,
02398 size_t
02399 >
02400 >
02401 >
02402 ,
02403 xst_dereference_policy<
02404 xst_dereference_traits<
02405 typename LambdaT::value_T,
02406 size_t
02407 >::capacity_,
02408 LambdaT::primitive_id_
02409 >
02410 >
02411 go_line_end(
02412 xst_lambda_wrap< LambdaT >* plambda_,
02413
02414
02415 ArgumentT const& arg_
02416 )
02417 {
02418 typedef typename LambdaT::value_T object_T;
02419 typedef size_t result_T;
02420 typedef xst_unary_adaptor<
02421 xst_lambda_wrap<
02422 xst_scalar<
02423 xst_member_action<
02424 typename LambdaT::value_T &,
02425 std::mem_fun1_t<
02426 size_t,
02427 typename LambdaT::value_T,
02428 ArgumentT
02429 >,
02430 ArgumentT const&,
02431 size_t
02432 >
02433 >
02434 >
02435 ,
02436 xst_dereference_policy<
02437 xst_dereference_traits<
02438 typename LambdaT::value_T,
02439 size_t
02440 >::capacity_,
02441 LambdaT::primitive_id_
02442 >
02443 >
02444 xst_adaptor_T;
02445
02446 return xst_adaptor_T( scalar(
02447 #ifdef CTTL_TRACE_DEPOSITS
02448 xst_traced_action(
02449 __LINE__,
02450 "size_t alias::go_line_end(size_t)",
02451 #else
02452 action(
02453 #endif
02454 &plambda_->top( const_scalar( 0 ) ),
02455 ( std::mem_fun1_t<
02456 result_T,
02457 object_T,
02458 ArgumentT
02459 >
02460 ( &object_T::go_line_end )
02461 ),
02462 arg_
02463 )
02464 ))
02465 ;
02466 }
02467
02468
02469
02470
02471
02485 template< typename LambdaT, typename ArgumentT >
02486 inline
02487 xst_unary_adaptor<
02488 xst_lambda_wrap<
02489 xst_scalar<
02490 xst_member_action<
02491 typename LambdaT::value_T &,
02492 std::mem_fun1_t<
02493 size_t,
02494 typename LambdaT::value_T,
02495 ArgumentT const&
02496 >,
02497 ArgumentT const&,
02498 size_t
02499 >
02500 >
02501 >
02502 ,
02503 xst_dereference_policy<
02504 xst_dereference_traits<
02505 typename LambdaT::value_T,
02506 size_t
02507 >::capacity_,
02508 LambdaT::primitive_id_
02509 >
02510 >
02511 insert_go(
02512 xst_lambda_wrap< LambdaT >* plambda_,
02513 ArgumentT const& arg_
02514 )
02515 {
02516 typedef typename LambdaT::value_T object_T;
02517 typedef size_t result_T;
02518 typedef xst_unary_adaptor<
02519 xst_lambda_wrap<
02520 xst_scalar<
02521 xst_member_action<
02522 typename LambdaT::value_T &,
02523 std::mem_fun1_t<
02524 size_t,
02525 typename LambdaT::value_T,
02526 ArgumentT const&
02527 >,
02528 ArgumentT const&,
02529 size_t
02530 >
02531 >
02532 >
02533 ,
02534 xst_dereference_policy<
02535 xst_dereference_traits<
02536 typename LambdaT::value_T,
02537 size_t
02538 >::capacity_,
02539 LambdaT::primitive_id_
02540 >
02541 >
02542 xst_adaptor_T;
02543
02544 return xst_adaptor_T( scalar(
02545 #ifdef CTTL_TRACE_DEPOSITS
02546 xst_traced_action(
02547 __LINE__,
02548 "size_t alias::insert_go(StringT const&)",
02549 #else
02550 action(
02551 #endif
02552 &plambda_->top( const_scalar( 0 ) ),
02553 ( std::mem_fun1_t<
02554 result_T,
02555 object_T,
02556 ArgumentT const&
02557 >
02558 ( &object_T::insert_go )
02559 ),
02560 arg_
02561 )
02562 ))
02563 ;
02564 }
02565
02566
02567
02568
02569
02583 template< typename LambdaT, typename ArgumentT >
02584 inline
02585 xst_unary_adaptor<
02586 xst_lambda_wrap<
02587 xst_scalar<
02588 xst_member_action<
02589 typename LambdaT::value_T &,
02590 std::mem_fun1_t<
02591 void,
02592 typename LambdaT::value_T,
02593 ArgumentT const&
02594 >,
02595 ArgumentT const&,
02596 void
02597 >
02598 >
02599 >
02600 ,
02601 xst_dereference_policy<
02602 xst_dereference_traits<
02603 typename LambdaT::value_T,
02604 void
02605 >::capacity_,
02606 LambdaT::primitive_id_
02607 >
02608 >
02609 insert_stay(
02610 xst_lambda_wrap< LambdaT >* plambda_,
02611 ArgumentT const& arg_
02612 )
02613 {
02614 typedef typename LambdaT::value_T object_T;
02615 typedef void result_T;
02616 typedef xst_unary_adaptor<
02617 xst_lambda_wrap<
02618 xst_scalar<
02619 xst_member_action<
02620 typename LambdaT::value_T &,
02621 std::mem_fun1_t<
02622 void,
02623 typename LambdaT::value_T,
02624 ArgumentT const&
02625 >,
02626 ArgumentT const&,
02627 void
02628 >
02629 >
02630 >
02631 ,
02632 xst_dereference_policy<
02633 xst_dereference_traits<
02634 typename LambdaT::value_T,
02635 void
02636 >::capacity_,
02637 LambdaT::primitive_id_
02638 >
02639 >
02640 xst_adaptor_T;
02641
02642 return xst_adaptor_T( scalar(
02643 #ifdef CTTL_TRACE_DEPOSITS
02644 xst_traced_action(
02645 __LINE__,
02646 "void alias::insert_stay(StringT const&)",
02647 #else
02648 action(
02649 #endif
02650 &plambda_->top( const_scalar( 0 ) ),
02651 ( std::mem_fun1_t<
02652 result_T,
02653 object_T,
02654 ArgumentT const&
02655 >
02656 ( &object_T::insert_stay )
02657 ),
02658 arg_
02659 )
02660 ))
02661 ;
02662 }
02663
02664
02665
02666
02667 namespace edge {
02668
02669
02670
02671
02684 template< typename LambdaT >
02685 inline
02686 xst_unary_adaptor<
02687 xst_lambda_wrap<
02688 xst_scalar<
02689 xst_member_action<
02690 typename LambdaT::value_T const&,
02691 std::const_mem_fun_t<
02692 int,
02693 typename LambdaT::value_T
02694 >,
02695 void,
02696 int
02697 >
02698 >
02699 >
02700 ,
02701 xst_dereference_policy<
02702 xst_dereference_traits<
02703 typename LambdaT::value_T,
02704 int
02705 >::capacity_,
02706 LambdaT::primitive_id_
02707 >
02708 >
02709 length(
02710 xst_lambda_wrap< LambdaT > const& lambda_
02711 )
02712 {
02713 typedef typename LambdaT::value_T object_T;
02714 typedef int result_T;
02715 typedef xst_unary_adaptor<
02716 xst_lambda_wrap<
02717 xst_scalar<
02718 xst_member_action<
02719 typename LambdaT::value_T const&,
02720 std::const_mem_fun_t<
02721 int,
02722 typename LambdaT::value_T
02723 >,
02724 void,
02725 int
02726 >
02727 >
02728 >
02729 ,
02730 xst_dereference_policy<
02731 xst_dereference_traits<
02732 typename LambdaT::value_T,
02733 int
02734 >::capacity_,
02735 LambdaT::primitive_id_
02736 >
02737 >
02738 xst_adaptor_T;
02739
02740 return xst_adaptor_T( scalar(
02741 #ifdef CTTL_TRACE_DEPOSITS
02742 xst_traced_action(
02743 __LINE__,
02744 "int alias::edge::length()const",
02745 #else
02746 action(
02747 #endif
02748 lambda_.top( const_scalar( 0 ) ),
02749 ( std::const_mem_fun_t<
02750 result_T,
02751 object_T
02752 >
02753 ( &object_T::length )
02754 )
02755 )
02756 ))
02757 ;
02758 }
02759
02760
02761
02762
02763
02776 template< typename LambdaT >
02777 inline
02778 xst_unary_adaptor<
02779 xst_lambda_wrap<
02780 xst_scalar<
02781 xst_member_action<
02782 typename LambdaT::value_T &,
02783 std::mem_fun_t<
02784 void,
02785 typename LambdaT::value_T
02786 >,
02787 void,
02788 void
02789 >
02790 >
02791 >
02792 ,
02793 xst_dereference_policy<
02794 xst_dereference_traits<
02795 typename LambdaT::value_T,
02796 void
02797 >::capacity_,
02798 LambdaT::primitive_id_
02799 >
02800 >
02801 push(
02802 xst_lambda_wrap< LambdaT >* plambda_
02803 )
02804 {
02805 typedef typename LambdaT::value_T object_T;
02806 typedef void result_T;
02807 typedef xst_unary_adaptor<
02808 xst_lambda_wrap<
02809 xst_scalar<
02810 xst_member_action<
02811 typename LambdaT::value_T &,
02812 std::mem_fun_t<
02813 void,
02814 typename LambdaT::value_T
02815 >,
02816 void,
02817 void
02818 >
02819 >
02820 >
02821 ,
02822 xst_dereference_policy<
02823 xst_dereference_traits<
02824 typename LambdaT::value_T,
02825 void
02826 >::capacity_,
02827 LambdaT::primitive_id_
02828 >
02829 >
02830 xst_adaptor_T;
02831
02832 return xst_adaptor_T( scalar(
02833 #ifdef CTTL_TRACE_DEPOSITS
02834 xst_traced_action(
02835 __LINE__,
02836 "void alias::edge::push()",
02837 #else
02838 action(
02839 #endif
02840 &plambda_->top( const_scalar( 0 ) ),
02841 ( std::mem_fun_t<
02842 result_T,
02843 object_T
02844 >
02845 ( &object_T::push )
02846 )
02847 )
02848 ))
02849 ;
02850 }
02851
02852 }
02853
02854
02855
02856
02857
02870 template< typename LambdaT >
02871 inline
02872 xst_unary_adaptor<
02873 xst_lambda_wrap<
02874 xst_scalar<
02875 xst_member_action<
02876 typename LambdaT::value_T const&,
02877 std::const_mem_fun_t<
02878 typename LambdaT::value_T::string_T,
02879 typename LambdaT::value_T
02880 >,
02881 void,
02882 typename LambdaT::value_T::string_T
02883 >
02884 >
02885 >
02886 ,
02887 xst_dereference_policy<
02888 xst_dereference_traits<
02889 typename LambdaT::value_T,
02890 typename LambdaT::value_T::string_T
02891 >::capacity_,
02892 LambdaT::primitive_id_
02893 >
02894 >
02895 text(
02896 xst_lambda_wrap< LambdaT > const& lambda_
02897 )
02898 {
02899 typedef typename LambdaT::value_T object_T;
02900 typedef typename LambdaT::value_T::string_T result_T;
02901 typedef xst_unary_adaptor<
02902 xst_lambda_wrap<
02903 xst_scalar<
02904 xst_member_action<
02905 typename LambdaT::value_T const&,
02906 std::const_mem_fun_t<
02907 typename LambdaT::value_T::string_T,
02908 typename LambdaT::value_T
02909 >,
02910 void,
02911 typename LambdaT::value_T::string_T
02912 >
02913 >
02914 >
02915 ,
02916 xst_dereference_policy<
02917 xst_dereference_traits<
02918 typename LambdaT::value_T,
02919 typename LambdaT::value_T::string_T
02920 >::capacity_,
02921 LambdaT::primitive_id_
02922 >
02923 >
02924 xst_adaptor_T;
02925
02926 return xst_adaptor_T( scalar(
02927 #ifdef CTTL_TRACE_DEPOSITS
02928 xst_traced_action(
02929 __LINE__,
02930 "X::string_T alias::text()const",
02931 #else
02932 action(
02933 #endif
02934 lambda_.top( const_scalar( 0 ) ),
02935 ( std::const_mem_fun_t<
02936 result_T,
02937 object_T
02938 >
02939 ( &object_T::text )
02940 )
02941 )
02942 ))
02943 ;
02944 }
02945
02946
02947
02948
02949
02962 template< typename LambdaT >
02963 inline
02964 xst_unary_adaptor<
02965 xst_lambda_wrap<
02966 xst_scalar<
02967 xst_member_action<
02968 typename LambdaT::value_T &,
02969 std::mem_fun_t<
02970 void,
02971 typename LambdaT::value_T
02972 >,
02973 void,
02974 void
02975 >
02976 >
02977 >
02978 ,
02979 xst_dereference_policy<
02980 xst_dereference_traits<
02981 typename LambdaT::value_T,
02982 void
02983 >::capacity_,
02984 LambdaT::primitive_id_
02985 >
02986 >
02987 text_tolower(
02988 xst_lambda_wrap< LambdaT >* plambda_
02989 )
02990 {
02991 typedef typename LambdaT::value_T object_T;
02992 typedef void result_T;
02993 typedef xst_unary_adaptor<
02994 xst_lambda_wrap<
02995 xst_scalar<
02996 xst_member_action<
02997 typename LambdaT::value_T &,
02998 std::mem_fun_t<
02999 void,
03000 typename LambdaT::value_T
03001 >,
03002 void,
03003 void
03004 >
03005 >
03006 >
03007 ,
03008 xst_dereference_policy<
03009 xst_dereference_traits<
03010 typename LambdaT::value_T,
03011 void
03012 >::capacity_,
03013 LambdaT::primitive_id_
03014 >
03015 >
03016 xst_adaptor_T;
03017
03018 return xst_adaptor_T( scalar(
03019 #ifdef CTTL_TRACE_DEPOSITS
03020 xst_traced_action(
03021 __LINE__,
03022 "void alias::text_tolower()",
03023 #else
03024 action(
03025 #endif
03026 &plambda_->top( const_scalar( 0 ) ),
03027 ( std::mem_fun_t<
03028 result_T,
03029 object_T
03030 >
03031 ( &object_T::text_tolower )
03032 )
03033 )
03034 ))
03035 ;
03036 }
03037
03038
03039
03040
03041
03054 template< typename LambdaT >
03055 inline
03056 xst_unary_adaptor<
03057 xst_lambda_wrap<
03058 xst_scalar<
03059 xst_member_action<
03060 typename LambdaT::value_T &,
03061 std::mem_fun_t<
03062 void,
03063 typename LambdaT::value_T
03064 >,
03065 void,
03066 void
03067 >
03068 >
03069 >
03070 ,
03071 xst_dereference_policy<
03072 xst_dereference_traits<
03073 typename LambdaT::value_T,
03074 void
03075 >::capacity_,
03076 LambdaT::primitive_id_
03077 >
03078 >
03079 text_toupper(
03080 xst_lambda_wrap< LambdaT >* plambda_
03081 )
03082 {
03083 typedef typename LambdaT::value_T object_T;
03084 typedef void result_T;
03085 typedef xst_unary_adaptor<
03086 xst_lambda_wrap<
03087 xst_scalar<
03088 xst_member_action<
03089 typename LambdaT::value_T &,
03090 std::mem_fun_t<
03091 void,
03092 typename LambdaT::value_T
03093 >,
03094 void,
03095 void
03096 >
03097 >
03098 >
03099 ,
03100 xst_dereference_policy<
03101 xst_dereference_traits<
03102 typename LambdaT::value_T,
03103 void
03104 >::capacity_,
03105 LambdaT::primitive_id_
03106 >
03107 >
03108 xst_adaptor_T;
03109
03110 return xst_adaptor_T( scalar(
03111 #ifdef CTTL_TRACE_DEPOSITS
03112 xst_traced_action(
03113 __LINE__,
03114 "void alias::text_toupper()",
03115 #else
03116 action(
03117 #endif
03118 &plambda_->top( const_scalar( 0 ) ),
03119 ( std::mem_fun_t<
03120 result_T,
03121 object_T
03122 >
03123 ( &object_T::text_toupper )
03124 )
03125 )
03126 ))
03127 ;
03128 }
03129
03130
03131
03132
03133
03134
03135
03149 template< typename LambdaT, typename ArgumentT >
03150 inline
03151 xst_unary_adaptor<
03152 xst_lambda_wrap<
03153 xst_scalar<
03154 xst_member_action<
03155 typename LambdaT::value_T &,
03156 std::mem_fun1_t<
03157 void,
03158 typename LambdaT::value_T,
03159 ArgumentT const&
03160 >,
03161 ArgumentT const&,
03162 void
03163 >
03164 >
03165 >
03166 ,
03167 xst_dereference_policy<
03168 xst_dereference_traits<
03169 typename LambdaT::value_T,
03170 void
03171 >::capacity_,
03172 LambdaT::primitive_id_
03173 >
03174 >
03175 text(
03176 xst_lambda_wrap< LambdaT >* plambda_,
03177 ArgumentT const& arg_
03178 )
03179 {
03180 typedef typename LambdaT::value_T object_T;
03181 typedef void result_T;
03182 typedef xst_unary_adaptor<
03183 xst_lambda_wrap<
03184 xst_scalar<
03185 xst_member_action<
03186 typename LambdaT::value_T &,
03187 std::mem_fun1_t<
03188 void,
03189 typename LambdaT::value_T,
03190 ArgumentT const&
03191 >,
03192 ArgumentT const&,
03193 void
03194 >
03195 >
03196 >
03197 ,
03198 xst_dereference_policy<
03199 xst_dereference_traits<
03200 typename LambdaT::value_T,
03201 void
03202 >::capacity_,
03203 LambdaT::primitive_id_
03204 >
03205 >
03206 xst_adaptor_T;
03207
03208 return xst_adaptor_T( scalar(
03209 #ifdef CTTL_TRACE_DEPOSITS
03210 xst_traced_action(
03211 __LINE__,
03212 "void alias::text(StringT const&)",
03213 #else
03214 action(
03215 #endif
03216 &plambda_->top( const_scalar( 0 ) ),
03217 ( std::mem_fun1_t<
03218 result_T,
03219 object_T,
03220 ArgumentT const&
03221 >
03222 ( &object_T::text )
03223 ),
03224 arg_
03225 )
03226 ))
03227 ;
03228 }
03229
03230
03231
03232
03233
03247 template< typename LambdaT, typename ArgumentT >
03248 inline
03249 xst_unary_adaptor<
03250 xst_lambda_wrap<
03251 xst_scalar<
03252 xst_member_action<
03253 typename LambdaT::value_T &,
03254 std::mem_fun1_t<
03255 void,
03256 typename LambdaT::value_T,
03257 ArgumentT&
03258 >,
03259 ArgumentT&,
03260 void
03261 >
03262 >
03263 >
03264 ,
03265 xst_dereference_policy<
03266 xst_dereference_traits<
03267 typename LambdaT::value_T,
03268 void
03269 >::capacity_,
03270 LambdaT::primitive_id_
03271 >
03272 >
03273 text_swap(
03274 xst_lambda_wrap< LambdaT >* plambda_,
03275
03276 ArgumentT* parg_
03277 )
03278 {
03279 typedef typename LambdaT::value_T object_T;
03280 typedef void result_T;
03281 typedef xst_unary_adaptor<
03282 xst_lambda_wrap<
03283 xst_scalar<
03284 xst_member_action<
03285 typename LambdaT::value_T &,
03286 std::mem_fun1_t<
03287 void,
03288 typename LambdaT::value_T,
03289 ArgumentT&
03290 >,
03291 ArgumentT&,
03292 void
03293 >
03294 >
03295 >
03296 ,
03297 xst_dereference_policy<
03298 xst_dereference_traits<
03299 typename LambdaT::value_T,
03300 void
03301 >::capacity_,
03302 LambdaT::primitive_id_
03303 >
03304 >
03305 xst_adaptor_T;
03306
03307 return xst_adaptor_T( scalar(
03308 #ifdef CTTL_TRACE_DEPOSITS
03309 xst_traced_action(
03310 __LINE__,
03311 "void alias::text_swap(ArgumentT&)",
03312 #else
03313 action(
03314 #endif
03315 &plambda_->top( const_scalar( 0 ) ),
03316 ( std::mem_fun1_t<
03317 result_T,
03318 object_T,
03319 ArgumentT&
03320 >
03321 ( &object_T::text_swap )
03322 ),
03323
03324
03325 parg_
03326 )
03327 ))
03328 ;
03329 }
03330
03331
03332
03333
03334
03335
03336
03337
03350 template< typename LambdaT >
03351 inline
03352 xst_unary_adaptor<
03353 xst_lambda_wrap<
03354 xst_scalar<
03355 xst_member_action<
03356 typename LambdaT::value_T const&,
03357 std::const_mem_fun_t<
03358 typename LambdaT::value_T::value_type const&,
03359 typename LambdaT::value_T
03360 >,
03361 void,
03362 typename LambdaT::value_T::value_type const&
03363 >
03364 >
03365 >
03366 ,
03367 xst_dereference_policy<
03368 xst_dereference_traits<
03369 typename LambdaT::value_T,
03370 typename LambdaT::value_T::value_type const&
03371 >::capacity_,
03372 LambdaT::primitive_id_
03373 >
03374 >
03375 top(
03376 xst_lambda_wrap< LambdaT > const& lambda_
03377 )
03378 {
03379 typedef typename LambdaT::value_T object_T;
03380 typedef typename LambdaT::value_T::value_type const& result_T;
03381 typedef xst_unary_adaptor<
03382 xst_lambda_wrap<
03383 xst_scalar<
03384 xst_member_action<
03385 typename LambdaT::value_T const&,
03386 std::const_mem_fun_t<
03387 typename LambdaT::value_T::value_type const&,
03388 typename LambdaT::value_T
03389 >,
03390 void,
03391 typename LambdaT::value_T::value_type const&
03392 >
03393 >
03394 >
03395 ,
03396 xst_dereference_policy<
03397 xst_dereference_traits<
03398 typename LambdaT::value_T,
03399 typename LambdaT::value_T::value_type const&
03400 >::capacity_,
03401 LambdaT::primitive_id_
03402 >
03403 >
03404 xst_adaptor_T;
03405
03406 return xst_adaptor_T( scalar(
03407 #ifdef CTTL_TRACE_DEPOSITS
03408 xst_traced_action(
03409 __LINE__,
03410 "X::value_type const& alias::top()const",
03411 #else
03412 action(
03413 #endif
03414 lambda_.top( const_scalar( 0 ) ),
03415 ( std::const_mem_fun_t<
03416 result_T,
03417 object_T
03418 >
03419 ( &object_T::top )
03420 )
03421 )
03422 ))
03423 ;
03424 }
03425
03426
03427
03428
03429
03430
03444 template< typename LambdaT, typename ArgumentT >
03445 inline
03446 xst_unary_adaptor<
03447 xst_lambda_wrap<
03448 xst_translator<
03449 xst_scalar< typename LambdaT::value_T::const_iterator >
03450 ,
03451 xst_member_action<
03452 typename LambdaT::value_T const&,
03453 std::const_mem_fun1_t<
03454 typename LambdaT::value_T::const_iterator,
03455 typename LambdaT::value_T,
03456 ArgumentT const&
03457 >,
03458 ArgumentT const&,
03459 typename LambdaT::value_T::const_iterator
03460 >
03461 >
03462 >
03463 ,
03464 xst_prefix_increment_policy<
03465 1,
03466 primitive_id_translator
03467 >
03468 >
03469 find(
03470 xst_lambda_wrap< LambdaT > const& lambda_,
03471 ArgumentT const& arg_
03472 )
03473 {
03474 typedef typename LambdaT::value_T object_T;
03475 typedef typename LambdaT::value_T::const_iterator result_T;
03476
03477 return
03478 ++make_translator(
03479 scalar( result_T() )
03480 ,
03481 #ifdef CTTL_TRACE_DEPOSITS
03482 xst_traced_action(
03483 __LINE__,
03484 "X::const_iterator alias::find(key_type const&)const",
03485 #else
03486 action(
03487 #endif
03488 lambda_.top( const_scalar( 0 ) ),
03489 ( std::const_mem_fun1_t<
03490 result_T,
03491 object_T,
03492 ArgumentT const&
03493 >
03494 ( &object_T::find )
03495 ),
03496 arg_
03497 )
03498 )
03499 ;
03500 }
03501
03502
03503
03504
03505
03519 template< typename LambdaT, typename ArgumentT >
03520 inline
03521 xst_unary_adaptor<
03522 xst_lambda_wrap<
03523 xst_translator<
03524 xst_scalar< typename LambdaT::value_T::const_iterator >
03525 ,
03526 xst_member_action<
03527 typename LambdaT::value_T const&,
03528 std::const_mem_fun1_t<
03529 typename LambdaT::value_T::const_iterator,
03530 typename LambdaT::value_T,
03531 ArgumentT const&
03532 >,
03533 ArgumentT const&,
03534 typename LambdaT::value_T::const_iterator
03535 >
03536 >
03537 >
03538 ,
03539 xst_prefix_increment_policy<
03540 1,
03541 primitive_id_translator
03542 >
03543 >
03544 lower_bound(
03545 xst_lambda_wrap< LambdaT > const& lambda_,
03546 ArgumentT const& arg_
03547 )
03548 {
03549 typedef typename LambdaT::value_T object_T;
03550 typedef typename LambdaT::value_T::const_iterator result_T;
03551
03552 return
03553 ++make_translator(
03554 scalar( result_T() )
03555 ,
03556 #ifdef CTTL_TRACE_DEPOSITS
03557 xst_traced_action(
03558 __LINE__,
03559 "X::const_iterator alias::lower_bound(key_type const&)const",
03560 #else
03561 action(
03562 #endif
03563 lambda_.top( const_scalar( 0 ) ),
03564 ( std::const_mem_fun1_t<
03565 result_T,
03566 object_T,
03567 ArgumentT const&
03568 >
03569 ( &object_T::lower_bound )
03570 ),
03571 arg_
03572 )
03573 )
03574 ;
03575 }
03576
03577
03578
03579
03580
03594 template< typename LambdaT, typename ArgumentT >
03595 inline
03596 xst_unary_adaptor<
03597 xst_lambda_wrap<
03598 xst_translator<
03599 xst_scalar< typename LambdaT::value_T::const_iterator >
03600 ,
03601 xst_member_action<
03602 typename LambdaT::value_T const&,
03603 std::const_mem_fun1_t<
03604 typename LambdaT::value_T::const_iterator,
03605 typename LambdaT::value_T,
03606 ArgumentT const &
03607 >,
03608 ArgumentT const&,
03609 typename LambdaT::value_T::const_iterator
03610 >
03611 >
03612 >
03613 ,
03614 xst_prefix_increment_policy<
03615 1,
03616 primitive_id_translator
03617 >
03618 >
03619 upper_bound(
03620 xst_lambda_wrap< LambdaT > const& lambda_,
03621 ArgumentT const & arg_
03622 )
03623 {
03624 typedef typename LambdaT::value_T object_T;
03625 typedef typename LambdaT::value_T::const_iterator result_T;
03626
03627 return
03628 ++make_translator(
03629 scalar( result_T() )
03630 ,
03631 #ifdef CTTL_TRACE_DEPOSITS
03632 xst_traced_action(
03633 __LINE__,
03634 "X::const_iterator alias::upper_bound(key_type const &)const",
03635 #else
03636 action(
03637 #endif
03638 lambda_.top( const_scalar( 0 ) ),
03639 ( std::const_mem_fun1_t<
03640 result_T,
03641 object_T,
03642 ArgumentT const &
03643 >
03644 ( &object_T::upper_bound )
03645 ),
03646 arg_
03647 )
03648 )
03649 ;
03650 }
03651
03652
03653
03654
03655
03669 template< typename LambdaT, typename ArgumentT >
03670 inline
03671 xst_unary_adaptor<
03672 xst_lambda_wrap<
03673 xst_scalar<
03674 xst_member_action<
03675 typename LambdaT::value_T const&,
03676 std::const_mem_fun1_t<
03677 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >,
03678 typename LambdaT::value_T,
03679 ArgumentT const&
03680 >,
03681 ArgumentT const&,
03682 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >
03683 >
03684 >
03685 >
03686 ,
03687 xst_dereference_policy<
03688 xst_dereference_traits<
03689 typename LambdaT::value_T,
03690 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >
03691 >::capacity_,
03692 LambdaT::primitive_id_
03693 >
03694 >
03695 equal_range(
03696 xst_lambda_wrap< LambdaT > const& lambda_,
03697 ArgumentT const& arg_
03698 )
03699 {
03700 typedef typename LambdaT::value_T object_T;
03701 typedef std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator > result_T;
03702 typedef xst_unary_adaptor<
03703 xst_lambda_wrap<
03704 xst_scalar<
03705 xst_member_action<
03706 typename LambdaT::value_T const&,
03707 std::const_mem_fun1_t<
03708 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >,
03709 typename LambdaT::value_T,
03710 ArgumentT const&
03711 >,
03712 ArgumentT const&,
03713 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >
03714 >
03715 >
03716 >
03717 ,
03718 xst_dereference_policy<
03719 xst_dereference_traits<
03720 typename LambdaT::value_T,
03721 std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator >
03722 >::capacity_,
03723 LambdaT::primitive_id_
03724 >
03725 >
03726 xst_adaptor_T;
03727
03728 return xst_adaptor_T( scalar(
03729 #ifdef CTTL_TRACE_DEPOSITS
03730 xst_traced_action(
03731 __LINE__,
03732 "std::pair< typename LambdaT::value_T::const_iterator, typename LambdaT::value_T::const_iterator > alias::equal_range(key_type const&)const",
03733 #else
03734 action(
03735 #endif
03736 lambda_.top( const_scalar( 0 ) ),
03737 ( std::const_mem_fun1_t<
03738 result_T,
03739 object_T,
03740 ArgumentT const&
03741 >
03742 ( &object_T::equal_range )
03743 ),
03744 arg_
03745 )
03746 ))
03747 ;
03748 }
03749
03750
03751
03752
03753
03754
03768 template< typename LambdaT, typename ArgumentT >
03769 inline
03770 xst_unary_adaptor<
03771 xst_lambda_wrap<
03772 xst_translator<
03773 xst_scalar< typename LambdaT::value_T::const_iterator >
03774 ,
03775 xst_member_action<
03776 typename LambdaT::value_T &,
03777 std::mem_fun1_t<
03778 typename LambdaT::value_T::const_iterator,
03779 typename LambdaT::value_T,
03780 ArgumentT
03781 >,
03782 ArgumentT const&,
03783 typename LambdaT::value_T::const_iterator
03784 >
03785 >
03786 >
03787 ,
03788 xst_prefix_increment_policy<
03789 1,
03790 primitive_id_translator
03791 >
03792 >
03793 previous(
03794 xst_lambda_wrap< LambdaT >* plambda_,
03795
03796
03797 ArgumentT const& arg_
03798 )
03799 {
03800 typedef typename LambdaT::value_T object_T;
03801 typedef typename LambdaT::value_T::const_iterator result_T;
03802
03803 return
03804 ++make_translator(
03805 scalar( result_T() )
03806 ,
03807 #ifdef CTTL_TRACE_DEPOSITS
03808 xst_traced_action(
03809 __LINE__,
03810 "X::const_iterator alias::previous(const_iterator)",
03811 #else
03812 action(
03813 #endif
03814 &plambda_->top( const_scalar( 0 ) ),
03815 ( std::mem_fun1_t<
03816 result_T,
03817 object_T,
03818 ArgumentT
03819 >
03820 ( &object_T::previous )
03821 ),
03822 arg_
03823 )
03824 )
03825 ;
03826 }
03827
03828
03829
03830
03831
03832
03846 template< typename LambdaT, typename ArgumentT >
03847 inline
03848 xst_unary_adaptor<
03849 xst_lambda_wrap<
03850 xst_scalar<
03851 xst_member_action<
03852 typename LambdaT::value_T const&,
03853 std::const_mem_fun1_t<
03854 typename LambdaT::value_T::const_reference,
03855 typename LambdaT::value_T,
03856 ArgumentT
03857 >,
03858 ArgumentT const&,
03859 typename LambdaT::value_T::const_reference
03860 >
03861 >
03862 >
03863 ,
03864 xst_dereference_policy<
03865 xst_dereference_traits<
03866 typename LambdaT::value_T,
03867 typename LambdaT::value_T::const_reference
03868 >::capacity_,
03869 LambdaT::primitive_id_
03870 >
03871 >
03872 at(
03873 xst_lambda_wrap< LambdaT > const& lambda_,
03874
03875
03876 ArgumentT const& arg_
03877 )
03878 {
03879 typedef typename LambdaT::value_T object_T;
03880 typedef typename LambdaT::value_T::const_reference result_T;
03881 typedef xst_unary_adaptor<
03882 xst_lambda_wrap<
03883 xst_scalar<
03884 xst_member_action<
03885 typename LambdaT::value_T const&,
03886 std::const_mem_fun1_t<
03887 typename LambdaT::value_T::const_reference,
03888 typename LambdaT::value_T,
03889 ArgumentT
03890 >,
03891 ArgumentT const&,
03892 typename LambdaT::value_T::const_reference
03893 >
03894 >
03895 >
03896 ,
03897 xst_dereference_policy<
03898 xst_dereference_traits<
03899 typename LambdaT::value_T,
03900 typename LambdaT::value_T::const_reference
03901 >::capacity_,
03902 LambdaT::primitive_id_
03903 >
03904 >
03905 xst_adaptor_T;
03906
03907 return xst_adaptor_T( scalar(
03908 #ifdef CTTL_TRACE_DEPOSITS
03909 xst_traced_action(
03910 __LINE__,
03911 "X::const_reference alias::at(size_type)const",
03912 #else
03913 action(
03914 #endif
03915 lambda_.top( const_scalar( 0 ) ),
03916 ( std::const_mem_fun1_t<
03917 result_T,
03918 object_T,
03919 ArgumentT
03920 >
03921 ( &object_T::at )
03922 ),
03923 arg_
03924 )
03925 ))
03926 ;
03927 }
03928
03929
03930
03931
03932
03945 template< typename LambdaT >
03946 inline
03947 xst_unary_adaptor<
03948 xst_lambda_wrap<
03949 xst_scalar<
03950 xst_member_action<
03951 typename LambdaT::value_T const&,
03952 std::const_mem_fun_t<
03953 typename LambdaT::value_T::const_reference,
03954 typename LambdaT::value_T
03955 >,
03956 void,
03957 typename LambdaT::value_T::const_reference
03958 >
03959 >
03960 >
03961 ,
03962 xst_dereference_policy<
03963 xst_dereference_traits<
03964 typename LambdaT::value_T,
03965 typename LambdaT::value_T::const_reference
03966 >::capacity_,
03967 LambdaT::primitive_id_
03968 >
03969 >
03970 back(
03971 xst_lambda_wrap< LambdaT > const& lambda_
03972 )
03973 {
03974 typedef typename LambdaT::value_T object_T;
03975 typedef typename LambdaT::value_T::const_reference result_T;
03976 typedef xst_unary_adaptor<
03977 xst_lambda_wrap<
03978 xst_scalar<
03979 xst_member_action<
03980 typename LambdaT::value_T const&,
03981 std::const_mem_fun_t<
03982 typename LambdaT::value_T::const_reference,
03983 typename LambdaT::value_T
03984 >,
03985 void,
03986 typename LambdaT::value_T::const_reference
03987 >
03988 >
03989 >
03990 ,
03991 xst_dereference_policy<
03992 xst_dereference_traits<
03993 typename LambdaT::value_T,
03994 typename LambdaT::value_T::const_reference
03995 >::capacity_,
03996 LambdaT::primitive_id_
03997 >
03998 >
03999 xst_adaptor_T;
04000
04001 return xst_adaptor_T( scalar(
04002 #ifdef CTTL_TRACE_DEPOSITS
04003 xst_traced_action(
04004 __LINE__,
04005 "X::const_reference alias::back()const",
04006 #else
04007 action(
04008 #endif
04009 lambda_.top( const_scalar( 0 ) ),
04010 ( std::const_mem_fun_t<
04011 result_T,
04012 object_T
04013 >
04014 ( &object_T::back )
04015 )
04016 )
04017 ))
04018 ;
04019 }
04020
04021
04022
04023
04024
04038 template< typename LambdaT >
04039 inline
04040 xst_unary_adaptor<
04041 xst_lambda_wrap<
04042 xst_translator<
04043 xst_scalar< typename LambdaT::value_T::const_iterator >
04044 ,
04045 xst_member_action<
04046 typename LambdaT::value_T const&,
04047 std::const_mem_fun_t<
04048 typename LambdaT::value_T::const_iterator,
04049 typename LambdaT::value_T
04050 >,
04051 void,
04052 typename LambdaT::value_T::const_iterator
04053 >
04054 >
04055 >
04056 ,
04057 xst_prefix_increment_policy<
04058 1,
04059 primitive_id_translator
04060 >
04061 >
04062 begin(
04063 xst_lambda_wrap< LambdaT > const& lambda_
04064 )
04065 {
04066 typedef typename LambdaT::value_T object_T;
04067 typedef typename LambdaT::value_T::const_iterator result_T;
04068
04069 return
04070 ++make_translator(
04071 scalar( result_T() )
04072 ,
04073 #ifdef CTTL_TRACE_DEPOSITS
04074 xst_traced_action(
04075 __LINE__,
04076 "X::const_iterator alias::begin()const",
04077 #else
04078 action(
04079 #endif
04080 lambda_.top( const_scalar( 0 ) ),
04081 ( std::const_mem_fun_t<
04082 result_T,
04083 object_T
04084 >
04085 ( &object_T::begin )
04086 )
04087 )
04088 )
04089 ;
04090 }
04091
04092
04093
04094
04095
04109 template< typename LambdaT >
04110 inline
04111 xst_unary_adaptor<
04112 xst_lambda_wrap<
04113 xst_translator<
04114 xst_scalar< typename LambdaT::value_T::const_iterator >
04115 ,
04116 xst_member_action<
04117 typename LambdaT::value_T const&,
04118 std::const_mem_fun_t<
04119 typename LambdaT::value_T::const_iterator,
04120 typename LambdaT::value_T
04121 >,
04122 void,
04123 typename LambdaT::value_T::const_iterator
04124 >
04125 >
04126 >
04127 ,
04128 xst_prefix_increment_policy<
04129 1,
04130 primitive_id_translator
04131 >
04132 >
04133 end(
04134 xst_lambda_wrap< LambdaT > const& lambda_
04135 )
04136 {
04137 typedef typename LambdaT::value_T object_T;
04138 typedef typename LambdaT::value_T::const_iterator result_T;
04139
04140 return
04141 ++make_translator(
04142 scalar( result_T() )
04143 ,
04144 #ifdef CTTL_TRACE_DEPOSITS
04145 xst_traced_action(
04146 __LINE__,
04147 "X::const_iterator alias::end()const",
04148 #else
04149 action(
04150 #endif
04151 lambda_.top( const_scalar( 0 ) ),
04152 ( std::const_mem_fun_t<
04153 result_T,
04154 object_T
04155 >
04156 ( &object_T::end )
04157 )
04158 )
04159 )
04160 ;
04161 }
04162
04163
04164
04165
04166
04179 template< typename LambdaT >
04180 inline
04181 xst_unary_adaptor<
04182 xst_lambda_wrap<
04183 xst_scalar<
04184 xst_member_action<
04185 typename LambdaT::value_T const&,
04186 std::const_mem_fun_t<
04187 typename LambdaT::value_T::const_reference,
04188 typename LambdaT::value_T
04189 >,
04190 void,
04191 typename LambdaT::value_T::const_reference
04192 >
04193 >
04194 >
04195 ,
04196 xst_dereference_policy<
04197 xst_dereference_traits<
04198 typename LambdaT::value_T,
04199 typename LambdaT::value_T::const_reference
04200 >::capacity_,
04201 LambdaT::primitive_id_
04202 >
04203 >
04204 front(
04205 xst_lambda_wrap< LambdaT > const& lambda_
04206 )
04207 {
04208 typedef typename LambdaT::value_T object_T;
04209 typedef typename LambdaT::value_T::const_reference result_T;
04210 typedef xst_unary_adaptor<
04211 xst_lambda_wrap<
04212 xst_scalar<
04213 xst_member_action<
04214 typename LambdaT::value_T const&,
04215 std::const_mem_fun_t<
04216 typename LambdaT::value_T::const_reference,
04217 typename LambdaT::value_T
04218 >,
04219 void,
04220 typename LambdaT::value_T::const_reference
04221 >
04222 >
04223 >
04224 ,
04225 xst_dereference_policy<
04226 xst_dereference_traits<
04227 typename LambdaT::value_T,
04228 typename LambdaT::value_T::const_reference
04229 >::capacity_,
04230 LambdaT::primitive_id_
04231 >
04232 >
04233 xst_adaptor_T;
04234
04235 return xst_adaptor_T( scalar(
04236 #ifdef CTTL_TRACE_DEPOSITS
04237 xst_traced_action(
04238 __LINE__,
04239 "X::const_reference alias::front()const",
04240 #else
04241 action(
04242 #endif
04243 lambda_.top( const_scalar( 0 ) ),
04244 ( std::const_mem_fun_t<
04245 result_T,
04246 object_T
04247 >
04248 ( &object_T::front )
04249 )
04250 )
04251 ))
04252 ;
04253 }
04254
04255
04256
04257
04258
04272 template< typename LambdaT >
04273 inline
04274 xst_unary_adaptor<
04275 xst_lambda_wrap<
04276 xst_translator<
04277 xst_scalar< typename LambdaT::value_T::const_reverse_iterator >
04278 ,
04279 xst_member_action<
04280 typename LambdaT::value_T const&,
04281 std::const_mem_fun_t<
04282 typename LambdaT::value_T::const_reverse_iterator,
04283 typename LambdaT::value_T
04284 >,
04285 void,
04286 typename LambdaT::value_T::const_reverse_iterator
04287 >
04288 >
04289 >
04290 ,
04291 xst_prefix_increment_policy<
04292 1,
04293 primitive_id_translator
04294 >
04295 >
04296 rbegin(
04297 xst_lambda_wrap< LambdaT > const& lambda_
04298 )
04299 {
04300 typedef typename LambdaT::value_T object_T;
04301 typedef typename LambdaT::value_T::const_reverse_iterator result_T;
04302
04303 return
04304 ++make_translator(
04305 scalar( result_T() )
04306 ,
04307 #ifdef CTTL_TRACE_DEPOSITS
04308 xst_traced_action(
04309 __LINE__,
04310 "X::const_reverse_iterator alias::rbegin()const",
04311 #else
04312 action(
04313 #endif
04314 lambda_.top( const_scalar( 0 ) ),
04315 ( std::const_mem_fun_t<
04316 result_T,
04317 object_T
04318 >
04319 ( &object_T::rbegin )
04320 )
04321 )
04322 )
04323 ;
04324 }
04325
04326
04327
04328
04329
04343 template< typename LambdaT >
04344 inline
04345 xst_unary_adaptor<
04346 xst_lambda_wrap<
04347 xst_translator<
04348 xst_scalar< typename LambdaT::value_T::const_reverse_iterator >
04349 ,
04350 xst_member_action<
04351 typename LambdaT::value_T const&,
04352 std::const_mem_fun_t<
04353 typename LambdaT::value_T::const_reverse_iterator,
04354 typename LambdaT::value_T
04355 >,
04356 void,
04357 typename LambdaT::value_T::const_reverse_iterator
04358 >
04359 >
04360 >
04361 ,
04362 xst_prefix_increment_policy<
04363 1,
04364 primitive_id_translator
04365 >
04366 >
04367 rend(
04368 xst_lambda_wrap< LambdaT > const& lambda_
04369 )
04370 {
04371 typedef typename LambdaT::value_T object_T;
04372 typedef typename LambdaT::value_T::const_reverse_iterator result_T;
04373
04374 return
04375 ++make_translator(
04376 scalar( result_T() )
04377 ,
04378 #ifdef CTTL_TRACE_DEPOSITS
04379 xst_traced_action(
04380 __LINE__,
04381 "X::const_reverse_iterator alias::rend()const",
04382 #else
04383 action(
04384 #endif
04385 lambda_.top( const_scalar( 0 ) ),
04386 ( std::const_mem_fun_t<
04387 result_T,
04388 object_T
04389 >
04390 ( &object_T::rend )
04391 )
04392 )
04393 )
04394 ;
04395 }
04396
04397
04398 namespace queue {
04399
04400
04401
04402
04415 template< typename LambdaT >
04416 inline
04417 xst_unary_adaptor<
04418 xst_lambda_wrap<
04419 xst_scalar<
04420 xst_member_action<
04421 typename LambdaT::value_T const&,
04422 std::const_mem_fun_t<
04423 typename LambdaT::value_T::value_type const&,
04424 typename LambdaT::value_T
04425 >,
04426 void,
04427 typename LambdaT::value_T::value_type const&
04428 >
04429 >
04430 >
04431 ,
04432 xst_dereference_policy<
04433 xst_dereference_traits<
04434 typename LambdaT::value_T,
04435 typename LambdaT::value_T::value_type const&
04436 >::capacity_,
04437 LambdaT::primitive_id_
04438 >
04439 >
04440 back(
04441 xst_lambda_wrap< LambdaT > const& lambda_
04442 )
04443 {
04444 typedef typename LambdaT::value_T object_T;
04445 typedef typename LambdaT::value_T::value_type const& result_T;
04446 typedef xst_unary_adaptor<
04447 xst_lambda_wrap<
04448 xst_scalar<
04449 xst_member_action<
04450 typename LambdaT::value_T const&,
04451 std::const_mem_fun_t<
04452 typename LambdaT::value_T::value_type const&,
04453 typename LambdaT::value_T
04454 >,
04455 void,
04456 typename LambdaT::value_T::value_type const&
04457 >
04458 >
04459 >
04460 ,
04461 xst_dereference_policy<
04462 xst_dereference_traits<
04463 typename LambdaT::value_T,
04464 typename LambdaT::value_T::value_type const&
04465 >::capacity_,
04466 LambdaT::primitive_id_
04467 >
04468 >
04469 xst_adaptor_T;
04470
04471 return xst_adaptor_T( scalar(
04472 #ifdef CTTL_TRACE_DEPOSITS
04473 xst_traced_action(
04474 __LINE__,
04475 "X::value_type const& alias::queue::back()const",
04476 #else
04477 action(
04478 #endif
04479 lambda_.top( const_scalar( 0 ) ),
04480 ( std::const_mem_fun_t<
04481 result_T,
04482 object_T
04483 >
04484 ( &object_T::back )
04485 )
04486 )
04487 ))
04488 ;
04489 }
04490
04491
04492
04493
04494
04507 template< typename LambdaT >
04508 inline
04509 xst_unary_adaptor<
04510 xst_lambda_wrap<
04511 xst_scalar<
04512 xst_member_action<
04513 typename LambdaT::value_T const&,
04514 std::const_mem_fun_t<
04515 typename LambdaT::value_T::value_type const&,
04516 typename LambdaT::value_T
04517 >,
04518 void,
04519 typename LambdaT::value_T::value_type const&
04520 >
04521 >
04522 >
04523 ,
04524 xst_dereference_policy<
04525 xst_dereference_traits<
04526 typename LambdaT::value_T,
04527 typename LambdaT::value_T::value_type const&
04528 >::capacity_,
04529 LambdaT::primitive_id_
04530 >
04531 >
04532 front(
04533 xst_lambda_wrap< LambdaT > const& lambda_
04534 )
04535 {
04536 typedef typename LambdaT::value_T object_T;
04537 typedef typename LambdaT::value_T::value_type const& result_T;
04538 typedef xst_unary_adaptor<
04539 xst_lambda_wrap<
04540 xst_scalar<
04541 xst_member_action<
04542 typename LambdaT::value_T const&,
04543 std::const_mem_fun_t<
04544 typename LambdaT::value_T::value_type const&,
04545 typename LambdaT::value_T
04546 >,
04547 void,
04548 typename LambdaT::value_T::value_type const&
04549 >
04550 >
04551 >
04552 ,
04553 xst_dereference_policy<
04554 xst_dereference_traits<
04555 typename LambdaT::value_T,
04556 typename LambdaT::value_T::value_type const&
04557 >::capacity_,
04558 LambdaT::primitive_id_
04559 >
04560 >
04561 xst_adaptor_T;
04562
04563 return xst_adaptor_T( scalar(
04564 #ifdef CTTL_TRACE_DEPOSITS
04565 xst_traced_action(
04566 __LINE__,
04567 "X::value_type const& alias::queue::front()const",
04568 #else
04569 action(
04570 #endif
04571 lambda_.top( const_scalar( 0 ) ),
04572 ( std::const_mem_fun_t<
04573 result_T,
04574 object_T
04575 >
04576 ( &object_T::front )
04577 )
04578 )
04579 ))
04580 ;
04581 }
04582
04583 }
04584
04585
04586
04587
04588
04589
04603 template< typename LambdaT, typename ArgumentT >
04604 inline
04605 xst_unary_adaptor<
04606 xst_lambda_wrap<
04607 xst_scalar<
04608 xst_member_action<
04609 typename LambdaT::value_T &,
04610 std::mem_fun1_t<
04611 typename LambdaT::value_T::reference,
04612 typename LambdaT::value_T,
04613 ArgumentT
04614 >,
04615 ArgumentT const&,
04616 typename LambdaT::value_T::reference
04617 >
04618 >
04619 >
04620 ,
04621 xst_dereference_policy<
04622 xst_dereference_traits<
04623 typename LambdaT::value_T,
04624 typename LambdaT::value_T::reference
04625 >::capacity_,
04626 LambdaT::primitive_id_
04627 >
04628 >
04629 at(
04630 xst_lambda_wrap< LambdaT >* plambda_,
04631
04632
04633 ArgumentT const& arg_
04634 )
04635 {
04636 typedef typename LambdaT::value_T object_T;
04637 typedef typename LambdaT::value_T::reference result_T;
04638 typedef xst_unary_adaptor<
04639 xst_lambda_wrap<
04640 xst_scalar<
04641 xst_member_action<
04642 typename LambdaT::value_T &,
04643 std::mem_fun1_t<
04644 typename LambdaT::value_T::reference,
04645 typename LambdaT::value_T,
04646 ArgumentT
04647 >,
04648 ArgumentT const&,
04649 typename LambdaT::value_T::reference
04650 >
04651 >
04652 >
04653 ,
04654 xst_dereference_policy<
04655 xst_dereference_traits<
04656 typename LambdaT::value_T,
04657 typename LambdaT::value_T::reference
04658 >::capacity_,
04659 LambdaT::primitive_id_
04660 >
04661 >
04662 xst_adaptor_T;
04663
04664 return xst_adaptor_T( scalar(
04665 #ifdef CTTL_TRACE_DEPOSITS
04666 xst_traced_action(
04667 __LINE__,
04668 "X::reference alias::at(size_type)",
04669 #else
04670 action(
04671 #endif
04672 &plambda_->top( const_scalar( 0 ) ),
04673 ( std::mem_fun1_t<
04674 result_T,
04675 object_T,
04676 ArgumentT
04677 >
04678 ( &object_T::at )
04679 ),
04680 arg_
04681 )
04682 ))
04683 ;
04684 }
04685
04686
04687
04688
04689
04702 template< typename LambdaT >
04703 inline
04704 xst_unary_adaptor<
04705 xst_lambda_wrap<
04706 xst_scalar<
04707 xst_member_action<
04708 typename LambdaT::value_T &,
04709 std::mem_fun_t<
04710 typename LambdaT::value_T::reference,
04711 typename LambdaT::value_T
04712 >,
04713 void,
04714 typename LambdaT::value_T::reference
04715 >
04716 >
04717 >
04718 ,
04719 xst_dereference_policy<
04720 xst_dereference_traits<
04721 typename LambdaT::value_T,
04722 typename LambdaT::value_T::reference
04723 >::capacity_,
04724 LambdaT::primitive_id_
04725 >
04726 >
04727 back(
04728 xst_lambda_wrap< LambdaT >* plambda_
04729 )
04730 {
04731 typedef typename LambdaT::value_T object_T;
04732 typedef typename LambdaT::value_T::reference result_T;
04733 typedef xst_unary_adaptor<
04734 xst_lambda_wrap<
04735 xst_scalar<
04736 xst_member_action<
04737 typename LambdaT::value_T &,
04738 std::mem_fun_t<
04739 typename LambdaT::value_T::reference,
04740 typename LambdaT::value_T
04741 >,
04742 void,
04743 typename LambdaT::value_T::reference
04744 >
04745 >
04746 >
04747 ,
04748 xst_dereference_policy<
04749 xst_dereference_traits<
04750 typename LambdaT::value_T,
04751 typename LambdaT::value_T::reference
04752 >::capacity_,
04753 LambdaT::primitive_id_
04754 >
04755 >
04756 xst_adaptor_T;
04757
04758 return xst_adaptor_T( scalar(
04759 #ifdef CTTL_TRACE_DEPOSITS
04760 xst_traced_action(
04761 __LINE__,
04762 "X::reference alias::back()",
04763 #else
04764 action(
04765 #endif
04766 &plambda_->top( const_scalar( 0 ) ),
04767 ( std::mem_fun_t<
04768 result_T,
04769 object_T
04770 >
04771 ( &object_T::back )
04772 )
04773 )
04774 ))
04775 ;
04776 }
04777
04778
04779
04780
04781
04795 template< typename LambdaT >
04796 inline
04797 xst_unary_adaptor<
04798 xst_lambda_wrap<
04799 xst_translator<
04800 xst_scalar< typename LambdaT::value_T::iterator >
04801 ,
04802 xst_member_action<
04803 typename LambdaT::value_T &,
04804 std::mem_fun_t<
04805 typename LambdaT::value_T::iterator,
04806 typename LambdaT::value_T
04807 >,
04808 void,
04809 typename LambdaT::value_T::iterator
04810 >
04811 >
04812 >
04813 ,
04814 xst_prefix_increment_policy<
04815 1,
04816 primitive_id_translator
04817 >
04818 >
04819 begin(
04820 xst_lambda_wrap< LambdaT >* plambda_
04821 )
04822 {
04823 typedef typename LambdaT::value_T object_T;
04824 typedef typename LambdaT::value_T::iterator result_T;
04825
04826 return
04827 ++make_translator(
04828 scalar( result_T() )
04829 ,
04830 #ifdef CTTL_TRACE_DEPOSITS
04831 xst_traced_action(
04832 __LINE__,
04833 "X::iterator alias::begin()",
04834 #else
04835 action(
04836 #endif
04837 &plambda_->top( const_scalar( 0 ) ),
04838 ( std::mem_fun_t<
04839 result_T,
04840 object_T
04841 >
04842 ( &object_T::begin )
04843 )
04844 )
04845 )
04846 ;
04847 }
04848
04849
04850
04851
04852
04865 template< typename LambdaT >
04866 inline
04867 xst_unary_adaptor<
04868 xst_lambda_wrap<
04869 xst_scalar<
04870 xst_member_action<
04871 typename LambdaT::value_T const&,
04872 std::const_mem_fun_t<
04873 typename LambdaT::value_T::size_type,
04874 typename LambdaT::value_T
04875 >,
04876 void,
04877 typename LambdaT::value_T::size_type
04878 >
04879 >
04880 >
04881 ,
04882 xst_dereference_policy<
04883 xst_dereference_traits<
04884 typename LambdaT::value_T,
04885 typename LambdaT::value_T::size_type
04886 >::capacity_,
04887 LambdaT::primitive_id_
04888 >
04889 >
04890 capacity(
04891 xst_lambda_wrap< LambdaT > const& lambda_
04892 )
04893 {
04894 typedef typename LambdaT::value_T object_T;
04895 typedef typename LambdaT::value_T::size_type result_T;
04896 typedef xst_unary_adaptor<
04897 xst_lambda_wrap<
04898 xst_scalar<
04899 xst_member_action<
04900 typename LambdaT::value_T const&,
04901 std::const_mem_fun_t<
04902 typename LambdaT::value_T::size_type,
04903 typename LambdaT::value_T
04904 >,
04905 void,
04906 typename LambdaT::value_T::size_type
04907 >
04908 >
04909 >
04910 ,
04911 xst_dereference_policy<
04912 xst_dereference_traits<
04913 typename LambdaT::value_T,
04914 typename LambdaT::value_T::size_type
04915 >::capacity_,
04916 LambdaT::primitive_id_
04917 >
04918 >
04919 xst_adaptor_T;
04920
04921 return xst_adaptor_T( scalar(
04922 #ifdef CTTL_TRACE_DEPOSITS
04923 xst_traced_action(
04924 __LINE__,
04925 "X::size_type alias::capacity()const",
04926 #else
04927 action(
04928 #endif
04929 lambda_.top( const_scalar( 0 ) ),
04930 ( std::const_mem_fun_t<
04931 result_T,
04932 object_T
04933 >
04934 ( &object_T::capacity )
04935 )
04936 )
04937 ))
04938 ;
04939 }
04940
04941
04942
04943
04944
04957 template< typename LambdaT >
04958 inline
04959 xst_unary_adaptor<
04960 xst_lambda_wrap<
04961 xst_scalar<
04962 xst_member_action<
04963 typename LambdaT::value_T &,
04964 std::mem_fun_t<
04965 void,
04966 typename LambdaT::value_T
04967 >,
04968 void,
04969 void
04970 >
04971 >
04972 >
04973 ,
04974 xst_dereference_policy<
04975 xst_dereference_traits<
04976 typename LambdaT::value_T,
04977 void
04978 >::capacity_,
04979 LambdaT::primitive_id_
04980 >
04981 >
04982 clear(
04983 xst_lambda_wrap< LambdaT >* plambda_
04984 )
04985 {
04986 typedef typename LambdaT::value_T object_T;
04987 typedef void result_T;
04988 typedef xst_unary_adaptor<
04989 xst_lambda_wrap<
04990 xst_scalar<
04991 xst_member_action<
04992 typename LambdaT::value_T &,
04993 std::mem_fun_t<
04994 void,
04995 typename LambdaT::value_T
04996 >,
04997 void,
04998 void
04999 >
05000 >
05001 >
05002 ,
05003 xst_dereference_policy<
05004 xst_dereference_traits<
05005 typename LambdaT::value_T,
05006 void
05007 >::capacity_,
05008 LambdaT::primitive_id_
05009 >
05010 >
05011 xst_adaptor_T;
05012
05013 return xst_adaptor_T( scalar(
05014 #ifdef CTTL_TRACE_DEPOSITS
05015 xst_traced_action(
05016 __LINE__,
05017 "void alias::clear()",
05018 #else
05019 action(
05020 #endif
05021 &plambda_->top( const_scalar( 0 ) ),
05022 ( std::mem_fun_t<
05023 result_T,
05024 object_T
05025 >
05026 ( &object_T::clear )
05027 )
05028 )
05029 ))
05030 ;
05031 }
05032
05033
05034
05035
05036
05049 template< typename LambdaT >
05050 inline
05051 xst_unary_adaptor<
05052 xst_lambda_wrap<
05053 xst_scalar<
05054 xst_member_action<
05055 typename LambdaT::value_T const&,
05056 std::const_mem_fun_t<
05057 bool,
05058 typename LambdaT::value_T
05059 >,
05060 void,
05061 bool
05062 >
05063 >
05064 >
05065 ,
05066 xst_dereference_policy<
05067 xst_dereference_traits<
05068 typename LambdaT::value_T,
05069 bool
05070 >::capacity_,
05071 LambdaT::primitive_id_
05072 >
05073 >
05074 empty(
05075 xst_lambda_wrap< LambdaT > const& lambda_
05076 )
05077 {
05078 typedef typename LambdaT::value_T object_T;
05079 typedef bool result_T;
05080 typedef xst_unary_adaptor<
05081 xst_lambda_wrap<
05082 xst_scalar<
05083 xst_member_action<
05084 typename LambdaT::value_T const&,
05085 std::const_mem_fun_t<
05086 bool,
05087 typename LambdaT::value_T
05088 >,
05089 void,
05090 bool
05091 >
05092 >
05093 >
05094 ,
05095 xst_dereference_policy<
05096 xst_dereference_traits<
05097 typename LambdaT::value_T,
05098 bool
05099 >::capacity_,
05100 LambdaT::primitive_id_
05101 >
05102 >
05103 xst_adaptor_T;
05104
05105 return xst_adaptor_T( scalar(
05106 #ifdef CTTL_TRACE_DEPOSITS
05107 xst_traced_action(
05108 __LINE__,
05109 "bool alias::empty()const",
05110 #else
05111 action(
05112 #endif
05113 lambda_.top( const_scalar( 0 ) ),
05114 ( std::const_mem_fun_t<
05115 result_T,
05116 object_T
05117 >
05118 ( &object_T::empty )
05119 )
05120 )
05121 ))
05122 ;
05123 }
05124
05125
05126
05127
05128
05142 template< typename LambdaT >
05143 inline
05144 xst_unary_adaptor<
05145 xst_lambda_wrap<
05146 xst_translator<
05147 xst_scalar< typename LambdaT::value_T::iterator >
05148 ,
05149 xst_member_action<
05150 typename LambdaT::value_T &,
05151 std::mem_fun_t<
05152 typename LambdaT::value_T::iterator,
05153 typename LambdaT::value_T
05154 >,
05155 void,
05156 typename LambdaT::value_T::iterator
05157 >
05158 >
05159 >
05160 ,
05161 xst_prefix_increment_policy<
05162 1,
05163 primitive_id_translator
05164 >
05165 >
05166 end(
05167 xst_lambda_wrap< LambdaT >* plambda_
05168 )
05169 {
05170 typedef typename LambdaT::value_T object_T;
05171 typedef typename LambdaT::value_T::iterator result_T;
05172
05173 return
05174 ++make_translator(
05175 scalar( result_T() )
05176 ,
05177 #ifdef CTTL_TRACE_DEPOSITS
05178 xst_traced_action(
05179 __LINE__,
05180 "X::iterator alias::end()",
05181 #else
05182 action(
05183 #endif
05184 &plambda_->top( const_scalar( 0 ) ),
05185 ( std::mem_fun_t<
05186 result_T,
05187 object_T
05188 >
05189 ( &object_T::end )
05190 )
05191 )
05192 )
05193 ;
05194 }
05195
05196
05197
05198
05199
05213 template< typename LambdaT, typename ArgumentT >
05214 inline
05215 xst_unary_adaptor<
05216 xst_lambda_wrap<
05217 xst_translator<
05218 xst_scalar< typename LambdaT::value_T::iterator >
05219 ,
05220 xst_member_action<
05221 typename LambdaT::value_T &,
05222 std::mem_fun1_t<
05223 typename LambdaT::value_T::iterator,
05224 typename LambdaT::value_T,
05225 ArgumentT
05226 >,
05227 ArgumentT const&,
05228 typename LambdaT::value_T::iterator
05229 >
05230 >
05231 >
05232 ,
05233 xst_prefix_increment_policy<
05234 1,
05235 primitive_id_translator
05236 >
05237 >
05238 erase(
05239 xst_lambda_wrap< LambdaT >* plambda_,
05240
05241
05242 ArgumentT const& arg_
05243 )
05244 {
05245 typedef typename LambdaT::value_T object_T;
05246 typedef typename LambdaT::value_T::iterator result_T;
05247
05248 return
05249 ++make_translator(
05250 scalar( result_T() )
05251 ,
05252 #ifdef CTTL_TRACE_DEPOSITS
05253 xst_traced_action(
05254 __LINE__,
05255 "X::iterator alias::erase(iterator)",
05256 #else
05257 action(
05258 #endif
05259 &plambda_->top( const_scalar( 0 ) ),
05260 ( std::mem_fun1_t<
05261 result_T,
05262 object_T,
05263 ArgumentT
05264 >
05265 ( &object_T::erase )
05266 ),
05267 arg_
05268 )
05269 )
05270 ;
05271 }
05272
05273
05274
05275
05276
05289 template< typename LambdaT >
05290 inline
05291 xst_unary_adaptor<
05292 xst_lambda_wrap<
05293 xst_scalar<
05294 xst_member_action<
05295 typename LambdaT::value_T &,
05296 std::mem_fun_t<
05297 typename LambdaT::value_T::reference,
05298 typename LambdaT::value_T
05299 >,
05300 void,
05301 typename LambdaT::value_T::reference
05302 >
05303 >
05304 >
05305 ,
05306 xst_dereference_policy<
05307 xst_dereference_traits<
05308 typename LambdaT::value_T,
05309 typename LambdaT::value_T::reference
05310 >::capacity_,
05311 LambdaT::primitive_id_
05312 >
05313 >
05314 front(
05315 xst_lambda_wrap< LambdaT >* plambda_
05316 )
05317 {
05318 typedef typename LambdaT::value_T object_T;
05319 typedef typename LambdaT::value_T::reference result_T;
05320 typedef xst_unary_adaptor<
05321 xst_lambda_wrap<
05322 xst_scalar<
05323 xst_member_action<
05324 typename LambdaT::value_T &,
05325 std::mem_fun_t<
05326 typename LambdaT::value_T::reference,
05327 typename LambdaT::value_T
05328 >,
05329 void,
05330 typename LambdaT::value_T::reference
05331 >
05332 >
05333 >
05334 ,
05335 xst_dereference_policy<
05336 xst_dereference_traits<
05337 typename LambdaT::value_T,
05338 typename LambdaT::value_T::reference
05339 >::capacity_,
05340 LambdaT::primitive_id_
05341 >
05342 >
05343 xst_adaptor_T;
05344
05345 return xst_adaptor_T( scalar(
05346 #ifdef CTTL_TRACE_DEPOSITS
05347 xst_traced_action(
05348 __LINE__,
05349 "X::reference alias::front()",
05350 #else
05351 action(
05352 #endif
05353 &plambda_->top( const_scalar( 0 ) ),
05354 ( std::mem_fun_t<
05355 result_T,
05356 object_T
05357 >
05358 ( &object_T::front )
05359 )
05360 )
05361 ))
05362 ;
05363 }
05364
05365
05366
05367
05368
05381 template< typename LambdaT >
05382 inline
05383 xst_unary_adaptor<
05384 xst_lambda_wrap<
05385 xst_scalar<
05386 xst_member_action<
05387 typename LambdaT::value_T const&,
05388 std::const_mem_fun_t<
05389 typename LambdaT::value_T::size_type,
05390 typename LambdaT::value_T
05391 >,
05392 void,
05393 typename LambdaT::value_T::size_type
05394 >
05395 >
05396 >
05397 ,
05398 xst_dereference_policy<
05399 xst_dereference_traits<
05400 typename LambdaT::value_T,
05401 typename LambdaT::value_T::size_type
05402 >::capacity_,
05403 LambdaT::primitive_id_
05404 >
05405 >
05406 max_size(
05407 xst_lambda_wrap< LambdaT > const& lambda_
05408 )
05409 {
05410 typedef typename LambdaT::value_T object_T;
05411 typedef typename LambdaT::value_T::size_type result_T;
05412 typedef xst_unary_adaptor<
05413 xst_lambda_wrap<
05414 xst_scalar<
05415 xst_member_action<
05416 typename LambdaT::value_T const&,
05417 std::const_mem_fun_t<
05418 typename LambdaT::value_T::size_type,
05419 typename LambdaT::value_T
05420 >,
05421 void,
05422 typename LambdaT::value_T::size_type
05423 >
05424 >
05425 >
05426 ,
05427 xst_dereference_policy<
05428 xst_dereference_traits<
05429 typename LambdaT::value_T,
05430 typename LambdaT::value_T::size_type
05431 >::capacity_,
05432 LambdaT::primitive_id_
05433 >
05434 >
05435 xst_adaptor_T;
05436
05437 return xst_adaptor_T( scalar(
05438 #ifdef CTTL_TRACE_DEPOSITS
05439 xst_traced_action(
05440 __LINE__,
05441 "X::size_type alias::max_size()const",
05442 #else
05443 action(
05444 #endif
05445 lambda_.top( const_scalar( 0 ) ),
05446 ( std::const_mem_fun_t<
05447 result_T,
05448 object_T
05449 >
05450 ( &object_T::max_size )
05451 )
05452 )
05453 ))
05454 ;
05455 }
05456
05457
05458
05459
05460
05473 template< typename LambdaT >
05474 inline
05475 xst_unary_adaptor<
05476 xst_lambda_wrap<
05477 xst_scalar<
05478 xst_member_action<
05479 typename LambdaT::value_T &,
05480 std::mem_fun_t<
05481 void,
05482 typename LambdaT::value_T
05483 >,
05484 void,
05485 void
05486 >
05487 >
05488 >
05489 ,
05490 xst_dereference_policy<
05491 xst_dereference_traits<
05492 typename LambdaT::value_T,
05493 void
05494 >::capacity_,
05495 LambdaT::primitive_id_
05496 >
05497 >
05498 pop_back(
05499 xst_lambda_wrap< LambdaT >* plambda_
05500 )
05501 {
05502 typedef typename LambdaT::value_T object_T;
05503 typedef void result_T;
05504 typedef xst_unary_adaptor<
05505 xst_lambda_wrap<
05506 xst_scalar<
05507 xst_member_action<
05508 typename LambdaT::value_T &,
05509 std::mem_fun_t<
05510 void,
05511 typename LambdaT::value_T
05512 >,
05513 void,
05514 void
05515 >
05516 >
05517 >
05518 ,
05519 xst_dereference_policy<
05520 xst_dereference_traits<
05521 typename LambdaT::value_T,
05522 void
05523 >::capacity_,
05524 LambdaT::primitive_id_
05525 >
05526 >
05527 xst_adaptor_T;
05528
05529 return xst_adaptor_T( scalar(
05530 #ifdef CTTL_TRACE_DEPOSITS
05531 xst_traced_action(
05532 __LINE__,
05533 "void alias::pop_back()",
05534 #else
05535 action(
05536 #endif
05537 &plambda_->top( const_scalar( 0 ) ),
05538 ( std::mem_fun_t<
05539 result_T,
05540 object_T
05541 >
05542 ( &object_T::pop_back )
05543 )
05544 )
05545 ))
05546 ;
05547 }
05548
05549
05550
05551
05552
05566 template< typename LambdaT, typename ArgumentT >
05567 inline
05568 xst_unary_adaptor<
05569 xst_lambda_wrap<
05570 xst_scalar<
05571 xst_member_action<
05572 typename LambdaT::value_T &,
05573 std::mem_fun1_t<
05574 void,
05575 typename LambdaT::value_T,
05576 ArgumentT const&
05577 >,
05578 ArgumentT const&,
05579 void
05580 >
05581 >
05582 >
05583 ,
05584 xst_dereference_policy<
05585 xst_dereference_traits<
05586 typename LambdaT::value_T,
05587 void
05588 >::capacity_,
05589 LambdaT::primitive_id_
05590 >
05591 >
05592 push_back(
05593 xst_lambda_wrap< LambdaT >* plambda_,
05594 ArgumentT const& arg_
05595 )
05596 {
05597 typedef typename LambdaT::value_T object_T;
05598 typedef void result_T;
05599 typedef xst_unary_adaptor<
05600 xst_lambda_wrap<
05601 xst_scalar<
05602 xst_member_action<
05603 typename LambdaT::value_T &,
05604 std::mem_fun1_t<
05605 void,
05606 typename LambdaT::value_T,
05607 ArgumentT const&
05608 >,
05609 ArgumentT const&,
05610 void
05611 >
05612 >
05613 >
05614 ,
05615 xst_dereference_policy<
05616 xst_dereference_traits<
05617 typename LambdaT::value_T,
05618 void
05619 >::capacity_,
05620 LambdaT::primitive_id_
05621 >
05622 >
05623 xst_adaptor_T;
05624
05625 return xst_adaptor_T( scalar(
05626 #ifdef CTTL_TRACE_DEPOSITS
05627 xst_traced_action(
05628 __LINE__,
05629 "void alias::push_back(value_type const&)",
05630 #else
05631 action(
05632 #endif
05633 &plambda_->top( const_scalar( 0 ) ),
05634 ( std::mem_fun1_t<
05635 result_T,
05636 object_T,
05637 ArgumentT const&
05638 >
05639 ( &object_T::push_back )
05640 ),
05641 arg_
05642 )
05643 ))
05644 ;
05645 }
05646
05647
05648
05649
05650
05664 template< typename LambdaT >
05665 inline
05666 xst_unary_adaptor<
05667 xst_lambda_wrap<
05668 xst_translator<
05669 xst_scalar< typename LambdaT::value_T::reverse_iterator >
05670 ,
05671 xst_member_action<
05672 typename LambdaT::value_T &,
05673 std::mem_fun_t<
05674 typename LambdaT::value_T::reverse_iterator,
05675 typename LambdaT::value_T
05676 >,
05677 void,
05678 typename LambdaT::value_T::reverse_iterator
05679 >
05680 >
05681 >
05682 ,
05683 xst_prefix_increment_policy<
05684 1,
05685 primitive_id_translator
05686 >
05687 >
05688 rbegin(
05689 xst_lambda_wrap< LambdaT >* plambda_
05690 )
05691 {
05692 typedef typename LambdaT::value_T object_T;
05693 typedef typename LambdaT::value_T::reverse_iterator result_T;
05694
05695 return
05696 ++make_translator(
05697 scalar( result_T() )
05698 ,
05699 #ifdef CTTL_TRACE_DEPOSITS
05700 xst_traced_action(
05701 __LINE__,
05702 "X::reverse_iterator alias::rbegin()",
05703 #else
05704 action(
05705 #endif
05706 &plambda_->top( const_scalar( 0 ) ),
05707 ( std::mem_fun_t<
05708 result_T,
05709 object_T
05710 >
05711 ( &object_T::rbegin )
05712 )
05713 )
05714 )
05715 ;
05716 }
05717
05718
05719
05720
05721
05735 template< typename LambdaT >
05736 inline
05737 xst_unary_adaptor<
05738 xst_lambda_wrap<
05739 xst_translator<
05740 xst_scalar< typename LambdaT::value_T::reverse_iterator >
05741 ,
05742 xst_member_action<
05743 typename LambdaT::value_T &,
05744 std::mem_fun_t<
05745 typename LambdaT::value_T::reverse_iterator,
05746 typename LambdaT::value_T
05747 >,
05748 void,
05749 typename LambdaT::value_T::reverse_iterator
05750 >
05751 >
05752 >
05753 ,
05754 xst_prefix_increment_policy<
05755 1,
05756 primitive_id_translator
05757 >
05758 >
05759 rend(
05760 xst_lambda_wrap< LambdaT >* plambda_
05761 )
05762 {
05763 typedef typename LambdaT::value_T object_T;
05764 typedef typename LambdaT::value_T::reverse_iterator result_T;
05765
05766 return
05767 ++make_translator(
05768 scalar( result_T() )
05769 ,
05770 #ifdef CTTL_TRACE_DEPOSITS
05771 xst_traced_action(
05772 __LINE__,
05773 "X::reverse_iterator alias::rend()",
05774 #else
05775 action(
05776 #endif
05777 &plambda_->top( const_scalar( 0 ) ),
05778 ( std::mem_fun_t<
05779 result_T,
05780 object_T
05781 >
05782 ( &object_T::rend )
05783 )
05784 )
05785 )
05786 ;
05787 }
05788
05789
05790
05791
05792
05806 template< typename LambdaT, typename ArgumentT >
05807 inline
05808 xst_unary_adaptor<
05809 xst_lambda_wrap<
05810 xst_scalar<
05811 xst_member_action<
05812 typename LambdaT::value_T &,
05813 std::mem_fun1_t<
05814 void,
05815 typename LambdaT::value_T,
05816 ArgumentT
05817 >,
05818 ArgumentT const&,
05819 void
05820 >
05821 >
05822 >
05823 ,
05824 xst_dereference_policy<
05825 xst_dereference_traits<
05826 typename LambdaT::value_T,
05827 void
05828 >::capacity_,
05829 LambdaT::primitive_id_
05830 >
05831 >
05832 resize(
05833 xst_lambda_wrap< LambdaT >* plambda_,
05834
05835
05836 ArgumentT const& arg_
05837 )
05838 {
05839 typedef typename LambdaT::value_T object_T;
05840 typedef void result_T;
05841 typedef xst_unary_adaptor<
05842 xst_lambda_wrap<
05843 xst_scalar<
05844 xst_member_action<
05845 typename LambdaT::value_T &,
05846 std::mem_fun1_t<
05847 void,
05848 typename LambdaT::value_T,
05849 ArgumentT
05850 >,
05851 ArgumentT const&,
05852 void
05853 >
05854 >
05855 >
05856 ,
05857 xst_dereference_policy<
05858 xst_dereference_traits<
05859 typename LambdaT::value_T,
05860 void
05861 >::capacity_,
05862 LambdaT::primitive_id_
05863 >
05864 >
05865 xst_adaptor_T;
05866
05867 return xst_adaptor_T( scalar(
05868 #ifdef CTTL_TRACE_DEPOSITS
05869 xst_traced_action(
05870 __LINE__,
05871 "void alias::resize(size_type)",
05872 #else
05873 action(
05874 #endif
05875 &plambda_->top( const_scalar( 0 ) ),
05876 ( std::mem_fun1_t<
05877 result_T,
05878 object_T,
05879 ArgumentT
05880 >
05881 ( &object_T::resize )
05882 ),
05883 arg_
05884 )
05885 ))
05886 ;
05887 }
05888
05889
05890
05891
05892
05906 template< typename LambdaT, typename ArgumentT >
05907 inline
05908 xst_unary_adaptor<
05909 xst_lambda_wrap<
05910 xst_scalar<
05911 xst_member_action<
05912 typename LambdaT::value_T &,
05913 std::mem_fun1_t<
05914 void,
05915 typename LambdaT::value_T,
05916 ArgumentT
05917 >,
05918 ArgumentT const&,
05919 void
05920 >
05921 >
05922 >
05923 ,
05924 xst_dereference_policy<
05925 xst_dereference_traits<
05926 typename LambdaT::value_T,
05927 void
05928 >::capacity_,
05929 LambdaT::primitive_id_
05930 >
05931 >
05932 reserve(
05933 xst_lambda_wrap< LambdaT >* plambda_,
05934
05935
05936 ArgumentT const& arg_
05937 )
05938 {
05939 typedef typename LambdaT::value_T object_T;
05940 typedef void result_T;
05941 typedef xst_unary_adaptor<
05942 xst_lambda_wrap<
05943 xst_scalar<
05944 xst_member_action<
05945 typename LambdaT::value_T &,
05946 std::mem_fun1_t<
05947 void,
05948 typename LambdaT::value_T,
05949 ArgumentT
05950 >,
05951 ArgumentT const&,
05952 void
05953 >
05954 >
05955 >
05956 ,
05957 xst_dereference_policy<
05958 xst_dereference_traits<
05959 typename LambdaT::value_T,
05960 void
05961 >::capacity_,
05962 LambdaT::primitive_id_
05963 >
05964 >
05965 xst_adaptor_T;
05966
05967 return xst_adaptor_T( scalar(
05968 #ifdef CTTL_TRACE_DEPOSITS
05969 xst_traced_action(
05970 __LINE__,
05971 "void alias::reserve(size_type)",
05972 #else
05973 action(
05974 #endif
05975 &plambda_->top( const_scalar( 0 ) ),
05976 ( std::mem_fun1_t<
05977 result_T,
05978 object_T,
05979 ArgumentT
05980 >
05981 ( &object_T::reserve )
05982 ),
05983 arg_
05984 )
05985 ))
05986 ;
05987 }
05988
05989
05990
05991
05992
06005 template< typename LambdaT >
06006 inline
06007 xst_unary_adaptor<
06008 xst_lambda_wrap<
06009 xst_scalar<
06010 xst_member_action<
06011 typename LambdaT::value_T const&,
06012 std::const_mem_fun_t<
06013 typename LambdaT::value_T::size_type,
06014 typename LambdaT::value_T
06015 >,
06016 void,
06017 typename LambdaT::value_T::size_type
06018 >
06019 >
06020 >
06021 ,
06022 xst_dereference_policy<
06023 xst_dereference_traits<
06024 typename LambdaT::value_T,
06025 typename LambdaT::value_T::size_type
06026 >::capacity_,
06027 LambdaT::primitive_id_
06028 >
06029 >
06030 size(
06031 xst_lambda_wrap< LambdaT > const& lambda_
06032 )
06033 {
06034 typedef typename LambdaT::value_T object_T;
06035 typedef typename LambdaT::value_T::size_type result_T;
06036 typedef xst_unary_adaptor<
06037 xst_lambda_wrap<
06038 xst_scalar<
06039 xst_member_action<
06040 typename LambdaT::value_T const&,
06041 std::const_mem_fun_t<
06042 typename LambdaT::value_T::size_type,
06043 typename LambdaT::value_T
06044 >,
06045 void,
06046 typename LambdaT::value_T::size_type
06047 >
06048 >
06049 >
06050 ,
06051 xst_dereference_policy<
06052 xst_dereference_traits<
06053 typename LambdaT::value_T,
06054 typename LambdaT::value_T::size_type
06055 >::capacity_,
06056 LambdaT::primitive_id_
06057 >
06058 >
06059 xst_adaptor_T;
06060
06061 return xst_adaptor_T( scalar(
06062 #ifdef CTTL_TRACE_DEPOSITS
06063 xst_traced_action(
06064 __LINE__,
06065 "X::size_type alias::size()const",
06066 #else
06067 action(
06068 #endif
06069 lambda_.top( const_scalar( 0 ) ),
06070 ( std::const_mem_fun_t<
06071 result_T,
06072 object_T
06073 >
06074 ( &object_T::size )
06075 )
06076 )
06077 ))
06078 ;
06079 }
06080
06081
06082
06083
06084
06098 template< typename LambdaT, typename ArgumentT >
06099 inline
06100 xst_unary_adaptor<
06101 xst_lambda_wrap<
06102 xst_scalar<
06103 xst_member_action<
06104 typename LambdaT::value_T &,
06105 std::mem_fun1_t<
06106 void,
06107 typename LambdaT::value_T,
06108 ArgumentT&
06109 >,
06110 ArgumentT&,
06111 void
06112 >
06113 >
06114 >
06115 ,
06116 xst_dereference_policy<
06117 xst_dereference_traits<
06118 typename LambdaT::value_T,
06119 void
06120 >::capacity_,
06121 LambdaT::primitive_id_
06122 >
06123 >
06124 swap(
06125 xst_lambda_wrap< LambdaT >* plambda_,
06126
06127 ArgumentT* parg_
06128 )
06129 {
06130 typedef typename LambdaT::value_T object_T;
06131 typedef void result_T;
06132 typedef xst_unary_adaptor<
06133 xst_lambda_wrap<
06134 xst_scalar<
06135 xst_member_action<
06136 typename LambdaT::value_T &,
06137 std::mem_fun1_t<
06138 void,
06139 typename LambdaT::value_T,
06140 ArgumentT&
06141 >,
06142 ArgumentT&,
06143 void
06144 >
06145 >
06146 >
06147 ,
06148 xst_dereference_policy<
06149 xst_dereference_traits<
06150 typename LambdaT::value_T,
06151 void
06152 >::capacity_,
06153 LambdaT::primitive_id_
06154 >
06155 >
06156 xst_adaptor_T;
06157
06158 return xst_adaptor_T( scalar(
06159 #ifdef CTTL_TRACE_DEPOSITS
06160 xst_traced_action(
06161 __LINE__,
06162 "void alias::swap(vector&)",
06163 #else
06164 action(
06165 #endif
06166 &plambda_->top( const_scalar( 0 ) ),
06167 ( std::mem_fun1_t<
06168 result_T,
06169 object_T,
06170 ArgumentT&
06171 >
06172 ( &object_T::swap )
06173 ),
06174
06175
06176 parg_
06177 )
06178 ))
06179 ;
06180 }
06181
06182
06183
06184
06185
06186
06187
06200 template< typename LambdaT >
06201 inline
06202 xst_unary_adaptor<
06203 xst_lambda_wrap<
06204 xst_scalar<
06205 xst_member_action<
06206 typename LambdaT::value_T &,
06207 std::mem_fun_t<
06208 void,
06209 typename LambdaT::value_T
06210 >,
06211 void,
06212 void
06213 >
06214 >
06215 >
06216 ,
06217 xst_dereference_policy<
06218 xst_dereference_traits<
06219 typename LambdaT::value_T,
06220 void
06221 >::capacity_,
06222 LambdaT::primitive_id_
06223 >
06224 >
06225 pop_front(
06226 xst_lambda_wrap< LambdaT >* plambda_
06227 )
06228 {
06229 typedef typename LambdaT::value_T object_T;
06230 typedef void result_T;
06231 typedef xst_unary_adaptor<
06232 xst_lambda_wrap<
06233 xst_scalar<
06234 xst_member_action<
06235 typename LambdaT::value_T &,
06236 std::mem_fun_t<
06237 void,
06238 typename LambdaT::value_T
06239 >,
06240 void,
06241 void
06242 >
06243 >
06244 >
06245 ,
06246 xst_dereference_policy<
06247 xst_dereference_traits<
06248 typename LambdaT::value_T,
06249 void
06250 >::capacity_,
06251 LambdaT::primitive_id_
06252 >
06253 >
06254 xst_adaptor_T;
06255
06256 return xst_adaptor_T( scalar(
06257 #ifdef CTTL_TRACE_DEPOSITS
06258 xst_traced_action(
06259 __LINE__,
06260 "void alias::pop_front()",
06261 #else
06262 action(
06263 #endif
06264 &plambda_->top( const_scalar( 0 ) ),
06265 ( std::mem_fun_t<
06266 result_T,
06267 object_T
06268 >
06269 ( &object_T::pop_front )
06270 )
06271 )
06272 ))
06273 ;
06274 }
06275
06276
06277
06278
06279
06293 template< typename LambdaT, typename ArgumentT >
06294 inline
06295 xst_unary_adaptor<
06296 xst_lambda_wrap<
06297 xst_scalar<
06298 xst_member_action<
06299 typename LambdaT::value_T &,
06300 std::mem_fun1_t<
06301 void,
06302 typename LambdaT::value_T,
06303 ArgumentT const&
06304 >,
06305 ArgumentT const&,
06306 void
06307 >
06308 >
06309 >
06310 ,
06311 xst_dereference_policy<
06312 xst_dereference_traits<
06313 typename LambdaT::value_T,
06314 void
06315 >::capacity_,
06316 LambdaT::primitive_id_
06317 >
06318 >
06319 push_front(
06320 xst_lambda_wrap< LambdaT >* plambda_,
06321 ArgumentT const& arg_
06322 )
06323 {
06324 typedef typename LambdaT::value_T object_T;
06325 typedef void result_T;
06326 typedef xst_unary_adaptor<
06327 xst_lambda_wrap<
06328 xst_scalar<
06329 xst_member_action<
06330 typename LambdaT::value_T &,
06331 std::mem_fun1_t<
06332 void,
06333 typename LambdaT::value_T,
06334 ArgumentT const&
06335 >,
06336 ArgumentT const&,
06337 void
06338 >
06339 >
06340 >
06341 ,
06342 xst_dereference_policy<
06343 xst_dereference_traits<
06344 typename LambdaT::value_T,
06345 void
06346 >::capacity_,
06347 LambdaT::primitive_id_
06348 >
06349 >
06350 xst_adaptor_T;
06351
06352 return xst_adaptor_T( scalar(
06353 #ifdef CTTL_TRACE_DEPOSITS
06354 xst_traced_action(
06355 __LINE__,
06356 "void alias::push_front(value_type const&)",
06357 #else
06358 action(
06359 #endif
06360 &plambda_->top( const_scalar( 0 ) ),
06361 ( std::mem_fun1_t<
06362 result_T,
06363 object_T,
06364 ArgumentT const&
06365 >
06366 ( &object_T::push_front )
06367 ),
06368 arg_
06369 )
06370 ))
06371 ;
06372 }
06373
06374
06375
06376
06377
06378
06379
06393 template< typename LambdaT, typename ArgumentT >
06394 inline
06395 xst_unary_adaptor<
06396 xst_lambda_wrap<
06397 xst_scalar<
06398 xst_member_action<
06399 typename LambdaT::value_T &,
06400 std::mem_fun1_t<
06401 void,
06402 typename LambdaT::value_T,
06403 ArgumentT const&
06404 >,
06405 ArgumentT const&,
06406 void
06407 >
06408 >
06409 >
06410 ,
06411 xst_dereference_policy<
06412 xst_dereference_traits<
06413 typename LambdaT::value_T,
06414 void
06415 >::capacity_,
06416 LambdaT::primitive_id_
06417 >
06418 >
06419 remove(
06420 xst_lambda_wrap< LambdaT >* plambda_,
06421 ArgumentT const& arg_
06422 )
06423 {
06424 typedef typename LambdaT::value_T object_T;
06425 typedef void result_T;
06426 typedef xst_unary_adaptor<
06427 xst_lambda_wrap<
06428 xst_scalar<
06429 xst_member_action<
06430 typename LambdaT::value_T &,
06431 std::mem_fun1_t<
06432 void,
06433 typename LambdaT::value_T,
06434 ArgumentT const&
06435 >,
06436 ArgumentT const&,
06437 void
06438 >
06439 >
06440 >
06441 ,
06442 xst_dereference_policy<
06443 xst_dereference_traits<
06444 typename LambdaT::value_T,
06445 void
06446 >::capacity_,
06447 LambdaT::primitive_id_
06448 >
06449 >
06450 xst_adaptor_T;
06451
06452 return xst_adaptor_T( scalar(
06453 #ifdef CTTL_TRACE_DEPOSITS
06454 xst_traced_action(
06455 __LINE__,
06456 "void alias::remove(value_type const&)",
06457 #else
06458 action(
06459 #endif
06460 &plambda_->top( const_scalar( 0 ) ),
06461 ( std::mem_fun1_t<
06462 result_T,
06463 object_T,
06464 ArgumentT const&
06465 >
06466 ( &object_T::remove )
06467 ),
06468 arg_
06469 )
06470 ))
06471 ;
06472 }
06473
06474
06475
06476
06477
06490 template< typename LambdaT >
06491 inline
06492 xst_unary_adaptor<
06493 xst_lambda_wrap<
06494 xst_scalar<
06495 xst_member_action<
06496 typename LambdaT::value_T &,
06497 std::mem_fun_t<
06498 void,
06499 typename LambdaT::value_T
06500 >,
06501 void,
06502 void
06503 >
06504 >
06505 >
06506 ,
06507 xst_dereference_policy<
06508 xst_dereference_traits<
06509 typename LambdaT::value_T,
06510 void
06511 >::capacity_,
06512 LambdaT::primitive_id_
06513 >
06514 >
06515 reverse(
06516 xst_lambda_wrap< LambdaT >* plambda_
06517 )
06518 {
06519 typedef typename LambdaT::value_T object_T;
06520 typedef void result_T;
06521 typedef xst_unary_adaptor<
06522 xst_lambda_wrap<
06523 xst_scalar<
06524 xst_member_action<
06525 typename LambdaT::value_T &,
06526 std::mem_fun_t<
06527 void,
06528 typename LambdaT::value_T
06529 >,
06530 void,
06531 void
06532 >
06533 >
06534 >
06535 ,
06536 xst_dereference_policy<
06537 xst_dereference_traits<
06538 typename LambdaT::value_T,
06539 void
06540 >::capacity_,
06541 LambdaT::primitive_id_
06542 >
06543 >
06544 xst_adaptor_T;
06545
06546 return xst_adaptor_T( scalar(
06547 #ifdef CTTL_TRACE_DEPOSITS
06548 xst_traced_action(
06549 __LINE__,
06550 "void alias::reverse()",
06551 #else
06552 action(
06553 #endif
06554 &plambda_->top( const_scalar( 0 ) ),
06555 ( std::mem_fun_t<
06556 result_T,
06557 object_T
06558 >
06559 ( &object_T::reverse )
06560 )
06561 )
06562 ))
06563 ;
06564 }
06565
06566
06567
06568
06569
06582 template< typename LambdaT >
06583 inline
06584 xst_unary_adaptor<
06585 xst_lambda_wrap<
06586 xst_scalar<
06587 xst_member_action<
06588 typename LambdaT::value_T &,
06589 std::mem_fun_t<
06590 void,
06591 typename LambdaT::value_T
06592 >,
06593 void,
06594 void
06595 >
06596 >
06597 >
06598 ,
06599 xst_dereference_policy<
06600 xst_dereference_traits<
06601 typename LambdaT::value_T,
06602 void
06603 >::capacity_,
06604 LambdaT::primitive_id_
06605 >
06606 >
06607 sort(
06608 xst_lambda_wrap< LambdaT >* plambda_
06609 )
06610 {
06611 typedef typename LambdaT::value_T object_T;
06612 typedef void result_T;
06613 typedef xst_unary_adaptor<
06614 xst_lambda_wrap<
06615 xst_scalar<
06616 xst_member_action<
06617 typename LambdaT::value_T &,
06618 std::mem_fun_t<
06619 void,
06620 typename LambdaT::value_T
06621 >,
06622 void,
06623 void
06624 >
06625 >
06626 >
06627 ,
06628 xst_dereference_policy<
06629 xst_dereference_traits<
06630 typename LambdaT::value_T,
06631 void
06632 >::capacity_,
06633 LambdaT::primitive_id_
06634 >
06635 >
06636 xst_adaptor_T;
06637
06638 return xst_adaptor_T( scalar(
06639 #ifdef CTTL_TRACE_DEPOSITS
06640 xst_traced_action(
06641 __LINE__,
06642 "void alias::sort()",
06643 #else
06644 action(
06645 #endif
06646 &plambda_->top( const_scalar( 0 ) ),
06647 ( std::mem_fun_t<
06648 result_T,
06649 object_T
06650 >
06651 ( &object_T::sort )
06652 )
06653 )
06654 ))
06655 ;
06656 }
06657
06658
06659
06660
06661
06674 template< typename LambdaT >
06675 inline
06676 xst_unary_adaptor<
06677 xst_lambda_wrap<
06678 xst_scalar<
06679 xst_member_action<
06680 typename LambdaT::value_T &,
06681 std::mem_fun_t<
06682 void,
06683 typename LambdaT::value_T
06684 >,
06685 void,
06686 void
06687 >
06688 >
06689 >
06690 ,
06691 xst_dereference_policy<
06692 xst_dereference_traits<
06693 typename LambdaT::value_T,
06694 void
06695 >::capacity_,
06696 LambdaT::primitive_id_
06697 >
06698 >
06699 unique(
06700 xst_lambda_wrap< LambdaT >* plambda_
06701 )
06702 {
06703 typedef typename LambdaT::value_T object_T;
06704 typedef void result_T;
06705 typedef xst_unary_adaptor<
06706 xst_lambda_wrap<
06707 xst_scalar<
06708 xst_member_action<
06709 typename LambdaT::value_T &,
06710 std::mem_fun_t<
06711 void,
06712 typename LambdaT::value_T
06713 >,
06714 void,
06715 void
06716 >
06717 >
06718 >
06719 ,
06720 xst_dereference_policy<
06721 xst_dereference_traits<
06722 typename LambdaT::value_T,
06723 void
06724 >::capacity_,
06725 LambdaT::primitive_id_
06726 >
06727 >
06728 xst_adaptor_T;
06729
06730 return xst_adaptor_T( scalar(
06731 #ifdef CTTL_TRACE_DEPOSITS
06732 xst_traced_action(
06733 __LINE__,
06734 "void alias::unique()",
06735 #else
06736 action(
06737 #endif
06738 &plambda_->top( const_scalar( 0 ) ),
06739 ( std::mem_fun_t<
06740 result_T,
06741 object_T
06742 >
06743 ( &object_T::unique )
06744 )
06745 )
06746 ))
06747 ;
06748 }
06749
06750
06751
06752
06753
06767 template< typename LambdaT, typename ArgumentT >
06768 inline
06769 xst_unary_adaptor<
06770 xst_lambda_wrap<
06771 xst_scalar<
06772 xst_member_action<
06773 typename LambdaT::value_T &,
06774 std::mem_fun1_t<
06775 void,
06776 typename LambdaT::value_T,
06777 ArgumentT&
06778 >,
06779 ArgumentT&,
06780 void
06781 >
06782 >
06783 >
06784 ,
06785 xst_dereference_policy<
06786 xst_dereference_traits<
06787 typename LambdaT::value_T,
06788 void
06789 >::capacity_,
06790 LambdaT::primitive_id_
06791 >
06792 >
06793 merge(
06794 xst_lambda_wrap< LambdaT >* plambda_,
06795
06796 ArgumentT* parg_
06797 )
06798 {
06799 typedef typename LambdaT::value_T object_T;
06800 typedef void result_T;
06801 typedef xst_unary_adaptor<
06802 xst_lambda_wrap<
06803 xst_scalar<
06804 xst_member_action<
06805 typename LambdaT::value_T &,
06806 std::mem_fun1_t<
06807 void,
06808 typename LambdaT::value_T,
06809 ArgumentT&
06810 >,
06811 ArgumentT&,
06812 void
06813 >
06814 >
06815 >
06816 ,
06817 xst_dereference_policy<
06818 xst_dereference_traits<
06819 typename LambdaT::value_T,
06820 void
06821 >::capacity_,
06822 LambdaT::primitive_id_
06823 >
06824 >
06825 xst_adaptor_T;
06826
06827 return xst_adaptor_T( scalar(
06828 #ifdef CTTL_TRACE_DEPOSITS
06829 xst_traced_action(
06830 __LINE__,
06831 "void alias::merge(list&)",
06832 #else
06833 action(
06834 #endif
06835 &plambda_->top( const_scalar( 0 ) ),
06836 ( std::mem_fun1_t<
06837 result_T,
06838 object_T,
06839 ArgumentT&
06840 >
06841 ( &object_T::merge )
06842 ),
06843
06844
06845 parg_
06846 )
06847 ))
06848 ;
06849 }
06850
06851
06852 namespace associative {
06853
06854
06855
06856
06870 template< typename LambdaT, typename ArgumentT >
06871 inline
06872 xst_unary_adaptor<
06873 xst_lambda_wrap<
06874 xst_scalar<
06875 xst_member_action<
06876 typename LambdaT::value_T const&,
06877 std::const_mem_fun1_t<
06878 typename LambdaT::value_T::size_type,
06879 typename LambdaT::value_T,
06880 ArgumentT const&
06881 >,
06882 ArgumentT const&,
06883 typename LambdaT::value_T::size_type
06884 >
06885 >
06886 >
06887 ,
06888 xst_dereference_policy<
06889 xst_dereference_traits<
06890 typename LambdaT::value_T,
06891 typename LambdaT::value_T::size_type
06892 >::capacity_,
06893 LambdaT::primitive_id_
06894 >
06895 >
06896 count(
06897 xst_lambda_wrap< LambdaT > const& lambda_,
06898 ArgumentT const& arg_
06899 )
06900 {
06901 typedef typename LambdaT::value_T object_T;
06902 typedef typename LambdaT::value_T::size_type result_T;
06903 typedef xst_unary_adaptor<
06904 xst_lambda_wrap<
06905 xst_scalar<
06906 xst_member_action<
06907 typename LambdaT::value_T const&,
06908 std::const_mem_fun1_t<
06909 typename LambdaT::value_T::size_type,
06910 typename LambdaT::value_T,
06911 ArgumentT const&
06912 >,
06913 ArgumentT const&,
06914 typename LambdaT::value_T::size_type
06915 >
06916 >
06917 >
06918 ,
06919 xst_dereference_policy<
06920 xst_dereference_traits<
06921 typename LambdaT::value_T,
06922 typename LambdaT::value_T::size_type
06923 >::capacity_,
06924 LambdaT::primitive_id_
06925 >
06926 >
06927 xst_adaptor_T;
06928
06929 return xst_adaptor_T( scalar(
06930 #ifdef CTTL_TRACE_DEPOSITS
06931 xst_traced_action(
06932 __LINE__,
06933 "X::size_type alias::associative::count(key_type const&)const",
06934 #else
06935 action(
06936 #endif
06937 lambda_.top( const_scalar( 0 ) ),
06938 ( std::const_mem_fun1_t<
06939 result_T,
06940 object_T,
06941 ArgumentT const&
06942 >
06943 ( &object_T::count )
06944 ),
06945 arg_
06946 )
06947 ))
06948 ;
06949 }
06950
06951
06952
06953
06954
06968 template< typename LambdaT, typename ArgumentT >
06969 inline
06970 xst_unary_adaptor<
06971 xst_lambda_wrap<
06972 xst_scalar<
06973 xst_member_action<
06974 typename LambdaT::value_T &,
06975 std::mem_fun1_t<
06976 typename LambdaT::value_T::size_type,
06977 typename LambdaT::value_T,
06978 ArgumentT const&
06979 >,
06980 ArgumentT const&,
06981 typename LambdaT::value_T::size_type
06982 >
06983 >
06984 >
06985 ,
06986 xst_dereference_policy<
06987 xst_dereference_traits<
06988 typename LambdaT::value_T,
06989 typename LambdaT::value_T::size_type
06990 >::capacity_,
06991 LambdaT::primitive_id_
06992 >
06993 >
06994 erase(
06995 xst_lambda_wrap< LambdaT >* plambda_,
06996 ArgumentT const& arg_
06997 )
06998 {
06999 typedef typename LambdaT::value_T object_T;
07000 typedef typename LambdaT::value_T::size_type result_T;
07001 typedef xst_unary_adaptor<
07002 xst_lambda_wrap<
07003 xst_scalar<
07004 xst_member_action<
07005 typename LambdaT::value_T &,
07006 std::mem_fun1_t<
07007 typename LambdaT::value_T::size_type,
07008 typename LambdaT::value_T,
07009 ArgumentT const&
07010 >,
07011 ArgumentT const&,
07012 typename LambdaT::value_T::size_type
07013 >
07014 >
07015 >
07016 ,
07017 xst_dereference_policy<
07018 xst_dereference_traits<
07019 typename LambdaT::value_T,
07020 typename LambdaT::value_T::size_type
07021 >::capacity_,
07022 LambdaT::primitive_id_
07023 >
07024 >
07025 xst_adaptor_T;
07026
07027 return xst_adaptor_T( scalar(
07028 #ifdef CTTL_TRACE_DEPOSITS
07029 xst_traced_action(
07030 __LINE__,
07031 "X::size_type alias::associative::erase(key_type const&)",
07032 #else
07033 action(
07034 #endif
07035 &plambda_->top( const_scalar( 0 ) ),
07036 ( std::mem_fun1_t<
07037 result_T,
07038 object_T,
07039 ArgumentT const&
07040 >
07041 ( &object_T::erase )
07042 ),
07043 arg_
07044 )
07045 ))
07046 ;
07047 }
07048
07049 }
07050
07051
07052
07053
07054
07068 template< typename LambdaT, typename ArgumentT >
07069 inline
07070 xst_unary_adaptor<
07071 xst_lambda_wrap<
07072 xst_translator<
07073 xst_scalar< typename LambdaT::value_T::iterator >
07074 ,
07075 xst_member_action<
07076 typename LambdaT::value_T &,
07077 std::mem_fun1_t<
07078 typename LambdaT::value_T::iterator,
07079 typename LambdaT::value_T,
07080 ArgumentT const&
07081 >,
07082 ArgumentT const&,
07083 typename LambdaT::value_T::iterator
07084 >
07085 >
07086 >
07087 ,
07088 xst_prefix_increment_policy<
07089 1,
07090 primitive_id_translator
07091 >
07092 >
07093 find(
07094 xst_lambda_wrap< LambdaT >* plambda_,
07095 ArgumentT const& arg_
07096 )
07097 {
07098 typedef typename LambdaT::value_T object_T;
07099 typedef typename LambdaT::value_T::iterator result_T;
07100
07101 return
07102 ++make_translator(
07103 scalar( result_T() )
07104 ,
07105 #ifdef CTTL_TRACE_DEPOSITS
07106 xst_traced_action(
07107 __LINE__,
07108 "X::iterator alias::find(key_type const&)",
07109 #else
07110 action(
07111 #endif
07112 &plambda_->top( const_scalar( 0 ) ),
07113 ( std::mem_fun1_t<
07114 result_T,
07115 object_T,
07116 ArgumentT const&
07117 >
07118 ( &object_T::find )
07119 ),
07120 arg_
07121 )
07122 )
07123 ;
07124 }
07125
07126
07127
07128
07129
07143 template< typename LambdaT, typename ArgumentT >
07144 inline
07145 xst_unary_adaptor<
07146 xst_lambda_wrap<
07147 xst_translator<
07148 xst_scalar< typename LambdaT::value_T::iterator >
07149 ,
07150 xst_member_action<
07151 typename LambdaT::value_T &,
07152 std::mem_fun1_t<
07153 typename LambdaT::value_T::iterator,
07154 typename LambdaT::value_T,
07155 ArgumentT const&
07156 >,
07157 ArgumentT const&,
07158 typename LambdaT::value_T::iterator
07159 >
07160 >
07161 >
07162 ,
07163 xst_prefix_increment_policy<
07164 1,
07165 primitive_id_translator
07166 >
07167 >
07168 lower_bound(
07169 xst_lambda_wrap< LambdaT >* plambda_,
07170 ArgumentT const& arg_
07171 )
07172 {
07173 typedef typename LambdaT::value_T object_T;
07174 typedef typename LambdaT::value_T::iterator result_T;
07175
07176 return
07177 ++make_translator(
07178 scalar( result_T() )
07179 ,
07180 #ifdef CTTL_TRACE_DEPOSITS
07181 xst_traced_action(
07182 __LINE__,
07183 "X::iterator alias::lower_bound(key_type const&)",
07184 #else
07185 action(
07186 #endif
07187 &plambda_->top( const_scalar( 0 ) ),
07188 ( std::mem_fun1_t<
07189 result_T,
07190 object_T,
07191 ArgumentT const&
07192 >
07193 ( &object_T::lower_bound )
07194 ),
07195 arg_
07196 )
07197 )
07198 ;
07199 }
07200
07201
07202
07203
07204
07218 template< typename LambdaT, typename ArgumentT >
07219 inline
07220 xst_unary_adaptor<
07221 xst_lambda_wrap<
07222 xst_translator<
07223 xst_scalar< typename LambdaT::value_T::iterator >
07224 ,
07225 xst_member_action<
07226 typename LambdaT::value_T &,
07227 std::mem_fun1_t<
07228 typename LambdaT::value_T::iterator,
07229 typename LambdaT::value_T,
07230 ArgumentT const&
07231 >,
07232 ArgumentT const&,
07233 typename LambdaT::value_T::iterator
07234 >
07235 >
07236 >
07237 ,
07238 xst_prefix_increment_policy<
07239 1,
07240 primitive_id_translator
07241 >
07242 >
07243 upper_bound(
07244 xst_lambda_wrap< LambdaT >* plambda_,
07245 ArgumentT const& arg_
07246 )
07247 {
07248 typedef typename LambdaT::value_T object_T;
07249 typedef typename LambdaT::value_T::iterator result_T;
07250
07251 return
07252 ++make_translator(
07253 scalar( result_T() )
07254 ,
07255 #ifdef CTTL_TRACE_DEPOSITS
07256 xst_traced_action(
07257 __LINE__,
07258 "X::iterator alias::upper_bound(key_type const&)",
07259 #else
07260 action(
07261 #endif
07262 &plambda_->top( const_scalar( 0 ) ),
07263 ( std::mem_fun1_t<
07264 result_T,
07265 object_T,
07266 ArgumentT const&
07267 >
07268 ( &object_T::upper_bound )
07269 ),
07270 arg_
07271 )
07272 )
07273 ;
07274 }
07275
07276
07277
07278
07279
07293 template< typename LambdaT, typename ArgumentT >
07294 inline
07295 xst_unary_adaptor<
07296 xst_lambda_wrap<
07297 xst_scalar<
07298 xst_member_action<
07299 typename LambdaT::value_T &,
07300 std::mem_fun1_t<
07301 std::pair< typename LambdaT::value_T::iterator, bool >,
07302 typename LambdaT::value_T,
07303 ArgumentT const&
07304 >,
07305 ArgumentT const&,
07306 std::pair< typename LambdaT::value_T::iterator, bool >
07307 >
07308 >
07309 >
07310 ,
07311 xst_dereference_policy<
07312 xst_dereference_traits<
07313 typename LambdaT::value_T,
07314 std::pair< typename LambdaT::value_T::iterator, bool >
07315 >::capacity_,
07316 LambdaT::primitive_id_
07317 >
07318 >
07319 insert(
07320 xst_lambda_wrap< LambdaT >* plambda_,
07321 ArgumentT const& arg_
07322 )
07323 {
07324 typedef typename LambdaT::value_T object_T;
07325 typedef std::pair< typename LambdaT::value_T::iterator, bool > result_T;
07326 typedef xst_unary_adaptor<
07327 xst_lambda_wrap<
07328 xst_scalar<
07329 xst_member_action<
07330 typename LambdaT::value_T &,
07331 std::mem_fun1_t<
07332 std::pair< typename LambdaT::value_T::iterator, bool >,
07333 typename LambdaT::value_T,
07334 ArgumentT const&
07335 >,
07336 ArgumentT const&,
07337 std::pair< typename LambdaT::value_T::iterator, bool >
07338 >
07339 >
07340 >
07341 ,
07342 xst_dereference_policy<
07343 xst_dereference_traits<
07344 typename LambdaT::value_T,
07345 std::pair< typename LambdaT::value_T::iterator, bool >
07346 >::capacity_,
07347 LambdaT::primitive_id_
07348 >
07349 >
07350 xst_adaptor_T;
07351
07352 return xst_adaptor_T( scalar(
07353 #ifdef CTTL_TRACE_DEPOSITS
07354 xst_traced_action(
07355 __LINE__,
07356 "std::pair< typename LambdaT::value_T::iterator, bool > alias::insert(value_type const&)",
07357 #else
07358 action(
07359 #endif
07360 &plambda_->top( const_scalar( 0 ) ),
07361 ( std::mem_fun1_t<
07362 result_T,
07363 object_T,
07364 ArgumentT const&
07365 >
07366 ( &object_T::insert )
07367 ),
07368 arg_
07369 )
07370 ))
07371 ;
07372 }
07373
07374
07375
07376
07377
07391 template< typename LambdaT, typename ArgumentT >
07392 inline
07393 xst_unary_adaptor<
07394 xst_lambda_wrap<
07395 xst_scalar<
07396 xst_member_action<
07397 typename LambdaT::value_T &,
07398 std::mem_fun1_t<
07399 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >,
07400 typename LambdaT::value_T,
07401 ArgumentT const&
07402 >,
07403 ArgumentT const&,
07404 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >
07405 >
07406 >
07407 >
07408 ,
07409 xst_dereference_policy<
07410 xst_dereference_traits<
07411 typename LambdaT::value_T,
07412 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >
07413 >::capacity_,
07414 LambdaT::primitive_id_
07415 >
07416 >
07417 equal_range(
07418 xst_lambda_wrap< LambdaT >* plambda_,
07419 ArgumentT const& arg_
07420 )
07421 {
07422 typedef typename LambdaT::value_T object_T;
07423 typedef std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator > result_T;
07424 typedef xst_unary_adaptor<
07425 xst_lambda_wrap<
07426 xst_scalar<
07427 xst_member_action<
07428 typename LambdaT::value_T &,
07429 std::mem_fun1_t<
07430 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >,
07431 typename LambdaT::value_T,
07432 ArgumentT const&
07433 >,
07434 ArgumentT const&,
07435 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >
07436 >
07437 >
07438 >
07439 ,
07440 xst_dereference_policy<
07441 xst_dereference_traits<
07442 typename LambdaT::value_T,
07443 std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator >
07444 >::capacity_,
07445 LambdaT::primitive_id_
07446 >
07447 >
07448 xst_adaptor_T;
07449
07450 return xst_adaptor_T( scalar(
07451 #ifdef CTTL_TRACE_DEPOSITS
07452 xst_traced_action(
07453 __LINE__,
07454 "std::pair< typename LambdaT::value_T::iterator, typename LambdaT::value_T::iterator > alias::equal_range(key_type const&)",
07455 #else
07456 action(
07457 #endif
07458 &plambda_->top( const_scalar( 0 ) ),
07459 ( std::mem_fun1_t<
07460 result_T,
07461 object_T,
07462 ArgumentT const&
07463 >
07464 ( &object_T::equal_range )
07465 ),
07466 arg_
07467 )
07468 ))
07469 ;
07470 }
07471
07472
07473
07474
07475 namespace queue {
07476
07477
07478
07479
07492 template< typename LambdaT >
07493 inline
07494 xst_unary_adaptor<
07495 xst_lambda_wrap<
07496 xst_scalar<
07497 xst_member_action<
07498 typename LambdaT::value_T &,
07499 std::mem_fun_t<
07500 typename LambdaT::value_T::value_type&,
07501 typename LambdaT::value_T
07502 >,
07503 void,
07504 typename LambdaT::value_T::value_type&
07505 >
07506 >
07507 >
07508 ,
07509 xst_dereference_policy<
07510 xst_dereference_traits<
07511 typename LambdaT::value_T,
07512 typename LambdaT::value_T::value_type&
07513 >::capacity_,
07514 LambdaT::primitive_id_
07515 >
07516 >
07517 back(
07518 xst_lambda_wrap< LambdaT >* plambda_
07519 )
07520 {
07521 typedef typename LambdaT::value_T object_T;
07522 typedef typename LambdaT::value_T::value_type& result_T;
07523 typedef xst_unary_adaptor<
07524 xst_lambda_wrap<
07525 xst_scalar<
07526 xst_member_action<
07527 typename LambdaT::value_T &,
07528 std::mem_fun_t<
07529 typename LambdaT::value_T::value_type&,
07530 typename LambdaT::value_T
07531 >,
07532 void,
07533 typename LambdaT::value_T::value_type&
07534 >
07535 >
07536 >
07537 ,
07538 xst_dereference_policy<
07539 xst_dereference_traits<
07540 typename LambdaT::value_T,
07541 typename LambdaT::value_T::value_type&
07542 >::capacity_,
07543 LambdaT::primitive_id_
07544 >
07545 >
07546 xst_adaptor_T;
07547
07548 return xst_adaptor_T( scalar(
07549 #ifdef CTTL_TRACE_DEPOSITS
07550 xst_traced_action(
07551 __LINE__,
07552 "X::value_type& alias::queue::back()",
07553 #else
07554 action(
07555 #endif
07556 &plambda_->top( const_scalar( 0 ) ),
07557 ( std::mem_fun_t<
07558 result_T,
07559 object_T
07560 >
07561 ( &object_T::back )
07562 )
07563 )
07564 ))
07565 ;
07566 }
07567
07568
07569
07570
07571
07584 template< typename LambdaT >
07585 inline
07586 xst_unary_adaptor<
07587 xst_lambda_wrap<
07588 xst_scalar<
07589 xst_member_action<
07590 typename LambdaT::value_T &,
07591 std::mem_fun_t<
07592 typename LambdaT::value_T::value_type&,
07593 typename LambdaT::value_T
07594 >,
07595 void,
07596 typename LambdaT::value_T::value_type&
07597 >
07598 >
07599 >
07600 ,
07601 xst_dereference_policy<
07602 xst_dereference_traits<
07603 typename LambdaT::value_T,
07604 typename LambdaT::value_T::value_type&
07605 >::capacity_,
07606 LambdaT::primitive_id_
07607 >
07608 >
07609 front(
07610 xst_lambda_wrap< LambdaT >* plambda_
07611 )
07612 {
07613 typedef typename LambdaT::value_T object_T;
07614 typedef typename LambdaT::value_T::value_type& result_T;
07615 typedef xst_unary_adaptor<
07616 xst_lambda_wrap<
07617 xst_scalar<
07618 xst_member_action<
07619 typename LambdaT::value_T &,
07620 std::mem_fun_t<
07621 typename LambdaT::value_T::value_type&,
07622 typename LambdaT::value_T
07623 >,
07624 void,
07625 typename LambdaT::value_T::value_type&
07626 >
07627 >
07628 >
07629 ,
07630 xst_dereference_policy<
07631 xst_dereference_traits<
07632 typename LambdaT::value_T,
07633 typename LambdaT::value_T::value_type&
07634 >::capacity_,
07635 LambdaT::primitive_id_
07636 >
07637 >
07638 xst_adaptor_T;
07639
07640 return xst_adaptor_T( scalar(
07641 #ifdef CTTL_TRACE_DEPOSITS
07642 xst_traced_action(
07643 __LINE__,
07644 "X::value_type& alias::queue::front()",
07645 #else
07646 action(
07647 #endif
07648 &plambda_->top( const_scalar( 0 ) ),
07649 ( std::mem_fun_t<
07650 result_T,
07651 object_T
07652 >
07653 ( &object_T::front )
07654 )
07655 )
07656 ))
07657 ;
07658 }
07659
07660 }
07661
07662
07663
07664
07665
07666
07680 template< typename LambdaT, typename ArgumentT >
07681 inline
07682 xst_unary_adaptor<
07683 xst_lambda_wrap<
07684 xst_translator<
07685 xst_scalar< typename LambdaT::value_T::iterator >
07686 ,
07687 xst_member_action<
07688 typename LambdaT::value_T &,
07689 std::mem_fun1_t<
07690 typename LambdaT::value_T::iterator,
07691 typename LambdaT::value_T,
07692 ArgumentT
07693 >,
07694 ArgumentT const&,
07695 typename LambdaT::value_T::iterator
07696 >
07697 >
07698 >
07699 ,
07700 xst_prefix_increment_policy<
07701 1,
07702 primitive_id_translator
07703 >
07704 >
07705 previous(
07706 xst_lambda_wrap< LambdaT >* plambda_,
07707
07708
07709 ArgumentT const& arg_
07710 )
07711 {
07712 typedef typename LambdaT::value_T object_T;
07713 typedef typename LambdaT::value_T::iterator result_T;
07714
07715 return
07716 ++make_translator(
07717 scalar( result_T() )
07718 ,
07719 #ifdef CTTL_TRACE_DEPOSITS
07720 xst_traced_action(
07721 __LINE__,
07722 "X::iterator alias::previous(iterator)",
07723 #else
07724 action(
07725 #endif
07726 &plambda_->top( const_scalar( 0 ) ),
07727 ( std::mem_fun1_t<
07728 result_T,
07729 object_T,
07730 ArgumentT
07731 >
07732 ( &object_T::previous )
07733 ),
07734 arg_
07735 )
07736 )
07737 ;
07738 }
07739
07740
07741
07742
07743
07757 template< typename LambdaT, typename ArgumentT >
07758 inline
07759 xst_unary_adaptor<
07760 xst_lambda_wrap<
07761 xst_translator<
07762 xst_scalar< typename LambdaT::value_T::iterator >
07763 ,
07764 xst_member_action<
07765 typename LambdaT::value_T &,
07766 std::mem_fun1_t<
07767 typename LambdaT::value_T::iterator,
07768 typename LambdaT::value_T,
07769 ArgumentT
07770 >,
07771 ArgumentT const&,
07772 typename LambdaT::value_T::iterator
07773 >
07774 >
07775 >
07776 ,
07777 xst_prefix_increment_policy<
07778 1,
07779 primitive_id_translator
07780 >
07781 >
07782 insert_after(
07783 xst_lambda_wrap< LambdaT >* plambda_,
07784
07785
07786 ArgumentT const& arg_
07787 )
07788 {
07789 typedef typename LambdaT::value_T object_T;
07790 typedef typename LambdaT::value_T::iterator result_T;
07791
07792 return
07793 ++make_translator(
07794 scalar( result_T() )
07795 ,
07796 #ifdef CTTL_TRACE_DEPOSITS
07797 xst_traced_action(
07798 __LINE__,
07799 "X::iterator alias::insert_after(iterator)",
07800 #else
07801 action(
07802 #endif
07803 &plambda_->top( const_scalar( 0 ) ),
07804 ( std::mem_fun1_t<
07805 result_T,
07806 object_T,
07807 ArgumentT
07808 >
07809 ( &object_T::insert_after )
07810 ),
07811 arg_
07812 )
07813 )
07814 ;
07815 }
07816
07817
07818
07819
07820
07834 template< typename LambdaT, typename ArgumentT >
07835 inline
07836 xst_unary_adaptor<
07837 xst_lambda_wrap<
07838 xst_translator<
07839 xst_scalar< typename LambdaT::value_T::iterator >
07840 ,
07841 xst_member_action<
07842 typename LambdaT::value_T &,
07843 std::mem_fun1_t<
07844 typename LambdaT::value_T::iterator,
07845 typename LambdaT::value_T,
07846 ArgumentT
07847 >,
07848 ArgumentT const&,
07849 typename LambdaT::value_T::iterator
07850 >
07851 >
07852 >
07853 ,
07854 xst_prefix_increment_policy<
07855 1,
07856 primitive_id_translator
07857 >
07858 >
07859 erase_after(
07860 xst_lambda_wrap< LambdaT >* plambda_,
07861
07862
07863 ArgumentT const& arg_
07864 )
07865 {
07866 typedef typename LambdaT::value_T object_T;
07867 typedef typename LambdaT::value_T::iterator result_T;
07868
07869 return
07870 ++make_translator(
07871 scalar( result_T() )
07872 ,
07873 #ifdef CTTL_TRACE_DEPOSITS
07874 xst_traced_action(
07875 __LINE__,
07876 "X::iterator alias::erase_after(iterator)",
07877 #else
07878 action(
07879 #endif
07880 &plambda_->top( const_scalar( 0 ) ),
07881 ( std::mem_fun1_t<
07882 result_T,
07883 object_T,
07884 ArgumentT
07885 >
07886 ( &object_T::erase_after )
07887 ),
07888 arg_
07889 )
07890 )
07891 ;
07892 }
07893
07894
07895
07896 namespace bitset {
07897
07898
07899
07900
07913 template< typename LambdaT >
07914 inline
07915 xst_unary_adaptor<
07916 xst_lambda_wrap<
07917 xst_scalar<
07918 xst_member_action<
07919 typename LambdaT::value_T const&,
07920 std::const_mem_fun_t<
07921 size_t,
07922 typename LambdaT::value_T
07923 >,
07924 void,
07925 size_t
07926 >
07927 >
07928 >
07929 ,
07930 xst_dereference_policy<
07931 xst_dereference_traits<
07932 typename LambdaT::value_T,
07933 size_t
07934 >::capacity_,
07935 LambdaT::primitive_id_
07936 >
07937 >
07938 size(
07939 xst_lambda_wrap< LambdaT > const& lambda_
07940 )
07941 {
07942 typedef typename LambdaT::value_T object_T;
07943 typedef size_t result_T;
07944 typedef xst_unary_adaptor<
07945 xst_lambda_wrap<
07946 xst_scalar<
07947 xst_member_action<
07948 typename LambdaT::value_T const&,
07949 std::const_mem_fun_t<
07950 size_t,
07951 typename LambdaT::value_T
07952 >,
07953 void,
07954 size_t
07955 >
07956 >
07957 >
07958 ,
07959 xst_dereference_policy<
07960 xst_dereference_traits<
07961 typename LambdaT::value_T,
07962 size_t
07963 >::capacity_,
07964 LambdaT::primitive_id_
07965 >
07966 >
07967 xst_adaptor_T;
07968
07969 return xst_adaptor_T( scalar(
07970 #ifdef CTTL_TRACE_DEPOSITS
07971 xst_traced_action(
07972 __LINE__,
07973 "size_t alias::bitset::size()const",
07974 #else
07975 action(
07976 #endif
07977 lambda_.top( const_scalar( 0 ) ),
07978 ( std::const_mem_fun_t<
07979 result_T,
07980 object_T
07981 >
07982 ( &object_T::size )
07983 )
07984 )
07985 ))
07986 ;
07987 }
07988
07989 }
07990
07991
07992
07993
07994
08007 template< typename LambdaT >
08008 inline
08009 xst_unary_adaptor<
08010 xst_lambda_wrap<
08011 xst_scalar<
08012 xst_member_action<
08013 typename LambdaT::value_T const&,
08014 std::const_mem_fun_t<
08015 bool,
08016 typename LambdaT::value_T
08017 >,
08018 void,
08019 bool
08020 >
08021 >
08022 >
08023 ,
08024 xst_dereference_policy<
08025 xst_dereference_traits<
08026 typename LambdaT::value_T,
08027 bool
08028 >::capacity_,
08029 LambdaT::primitive_id_
08030 >
08031 >
08032 any(
08033 xst_lambda_wrap< LambdaT > const& lambda_
08034 )
08035 {
08036 typedef typename LambdaT::value_T object_T;
08037 typedef bool result_T;
08038 typedef xst_unary_adaptor<
08039 xst_lambda_wrap<
08040 xst_scalar<
08041 xst_member_action<
08042 typename LambdaT::value_T const&,
08043 std::const_mem_fun_t<
08044 bool,
08045 typename LambdaT::value_T
08046 >,
08047 void,
08048 bool
08049 >
08050 >
08051 >
08052 ,
08053 xst_dereference_policy<
08054 xst_dereference_traits<
08055 typename LambdaT::value_T,
08056 bool
08057 >::capacity_,
08058 LambdaT::primitive_id_
08059 >
08060 >
08061 xst_adaptor_T;
08062
08063 return xst_adaptor_T( scalar(
08064 #ifdef CTTL_TRACE_DEPOSITS
08065 xst_traced_action(
08066 __LINE__,
08067 "bool alias::any()const",
08068 #else
08069 action(
08070 #endif
08071 lambda_.top( const_scalar( 0 ) ),
08072 ( std::const_mem_fun_t<
08073 result_T,
08074 object_T
08075 >
08076 ( &object_T::any )
08077 )
08078 )
08079 ))
08080 ;
08081 }
08082
08083
08084
08085
08086
08099 template< typename LambdaT >
08100 inline
08101 xst_unary_adaptor<
08102 xst_lambda_wrap<
08103 xst_scalar<
08104 xst_member_action<
08105 typename LambdaT::value_T const&,
08106 std::const_mem_fun_t<
08107 size_t,
08108 typename LambdaT::value_T
08109 >,
08110 void,
08111 size_t
08112 >
08113 >
08114 >
08115 ,
08116 xst_dereference_policy<
08117 xst_dereference_traits<
08118 typename LambdaT::value_T,
08119 size_t
08120 >::capacity_,
08121 LambdaT::primitive_id_
08122 >
08123 >
08124 count(
08125 xst_lambda_wrap< LambdaT > const& lambda_
08126 )
08127 {
08128 typedef typename LambdaT::value_T object_T;
08129 typedef size_t result_T;
08130 typedef xst_unary_adaptor<
08131 xst_lambda_wrap<
08132 xst_scalar<
08133 xst_member_action<
08134 typename LambdaT::value_T const&,
08135 std::const_mem_fun_t<
08136 size_t,
08137 typename LambdaT::value_T
08138 >,
08139 void,
08140 size_t
08141 >
08142 >
08143 >
08144 ,
08145 xst_dereference_policy<
08146 xst_dereference_traits<
08147 typename LambdaT::value_T,
08148 size_t
08149 >::capacity_,
08150 LambdaT::primitive_id_
08151 >
08152 >
08153 xst_adaptor_T;
08154
08155 return xst_adaptor_T( scalar(
08156 #ifdef CTTL_TRACE_DEPOSITS
08157 xst_traced_action(
08158 __LINE__,
08159 "size_t alias::count()const",
08160 #else
08161 action(
08162 #endif
08163 lambda_.top( const_scalar( 0 ) ),
08164 ( std::const_mem_fun_t<
08165 result_T,
08166 object_T
08167 >
08168 ( &object_T::count )
08169 )
08170 )
08171 ))
08172 ;
08173 }
08174
08175
08176
08177
08178
08191 template< typename LambdaT >
08192 inline
08193 xst_unary_adaptor<
08194 xst_lambda_wrap<
08195 xst_scalar<
08196 xst_member_action<
08197 typename LambdaT::value_T const&,
08198 std::const_mem_fun_t<
08199 bool,
08200 typename LambdaT::value_T
08201 >,
08202 void,
08203 bool
08204 >
08205 >
08206 >
08207 ,
08208 xst_dereference_policy<
08209 xst_dereference_traits<
08210 typename LambdaT::value_T,
08211 bool
08212 >::capacity_,
08213 LambdaT::primitive_id_
08214 >
08215 >
08216 none(
08217 xst_lambda_wrap< LambdaT > const& lambda_
08218 )
08219 {
08220 typedef typename LambdaT::value_T object_T;
08221 typedef bool result_T;
08222 typedef xst_unary_adaptor<
08223 xst_lambda_wrap<
08224 xst_scalar<
08225 xst_member_action<
08226 typename LambdaT::value_T const&,
08227 std::const_mem_fun_t<
08228 bool,
08229 typename LambdaT::value_T
08230 >,
08231 void,
08232 bool
08233 >
08234 >
08235 >
08236 ,
08237 xst_dereference_policy<
08238 xst_dereference_traits<
08239 typename LambdaT::value_T,
08240 bool
08241 >::capacity_,
08242 LambdaT::primitive_id_
08243 >
08244 >
08245 xst_adaptor_T;
08246
08247 return xst_adaptor_T( scalar(
08248 #ifdef CTTL_TRACE_DEPOSITS
08249 xst_traced_action(
08250 __LINE__,
08251 "bool alias::none()const",
08252 #else
08253 action(
08254 #endif
08255 lambda_.top( const_scalar( 0 ) ),
08256 ( std::const_mem_fun_t<
08257 result_T,
08258 object_T
08259 >
08260 ( &object_T::none )
08261 )
08262 )
08263 ))
08264 ;
08265 }
08266
08267
08268
08269
08270
08284 template< typename LambdaT, typename ArgumentT >
08285 inline
08286 xst_unary_adaptor<
08287 xst_lambda_wrap<
08288 xst_scalar<
08289 xst_member_action<
08290 typename LambdaT::value_T const&,
08291 std::const_mem_fun1_t<
08292 bool,
08293 typename LambdaT::value_T,
08294 ArgumentT
08295 >,
08296 ArgumentT const&,
08297 bool
08298 >
08299 >
08300 >
08301 ,
08302 xst_dereference_policy<
08303 xst_dereference_traits<
08304 typename LambdaT::value_T,
08305 bool
08306 >::capacity_,
08307 LambdaT::primitive_id_
08308 >
08309 >
08310 test(
08311 xst_lambda_wrap< LambdaT > const& lambda_,
08312
08313
08314 ArgumentT const& arg_
08315 )
08316 {
08317 typedef typename LambdaT::value_T object_T;
08318 typedef bool result_T;
08319 typedef xst_unary_adaptor<
08320 xst_lambda_wrap<
08321 xst_scalar<
08322 xst_member_action<
08323 typename LambdaT::value_T const&,
08324 std::const_mem_fun1_t<
08325 bool,
08326 typename LambdaT::value_T,
08327 ArgumentT
08328 >,
08329 ArgumentT const&,
08330 bool
08331 >
08332 >
08333 >
08334 ,
08335 xst_dereference_policy<
08336 xst_dereference_traits<
08337 typename LambdaT::value_T,
08338 bool
08339 >::capacity_,
08340 LambdaT::primitive_id_
08341 >
08342 >
08343 xst_adaptor_T;
08344
08345 return xst_adaptor_T( scalar(
08346 #ifdef CTTL_TRACE_DEPOSITS
08347 xst_traced_action(
08348 __LINE__,
08349 "bool alias::test(size_t)const",
08350 #else
08351 action(
08352 #endif
08353 lambda_.top( const_scalar( 0 ) ),
08354 ( std::const_mem_fun1_t<
08355 result_T,
08356 object_T,
08357 ArgumentT
08358 >
08359 ( &object_T::test )
08360 ),
08361 arg_
08362 )
08363 ))
08364 ;
08365 }
08366
08367
08368
08369
08370
08383 template< typename LambdaT >
08384 inline
08385 xst_unary_adaptor<
08386 xst_lambda_wrap<
08387 xst_scalar<
08388 xst_member_action<
08389 typename LambdaT::value_T const&,
08390 std::const_mem_fun_t<
08391 unsigned long,
08392 typename LambdaT::value_T
08393 >,
08394 void,
08395 unsigned long
08396 >
08397 >
08398 >
08399 ,
08400 xst_dereference_policy<
08401 xst_dereference_traits<
08402 typename LambdaT::value_T,
08403 unsigned long
08404 >::capacity_,
08405 LambdaT::primitive_id_
08406 >
08407 >
08408 to_ulong(
08409 xst_lambda_wrap< LambdaT > const& lambda_
08410 )
08411 {
08412 typedef typename LambdaT::value_T object_T;
08413 typedef unsigned long result_T;
08414 typedef xst_unary_adaptor<
08415 xst_lambda_wrap<
08416 xst_scalar<
08417 xst_member_action<
08418 typename LambdaT::value_T const&,
08419 std::const_mem_fun_t<
08420 unsigned long,
08421 typename LambdaT::value_T
08422 >,
08423 void,
08424 unsigned long
08425 >
08426 >
08427 >
08428 ,
08429 xst_dereference_policy<
08430 xst_dereference_traits<
08431 typename LambdaT::value_T,
08432 unsigned long
08433 >::capacity_,
08434 LambdaT::primitive_id_
08435 >
08436 >
08437 xst_adaptor_T;
08438
08439 return xst_adaptor_T( scalar(
08440 #ifdef CTTL_TRACE_DEPOSITS
08441 xst_traced_action(
08442 __LINE__,
08443 "unsigned long alias::to_ulong()const",
08444 #else
08445 action(
08446 #endif
08447 lambda_.top( const_scalar( 0 ) ),
08448 ( std::const_mem_fun_t<
08449 result_T,
08450 object_T
08451 >
08452 ( &object_T::to_ulong )
08453 )
08454 )
08455 ))
08456 ;
08457 }
08458
08459
08460 }
08461
08462 }
08463
08464
08465 #endif //_XST_MEMBER_ACTION_ALIAS_H_INCLUDED_