#include <boost/preprocessor/iteration/local.hpp> template<int> struct sample; #define BOOST_PP_LOCAL_MACRO(n) \ template<> struct sample<n> { \ enum { value = n }; \ }; \ /**/ #define BOOST_PP_LOCAL_LIMITS (1, 5) #include BOOST_PP_LOCAL_ITERATE() /* expands to... template<> struct sample<1> { enum { value = 1 }; }; template<> struct sample<2> { enum { value = 2 }; }; template<> struct sample<3> { enum { value = 3 }; }; template<> struct sample<4> { enum { value = 4 }; }; template<> struct sample<5> { enum { value = 5 }; }; */
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at www.boost.org/LICENSE_1_0.txt)