OSVR-Core
Classes | Namespaces
TypeSafeId.h File Reference

Header. More...

#include <osvr/Util/StdInt.h>
#include <osvr/Util/BasicTypeTraits.h>
#include <limits>

Go to the source code of this file.

Classes

class  osvr::util::TypeSafeId< Tag >
 
class  osvr::util::TypeSafeIdBase< Tag >
 A generic typesafe (as long as you use differing tag types) wrapper for identifiers (typically integers). More...
 
class  osvr::util::TypeSafeIdRefAccessorBase< Tag >
 
struct  osvr::util::typesafeid_traits::WrappedType< Tag >
 Explicitly specialize for your tag type if you want a different underlying type. More...
 
struct  osvr::util::typesafeid_traits::ShouldHaveReferenceAccessor
 Class for your specialization of ProvideReferenceAccessor to inherit from if you want to provide a non-const l-value reference accessor, weakening the typesafety of this wrapper. More...
 
struct  osvr::util::typesafeid_traits::ProvideReferenceAccessor< Tag >
 Explicitly specialize this for your tag type to derive from ProvideLValueReferenceAccessor if you want a value() member that returns a non-const reference (an l-value reference) - which does make it slightly less typesafe. More...
 
struct  osvr::util::typesafeid_traits::ComputeBaseClass< Tag >
 Selects one of the base classes based on whether we need that reference accessor. More...
 
struct  osvr::util::typesafeid_traits::SentinelValue< Tag >
 Explicitly specialize for your tag type if you want a different signal value for invalid/empty: default is the maximum representable value for your type. More...
 
class  osvr::util::TypeSafeIdBase< Tag >
 A generic typesafe (as long as you use differing tag types) wrapper for identifiers (typically integers). More...
 
class  osvr::util::TypeSafeIdRefAccessorBase< Tag >
 
class  osvr::util::TypeSafeId< Tag >
 

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::typesafeid_traits
 Namespace for traits templates associated with osvr::util::TypeSafeId.
 

Detailed Description

Header.

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