OSVR-Core
List.h
Go to the documentation of this file.
1 
14 // Copyright 2015 Sensics, Inc.
15 // Part of OSVR-Core.
16 //
17 // Incorporates code from:
18 // Copyright Eric Niebler 2014-2015
19 //
20 // Use, modification and distribution is subject to the
21 // Boost Software License, Version 1.0. (See accompanying
22 // file LICENSE_1_0.txt or copy at
23 // http://www.boost.org/LICENSE_1_0.txt)
24 //
25 // Project home: https://github.com/ericniebler/meta
26 //
27 
28 #ifndef INCLUDED_List_h_GUID_4A334D86_D6A9_4A99_045F_FFAEEB10CB76
29 #define INCLUDED_List_h_GUID_4A334D86_D6A9_4A99_045F_FFAEEB10CB76
30 
31 // Internal Includes
32 // - none
33 
34 // Library/third-party includes
35 // - none
36 
37 // Standard includes
38 // - none
39 
40 namespace osvr {
41 namespace typepack {
42 
43  namespace detail {
44  struct list_base_ {};
45  } // namespace detail
46 
52  template <typename... Ts> struct list : detail::list_base_ {
53  using type = list;
54  };
55  template <typename... Ts> struct list<list<Ts...>> : list<Ts...>::type {};
56 
57 } // namespace typepack
58 } // namespace osvr
59 
60 #endif // INCLUDED_List_h_GUID_4A334D86_D6A9_4A99_045F_FFAEEB10CB76
The main namespace for all C++ elements of the framework, internal and external.
Definition: namespace_osvr.dox:3
A wrapper for a template parameter pack of types.
Definition: List.h:52
Definition: newuoa.h:1888