Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/compute/functional/detail/macros.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //---------------------------------------------------------------------------//
0002 // Copyright (c) 2013 Kyle Lutz <kyle.r.lutz@gmail.com>
0003 //
0004 // Distributed under the Boost Software License, Version 1.0
0005 // See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt
0007 //
0008 // See http://boostorg.github.com/compute for more information.
0009 //---------------------------------------------------------------------------//
0010 
0011 #ifndef BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP
0012 #define BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP
0013 
0014 #include <boost/preprocessor/cat.hpp>
0015 #include <boost/preprocessor/stringize.hpp>
0016 
0017 #include <boost/compute/function.hpp>
0018 
0019 #define BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION(name, signature, template_args) \
0020     template<template_args> \
0021     class name : public function<signature> \
0022     { \
0023     public: \
0024         (name)() : function<signature>(BOOST_PP_STRINGIZE(name)) { } \
0025     };
0026 
0027 #define BOOST_COMPUTE_DECLARE_BUILTIN_FUNCTION_UNDERSCORE(name, signature, template_args) \
0028     template<template_args> \
0029     class BOOST_PP_CAT(name, _) : public function<signature> \
0030     { \
0031     public: \
0032         BOOST_PP_CAT(name, _)() : function<signature>(BOOST_PP_STRINGIZE(name)) { } \
0033     };
0034 
0035 #endif // BOOST_COMPUTE_FUNCTIONAL_MACROS_HPP