LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
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 >

Public Types

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 205 of file Dereference.h.

Member Typedef Documentation

using lar::util::details::dereferenced_type< T, CanDereference >::type = T
inherited

Definition at line 97 of file Dereference.h.


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