1 // 2 // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) 3 // 4 // Distributed under the Boost Software License, Version 1.0. (See 5 // accompanying file LICENSE_1_0.txt or copy at 6 // http://www.boost.org/LICENSE_1_0.txt) 7 // 8 #ifndef BOOST_SRC_LOCALE_MO_LAMBDA_HPP_INCLUDED 9 #define BOOST_SRC_LOCALE_MO_LAMBDA_HPP_INCLUDED 10 11 #include <boost/shared_ptr.hpp> 12 13 namespace boost { 14 namespace locale { 15 namespace gnu_gettext { 16 namespace lambda { 17 18 struct plural { 19 20 virtual int operator()(int n) const = 0; 21 virtual plural *clone() const = 0; ~pluralboost::locale::gnu_gettext::lambda::plural22 virtual ~plural() 23 { 24 } 25 }; 26 27 typedef boost::shared_ptr<plural> plural_ptr; 28 29 plural_ptr compile(char const *c_expression); 30 31 } // lambda 32 } // gnu_gettext 33 } // locale 34 } // boost 35 36 #endif 37 // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 38 39