• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*<-
2 Copyright (c) 2016 arett Adair
3 
4 Distributed under the Boost Software License, Version 1.0.
5 (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
6 ->*/
7 
8 
9 #include <boost/callable_traits/apply_member_pointer.hpp>
10 #include "test.hpp"
11 
12 struct foo;
13 
14 template<typename Input, typename Output>
test_case()15 void test_case() {
16     assert_same<TRAIT(apply_member_pointer, Input, foo), Output>();
17 }
18 
main()19 int main() {
20     test_case<int,              int foo::*>();
21     test_case<int &,            int foo::*>();
22     test_case<int const,        int const foo::*>();
23     test_case<int const &,      int const foo::*>();
24     test_case<int volatile,     int volatile foo::*>();
25     test_case<int volatile &,   int volatile foo::*>();
26 
27     //member data - function pointer
28     test_case<int(* const)(),   int(* const foo::*)()>();
29     test_case<int(* const &)(), int(* const foo::*)()>();
30 }
31 
32