Chris@16: // Chris@16: // bind/mem_fn_vw.hpp - void return helper wrappers 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 struct BOOST_MEM_FN_NAME(mf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (); Chris@16: explicit BOOST_MEM_FN_NAME(mf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf0)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf0): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) () const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf0)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf0)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1); Chris@16: explicit BOOST_MEM_FN_NAME(mf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf1)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf1): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf1)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf1)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2); Chris@16: explicit BOOST_MEM_FN_NAME(mf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf2)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf2): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf2)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf2)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3); Chris@16: explicit BOOST_MEM_FN_NAME(mf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf3)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf3): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf3)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf3)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4); Chris@16: explicit BOOST_MEM_FN_NAME(mf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf4)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf4): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf4)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf4)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5); Chris@16: explicit BOOST_MEM_FN_NAME(mf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf5)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf5): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf5)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf5)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6); Chris@16: explicit BOOST_MEM_FN_NAME(mf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf6)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf6): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf6)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf6)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7); Chris@16: explicit BOOST_MEM_FN_NAME(mf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf7)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf7): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf7)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf7)(f) {} Chris@16: }; Chris@16: Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(mf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8); Chris@16: explicit BOOST_MEM_FN_NAME(mf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(mf8)(f) {} Chris@16: }; Chris@16: Chris@16: template struct BOOST_MEM_FN_NAME(cmf8): public mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8) Chris@16: { Chris@16: typedef R (BOOST_MEM_FN_CC T::*F) (A1, A2, A3, A4, A5, A6, A7, A8) const; Chris@16: explicit BOOST_MEM_FN_NAME(cmf8)(F f): mf::BOOST_NESTED_TEMPLATE BOOST_MEM_FN_NAME2(cmf8)(f) {} Chris@16: }; Chris@16: