blob: 3dc07445aa72c0104dd1fe6053c59f66b0a3e92d [file] [log] [blame]
Jeff Thompsonef2d5a42013-08-22 19:09:24 -07001// Boost.Function library - Typeof support
2// Copyright (C) Douglas Gregor 2008
3//
4// Use, modification and distribution is subject to the Boost
5// Software License, Version 1.0. (See accompanying file
6// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7//
8// For more information, see http://www.boost.org
Jeff Thompson3d613fd2013-10-15 15:39:04 -07009#ifndef NDNBOOST_FUNCTION_TYPEOF_HPP
10#define NDNBOOST_FUNCTION_TYPEOF_HPP
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070011#include <ndnboost/function/function_fwd.hpp>
12#include <ndnboost/typeof/typeof.hpp>
13
Jeff Thompson3d613fd2013-10-15 15:39:04 -070014#include NDNBOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP()
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070015
Jeff Thompson3d613fd2013-10-15 15:39:04 -070016NDNBOOST_TYPEOF_REGISTER_TYPE(ndnboost::bad_function_call)
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070017
Jeff Thompson3d613fd2013-10-15 15:39:04 -070018#if !defined(NDNBOOST_FUNCTION_NO_FUNCTION_TYPE_SYNTAX)
19NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function, (typename))
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070020#endif
21
Jeff Thompson3d613fd2013-10-15 15:39:04 -070022NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function0, (typename))
23NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function1, (typename)(typename))
24NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function2, (typename)(typename)(typename))
25NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function3,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070026 (typename)(typename)(typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070027NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function4,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070028 (typename)(typename)(typename)(typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070029NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function5,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070030 (typename)(typename)(typename)(typename)(typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070031NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function6,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070032 (typename)(typename)(typename)(typename)(typename)(typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function7,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070034 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
35 (typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070036NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function8,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070037 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
38 (typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070039NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function9,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070040 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
41 (typename)(typename)(typename))
Jeff Thompson3d613fd2013-10-15 15:39:04 -070042NDNBOOST_TYPEOF_REGISTER_TEMPLATE(ndnboost::function10,
Jeff Thompsonef2d5a42013-08-22 19:09:24 -070043 (typename)(typename)(typename)(typename)(typename)(typename)(typename)
44 (typename)(typename)(typename)(typename))
45#endif