All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
util::with_const_as< Base, Key > Struct Template Reference

Trait with type Base, plus the constantness as in Key. More...

#include <MetaUtils.h>

Inheritance diagram for util::with_const_as< Base, Key >:
util::details::with_const_as_dispatcher< Base, Key > util::details::with_const_as_dispatch_keyref< Base, Key > util::details::with_const_as_dispatch_ref< Base, std::remove_reference_t< Key > > util::details::with_const_as_impl< Base, std::remove_reference_t< Key > >

Additional Inherited Members

- Public Types inherited from util::details::with_const_as_impl< Base, std::remove_reference_t< Key > >
using type = std::remove_const_t< Base >
 

Detailed Description

template<typename Base, typename Key>
struct util::with_const_as< Base, Key >

Trait with type Base, plus the constantness as in Key.

Template Parameters
Basethe basic type being returned
Keya type expressing the constantness wanted for Base

The type member of this trait is:

This trait passes through references. Both Base and Key are treated as they were no references (e.g. a int const& is treated as a int const). The referenceness of the type in the trait is the same as the one of Base.

Therefore, for example:

R-value references are likewise taken into account.

Definition at line 540 of file MetaUtils.h.


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