lambda_placeholders.h

Go to the documentation of this file.
00001 /**
00002  *  Copyright (C) 2004-2005 Alo Sarv <madcat_@users.sourceforge.net>
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  */
00018 
00019 /** \file lambda_placerholders.h Defines Boost.Lambda placeholder variables */
00020 
00021 #ifndef __LAMBDA_PLACEHOLDERS_H__
00022 #define __LAMBDA_PLACEHOLDERS_H__
00023 
00024 #include <boost/lambda/lambda.hpp>
00025 
00026 namespace {
00027         /**
00028          * @name Boost.Lambda placeholder types
00029          *
00030          * Need to redefine placeholders to avoid conflicting with Boost.Bind
00031          * placeholders.
00032          */
00033         //! @{
00034         static boost::lambda::placeholder1_type __1;
00035         static boost::lambda::placeholder2_type __2;
00036         static boost::lambda::placeholder3_type __3;
00037         //! @}
00038 
00039         //! Suppresses unused variables warnings
00040         struct __use_boost_lambda_symbols {
00041                 void __use_symbols_func() {
00042                         (void)__1; (void)__2; (void)__3;
00043                 }
00044         };
00045 }
00046 
00047 #endif