Chris@16: // Chris@16: // bind/mem_fn_cc.hpp - support for different calling conventions Chris@16: // Chris@16: // Do not include this header directly. Chris@16: // Chris@16: // Copyright (c) 2001 Peter Dimov and Multi Media Ltd. Chris@16: // Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: // Chris@16: // See http://www.boost.org/libs/bind/mem_fn.html for documentation. Chris@16: // Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) ()) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf0)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf0) mem_fn(R (BOOST_MEM_FN_CC T::*f) () const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf0)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf1)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf1) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf1)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf2)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf2) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf2)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf3)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf3) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf3)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf4)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf4) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf4)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf5)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf5) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf5)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf6)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf6) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf6)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf7)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf7) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf7)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(mf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8)) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(mf8)(f); Chris@16: } Chris@16: Chris@16: template _mfi::BOOST_MEM_FN_NAME(cmf8) mem_fn(R (BOOST_MEM_FN_CC T::*f) (A1, A2, A3, A4, A5, A6, A7, A8) const) Chris@16: { Chris@16: return _mfi::BOOST_MEM_FN_NAME(cmf8)(f); Chris@16: }