⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 make_adaptable.hpp

📁 system C源码 一种替代verilog的语言
💻 HPP
字号:
#ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED#define BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED////  make_adaptable.hpp////  Copyright (c) 2002 Peter Dimov and Multi Media Ltd.//// Distributed under the Boost Software License, Version 1.0. (See// accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)//namespace boost{namespace _bi{template<class R, class F> class af0{public:    typedef R result_type;    explicit af0(F f): f_(f)    {    }    result_type operator()()    {        return f_();    }    result_type operator()() const    {        return f_();    }private:    F f_;};template<class R, class A1, class F> class af1{public:    typedef R result_type;    typedef A1 argument_type;    typedef A1 arg1_type;    explicit af1(F f): f_(f)    {    }    result_type operator()(A1 a1)    {        return f_(a1);    }    result_type operator()(A1 a1) const    {        return f_(a1);    }private:    F f_;};template<class R, class A1, class A2, class F> class af2{public:    typedef R result_type;    typedef A1 first_argument_type;    typedef A2 second_argument_type;    typedef A1 arg1_type;    typedef A2 arg2_type;    explicit af2(F f): f_(f)    {    }    result_type operator()(A1 a1, A2 a2)    {        return f_(a1, a2);    }    result_type operator()(A1 a1, A2 a2) const    {        return f_(a1, a2);    }private:    F f_;};template<class R, class A1, class A2, class A3, class F> class af3{public:    typedef R result_type;    typedef A1 arg1_type;    typedef A2 arg2_type;    typedef A3 arg3_type;    explicit af3(F f): f_(f)    {    }    result_type operator()(A1 a1, A2 a2, A3 a3)    {        return f_(a1, a2, a3);    }    result_type operator()(A1 a1, A2 a2, A3 a3) const    {        return f_(a1, a2, a3);    }private:    F f_;};template<class R, class A1, class A2, class A3, class A4, class F> class af4{public:    typedef R result_type;    typedef A1 arg1_type;    typedef A2 arg2_type;    typedef A3 arg3_type;    typedef A4 arg4_type;    explicit af4(F f): f_(f)    {    }    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4)    {        return f_(a1, a2, a3, a4);    }    result_type operator()(A1 a1, A2 a2, A3 a3, A4 a4) const    {        return f_(a1, a2, a3, a4);    }private:    F f_;};} // namespace _bitemplate<class R, class F> _bi::af0<R, F> make_adaptable(F f){    return _bi::af0<R, F>(f);}template<class R, class A1, class F> _bi::af1<R, A1, F> make_adaptable(F f){    return _bi::af1<R, A1, F>(f);}template<class R, class A1, class A2, class F> _bi::af2<R, A1, A2, F> make_adaptable(F f){    return _bi::af2<R, A1, A2, F>(f);}template<class R, class A1, class A2, class A3, class F> _bi::af3<R, A1, A2, A3, F> make_adaptable(F f){    return _bi::af3<R, A1, A2, A3, F>(f);}template<class R, class A1, class A2, class A3, class A4, class F> _bi::af4<R, A1, A2, A3, A4, F> make_adaptable(F f){    return _bi::af4<R, A1, A2, A3, A4, F>(f);}} // namespace boost#endif // #ifndef BOOST_BIND_MAKE_ADAPTABLE_HPP_INCLUDED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -