Lely core libraries  2.3.4
type_traits.hpp File Reference
#include <lely/features.h>
#include <type_traits>
#include <utility>
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.

Data Structures

struct  lely::compat::remove_cvref< T >
 
struct  lely::compat::detail::is_reference_wrapper< T >
 
struct  lely::compat::detail::is_reference_wrapper<::std::reference_wrapper< U > >
 
struct  lely::compat::detail::invoke_impl< T >
 
struct  lely::compat::detail::invoke_impl< MT B::* >
 
struct  lely::compat::detail::invoke_result< class, class,... >
 
struct  lely::compat::detail::invoke_result< decltype(void(invoke(::std::declval< F >(), ::std::declval< Args >()...))), F, Args... >
 
struct  lely::compat::invoke_result< F, Args >
 Deduces the return type of an INVOKE expression at compile time. More...
 
struct  lely::compat::detail::make_void< class >
 
struct  lely::compat::detail::is_invocable< class, class, class >
 
struct  lely::compat::detail::is_invocable< Result, R, typename make_void< typename Result::type >::type >
 
struct  lely::compat::is_invocable< F, Args >
 Determines whether F can be invoked with the arguments Args.... More...
 
struct  lely::compat::is_invocable_r< R, F, Args >
 Determines whether F can be invoked with the arguments Args... to yield a result that is convertable to R. More...
 
struct  lely::compat::conjunction< B >
 Forms the logical conjunction of the type traits B..., effectively performing a logical AND on the sequence of traits. More...
 
struct  lely::compat::conjunction< B1 >
 
struct  lely::compat::conjunction< B1, Bn... >
 
struct  lely::compat::disjunction< B >
 Forms the logical disjunction of the type traits B..., effectively performing a logical OR on the sequence of traits. More...
 
struct  lely::compat::disjunction< B1 >
 
struct  lely::compat::disjunction< B1, Bn... >
 
struct  lely::compat::negation< B >
 Forms the logical negation of the type trait B. More...
 

Typedefs

template<class... T>
using lely::compat::void_t = typename detail::make_void< T... >::type
 Utility metafunction that maps a sequence of any types to the type void. More...
 

Detailed Description

This header file is part of the compatibility library; it includes <type_traits> and defines any missing functionality.

Author
J. S. Seldenthuis jseld.nosp@m.enth.nosp@m.uis@l.nosp@m.ely..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file type_traits.hpp.

Typedef Documentation

◆ void_t

template<class... T>
using lely::compat::void_t = typedef typename detail::make_void<T...>::type

Utility metafunction that maps a sequence of any types to the type void.

The standard definition, template <class...> using void_t = void;, does not work on GCC 4.9.

Definition at line 186 of file type_traits.hpp.