maliput
type_safe_index.h File Reference
#include <functional>
#include <limits>
#include <string>
#include "maliput/drake/common/drake_assert.h"
#include "maliput/drake/common/drake_throw.h"
#include "maliput/drake/common/hash.h"
#include "maliput/drake/common/nice_type_name.h"
Include dependency graph for type_safe_index.h:
This graph shows which files directly or indirectly include this file:

Classes

class  TypeSafeIndex< Tag >
 A type-safe non-negative index class. More...
 
struct  hash< maliput::drake::TypeSafeIndex< Tag > >
 Enables use of the type-safe index to serve as a key in STL containers. More...
 

Namespaces

 maliput
 Code in this file is inspired by: https://github.com/RobotLocomotion/drake/blob/master/common/text_logging.h.
 
 maliput::drake
 

Functions

template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator== (const U &value, const TypeSafeIndex< Tag > &tag)
 
template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator!= (const U &value, const TypeSafeIndex< Tag > &tag)
 
template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator< (const U &value, const TypeSafeIndex< Tag > &tag)
 
template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator<= (const U &value, const TypeSafeIndex< Tag > &tag)
 
template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator> (const U &value, const TypeSafeIndex< Tag > &tag)
 
template<typename Tag , typename U >
std::enable_if_t< std::is_integral_v< U > &&std::is_unsigned_v< U >, bool > operator>= (const U &value, const TypeSafeIndex< Tag > &tag)