Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:39:06

0001 // Boost Lambda Library -- control_constructs_common.hpp -------------------
0002 
0003 // Copyright (C) 1999, 2000 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
0004 // Copyright (C) 2000 Gary Powell (powellg@amazon.com)
0005 //
0006 // Distributed under the Boost Software License, Version 1.0. (See
0007 // accompanying file LICENSE_1_0.txt or copy at
0008 // http://www.boost.org/LICENSE_1_0.txt)
0009 //
0010 // For more information, see www.boost.org
0011 
0012 // --------------------------------------------------------------------------
0013 
0014 #if !defined(BOOST_CONTROL_CONSTRUCTS_COMMON_HPP)
0015 #define BOOST_CONTROL_CONSTRUCTS_COMMON_HPP
0016 
0017 namespace boost { 
0018 namespace lambda {
0019 
0020   // special types of lambda functors, used with control structures
0021   // to guarantee that they are composed correctly.
0022 
0023 template<class Tag, class LambdaFunctor>
0024 class tagged_lambda_functor;
0025 
0026 template<class Tag, class Args>
0027 class tagged_lambda_functor<Tag, lambda_functor<Args> > 
0028   : public lambda_functor<Args> 
0029 {
0030 public:
0031   tagged_lambda_functor(const Args& a) : lambda_functor<Args>(a) {}
0032 
0033   tagged_lambda_functor(const lambda_functor<Args>& a) 
0034     : lambda_functor<Args>(a) {}
0035 
0036   // for the no body cases in control structures.
0037   tagged_lambda_functor() : lambda_functor<Args>() {}
0038 };
0039 
0040 } // lambda
0041 } // boost
0042 
0043 #endif // BOOST_CONTROL_CONSTRUCTS_COMMON_HPP
0044 
0045 
0046 
0047 
0048 
0049 
0050