Autoware.Auto
type_traits.hpp File Reference
#include <common/types.hpp>
#include <common/visibility_control.hpp>
#include <cstdint>
#include <tuple>
#include <type_traits>
Include dependency graph for type_traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  autoware::common::type_traits::index< QueryT, TupleT >
 Find an index of a type in a tuple. More...
 
struct  autoware::common::type_traits::index< HeadT, std::tuple< HeadT, Tail... > >
 Specialization for a tuple that starts with the HeadT type. End of recursion. More...
 
struct  autoware::common::type_traits::index< QueryT, std::tuple< HeadT, Tail... > >
 Specialization for a tuple with a type different to QueryT that calls the recursive step. More...
 
struct  autoware::common::type_traits::conjunction<... >
 A class to compute a conjunction over given traits. More...
 
struct  autoware::common::type_traits::conjunction< TraitT >
 A conjunction of another type shall derive from that type. More...
 
struct  autoware::common::type_traits::conjunction< TraitT, TraitsTs... >
 
struct  autoware::common::type_traits::has_type< QueryT, TupleT >
 A trait to check if a tuple has a type. More...
 
struct  autoware::common::type_traits::has_type< QueryT, std::tuple<> >
 An overload of the general trait that signifies that nothing can be found in an empty tuple. More...
 
struct  autoware::common::type_traits::has_type< QueryT, std::tuple< HeadT, TailTs... > >
 Recursive override of the main trait. More...
 
struct  autoware::common::type_traits::has_type< QueryT, std::tuple< QueryT, TailTs... > >
 End of recursion for the main has_type trait. Becomes a true_type when the first type in the tuple matches the query type. More...
 
struct  autoware::common::type_traits::intersect< TupleT1, TupleT2 >
 A trait used to intersect types stored in tuples at compile time. The resulting typedef type will hold a tuple with the intersection of the types provided in the input tuples. More...
 

Namespaces

 autoware
 This file defines the lanelet2_map_provider_node class.
 
 autoware::common
 
 autoware::common::type_traits
 

Functions

template<typename T >
constexpr autoware::common::types::bool8_t COMMON_PUBLIC autoware::common::type_traits::impossible_branch () noexcept
 A helper function to be used in static_assert to indicate an impossible branch. More...
 
template<std::size_t I = 0UL, typename Callable , typename ... TypesT>
constexpr COMMON_PUBLIC std::enable_if_t< I==sizeof...(TypesT)> autoware::common::type_traits::visit (std::tuple< TypesT... > &, Callable) noexcept
 Visit every element in a tuple. More...
 
template<std::size_t I = 0UL, typename Callable , typename ... TypesT>
constexpr COMMON_PUBLIC std::enable_if_t< I==sizeof...(TypesT)> autoware::common::type_traits::visit (const std::tuple< TypesT... > &, Callable) noexcept
 Same as the previous specialization but for const tuple. More...
 
template<std::size_t I = 0UL, typename Callable , typename ... TypesT>
constexpr COMMON_PUBLIC std::enable_if_t< I !=sizeof...(TypesT)> autoware::common::type_traits::visit (std::tuple< TypesT... > &tuple, Callable callable) noexcept
 Visit every element in a tuple. More...
 
template<std::size_t I = 0UL, typename Callable , typename ... TypesT>
constexpr COMMON_PUBLIC std::enable_if_t< I !=sizeof...(TypesT)> autoware::common::type_traits::visit (const std::tuple< TypesT... > &tuple, Callable callable) noexcept
 Same as the previous specialization but for const tuple. More...