List of all members
lar::util::dereferenced_type< T > Struct Template Reference

Class defining the dereferenced type of the specified type. More...

#include <Dereference.h>

Inheritance diagram for lar::util::dereferenced_type< T >:
lar::util::details::dereferenced_type< T, details::has_dereference_class< T >::value >

Additional Inherited Members

- Public Types inherited from lar::util::details::dereferenced_type< T, details::has_dereference_class< T >::value >
using type = T
 

Detailed Description

template<typename T>
struct lar::util::dereferenced_type< T >

Class defining the dereferenced type of the specified type.


Template Parameters
Tthe type to be tested for dereferenciation

Usage:

static_assert(
  std::is_same<typename lar::util::dereferenced_type<int>::type, int>,
  "error"
  );
static_assert(
  std::is_same<typename lar::util::dereferenced_type<int*>::type, int&>,
  "error"
  );

The type is contained in the type member of the class. The type is precisely what is obtained by dereferencing T (that is often a reference to a type).

The interaction with const T types and with constant dereference operators (T::operator* () const) has not been investigated.

Definition at line 216 of file Dereference.h.


The documentation for this struct was generated from the following file: