OSVR-Core
Classes | Namespaces | Functions
ForEachType.h File Reference

Header. More...

#include "Size.h"
#include "SplitList.h"
#include <utility>

Go to the source code of this file.

Classes

struct  osvr::typepack::detail::for_each_type_impl< F, Head, Tail, EmptyTail >
 Forward declaration of the implementation struct - because we can't generate code for a branch when the tail is empty. More...
 
struct  osvr::typepack::detail::for_each_type_impl< F, Head, Tail, true >
 Specialization of struct for when the tail is empty: just calls the function. More...
 
struct  osvr::typepack::detail::for_each_type_impl< F, Head, Tail, false >
 Specialization of struct for when the tail is non-empty: calls the function, then calls the implementation/recursion method above with the tail. More...
 

Namespaces

 osvr
 The main namespace for all C++ elements of the framework, internal and external.
 
 osvr::typepack
 A simple argument-pack-based metaprogramming library, inspired by and based partially on https://ericniebler.github.io/meta.
 

Functions

template<typename F , typename List , typename... Args>
void osvr::typepack::detail::for_each_type_ (F &&f, Args &&... args)
 Implementation function that handles the recursion/invocation of the right implementation struct. More...
 
template<typename List , typename F , typename... Args>
void osvr::typepack::for_each_type (F &&f, Args &&... args)
 Run-time operation on a type list: given a function object, a type list, and optional arguments to be forwarded to the function call, construct each type in the type list in turn and call the function-call-operator of your functor with it (and your optional additional arguments). More...
 

Detailed Description

Header.

Date
2016
Author
Sensics, Inc. http://sensics.com/osvr

Function Documentation

§ for_each_type_()

template<typename F , typename List , typename... Args>
void osvr::typepack::detail::for_each_type_ ( F &&  f,
Args &&...  args 
)
inline

Implementation function that handles the recursion/invocation of the right implementation struct.