OSVR-Core  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
PushBack.h
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 // TypePack is part of OSVR-Core.
13 //
14 // Use, modification and distribution is subject to the
15 // Boost Software License, Version 1.0. (See accompanying
16 // file LICENSE_1_0.txt or copy at
17 // http://www.boost.org/LICENSE_1_0.txt)
18 
19 #ifndef INCLUDED_PushBack_h_GUID_86DCDCD9_8EF3_4E95_FB45_B2209B97104A
20 #define INCLUDED_PushBack_h_GUID_86DCDCD9_8EF3_4E95_FB45_B2209B97104A
21 
22 // Internal Includes
23 #include "List.h"
24 #include "ApplyList.h"
25 
26 // Library/third-party includes
27 // - none
28 
29 // Standard includes
30 // - none
31 
32 namespace osvr {
33 namespace typepack {
34  namespace detail {
35  template <typename T> struct push_back_impl {
36  template <typename... Ts> using apply = list<Ts..., T>;
37  };
38  } // namespace detail
39  template <typename List, typename T>
40  using push_back = apply_list<detail::push_back_impl<T>, List>;
41 } // namespace typepack
42 } // namespace osvr
43 
44 #endif // INCLUDED_PushBack_h_GUID_86DCDCD9_8EF3_4E95_FB45_B2209B97104A
The main namespace for all C++ elements of the framework, internal and external.
Definition: ClientKit.h:31
typename F::template apply< Args...> apply
Apply an alias class.
Definition: Apply.h:44
Header.
Header.