uTL
micro Template library
selection.h File Reference

Template meta-programming type selections. More...

#include <utl/core/impl.h>
#include <utl/meta/integral.h>

Go to the source code of this file.

Classes

struct  utl::meta::detail::if_c_< If,... >
 
struct  utl::meta::detail::if_c_< true, Then >
 
struct  utl::meta::detail::if_c_< true, Then, Else >
 
struct  utl::meta::detail::if_c_< false, Then, Else >
 

Namespaces

 utl
 STL's core language concepts.
 
 utl::meta
 
 utl::meta::detail
 

Typedefs

template<bool B, typename... Args>
using utl::meta::if_c = eval< detail::if_c_< B, Args... > >
 Select one type or another depending on a compile-time Boolean. More...
 
template<typename If , typename... Args>
using utl::meta::if_ = if_c< If::type::value, Args... >
 Select one type or another depending on a compile-time Boolean type. More...
 
template<typename T1 , typename ... >
using utl::meta::first_of = T1
 Select the first type of a type sequence. More...
 
template<typename T1 , typename T2 , typename ... >
using utl::meta::second_of = T2
 Select the second type of a type sequence. More...
 

Detailed Description

Template meta-programming type selections.

Copyright (C) 2018-2019 Christos Choutouridis

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Definition in file selection.h.