OSVR-Core
Classes | Namespaces | Typedefs
ContainerWrapper.h File Reference

Header providing a class template suitable for inheritance that wraps an arbitrary STL-like container and providing. More...

#include <osvr/TypePack/T.h>
#include <osvr/TypePack/List.h>
#include <osvr/TypePack/If.h>
#include <osvr/TypePack/Contains.h>
#include <osvr/TypePack/And.h>
#include <osvr/TypePack/Fold.h>
#include <osvr/TypePack/Not.h>

Go to the source code of this file.

Classes

class  osvr::util::detail::ContainerWrapperBase< Container >
 Terminal base class for container wrapper functionality. More...
 
class  osvr::util::detail::ContainerWrapperConstIterators< Container, Base >
 Container wrapper for consumers that want const iterator methods. More...
 
class  osvr::util::detail::ContainerWrapperIterators< Container, Base >
 Container wrapper for consumers that want iterator methods, including also const-iterator methods. More...
 
class  osvr::util::detail::ContainerWrapperSize< Container, Base >
 Container wrapper mixin for consumers that want size. More...
 
class  osvr::util::detail::ContainerWrapperEmpty< Container, Base >
 Container wrapper mixin for consumers that want size. More...
 
class  osvr::util::detail::ContainerWrapperConstSubscript< Container, Base >
 Container wrapper mixin for consumers that want const array subscript operator methods. More...
 
class  osvr::util::detail::ContainerWrapperSubscript< Container, Base >
 Container wrapper mixin for consumers that want the array subscript operator, including also const-array subscript methods. More...
 
struct  osvr::util::detail::Option< Condition, ContainerMixin >
 Holds the result of evaluating a condition along with the mixin template to use (as an alias class) if that condition is true. More...
 
struct  osvr::util::detail::ContainerWrapperFold< Container >
 Alias class to use in fold when computing a container wrapper. More...
 
struct  osvr::util::detail::ContainerWrapperFold< Container >::apply< Base, Option >
 
struct  osvr::util::detail::ComputeContainerWrapper< Container, ArgList >
 Main metafunction used to compute the full type of a container wrapper. More...
 

Namespaces

 osvr
 The main namespace for all C++ elements of the framework, internal and external.
 
 osvr::util
 The Util library: Functionality not necessarily coupled to any particular core library, serving more as a common base layer behind all systems.
 
 osvr::util::container_policies
 Flags or arguments to specify what features you want ContainerWrapper to provide publicly.
 

Typedefs

template<typename Container , typename... Args>
using osvr::util::detail::ContainerWrapper_t = typepack::t_< detail::ComputeContainerWrapper< Container, typepack::list< Args... >>>
 
template<typename Container , typename... Args>
using osvr::util::ContainerWrapper = detail::ContainerWrapper_t< Container, Args... >
 Parent class to inherit from to get a container with some functionality exposed. More...
 

Detailed Description

Header providing a class template suitable for inheritance that wraps an arbitrary STL-like container and providing.

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