PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Classes | Namespaces | Typedefs | Variables
type_list.hpp File Reference

All possible real_type and label_type combinations for a plssvm::model and plssvm::data_set. More...

#include <string>
#include <tuple>
#include <type_traits>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plssvm::detail::real_type_label_type_combination< T, U >
 Encapsulates a combination of a used real_type (float or double) and label_type (an arithmetic type or std::string). More...
 
struct  plssvm::detail::concat_tuple_types< std::tuple< FirstTupleTypes... >, std::tuple< SecondTupleTypes... > >
 Concatenate the types of the two tuples to a new tuple type. More...
 
struct  plssvm::detail::cartesian_type_product< std::tuple< FirstTupleType, FirstTupleRemainingTypes... >, std::tuple< SecondTupleTypes... > >
 Calculate the cartesian product of the types in two tuples and return a new tuple with the corresponding real_type_label_type_combination types. More...
 
struct  plssvm::detail::cartesian_type_product< std::tuple<>, std::tuple< SecondTupleTypes... > >
 
struct  plssvm::detail::type_list_contains< T, std::tuple< Types... > >
 Checks whether the type T is present in the tuple Types. More...
 

Namespaces

 plssvm
 The main namespace containing all public API functions.
 
 plssvm::detail
 Namespace containing implementation details. Should not directly be used by users.
 

Typedefs

template<typename... T>
using plssvm::detail::concat_tuple_types_t = typename concat_tuple_types< T... >::type
 Shorthand for the typename concat_tuple_types<...>::type type.
 
template<typename... T>
using plssvm::detail::cartesian_type_product_t = typename cartesian_type_product< T... >::type
 Shorthand for the typename cartesian_type_product<...>::type type.
 
using plssvm::detail::real_type_list = std::tuple< float, double >
 A type list of all supported real types as std::tuple.
 
using plssvm::detail::label_type_list = std::tuple< bool, char, signed char, unsigned char, short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long, float, double, long double, std::string >
 A type list of all supported label types (currently arithmetic types and std::string) as std::tuple.
 
using plssvm::detail::real_type_label_type_combination_list = detail::cartesian_type_product_t< real_type_list, label_type_list >
 The cartesian product of all real types and label types as std::tuple.
 

Variables

template<typename T , typename Tuple >
constexpr bool plssvm::detail::type_list_contains_v = type_list_contains<T, Tuple>::value
 Checks whether the type T is present in the Tuple.
 

Detailed Description

All possible real_type and label_type combinations for a plssvm::model and plssvm::data_set.

Author
Alexander Van Craen
Marcel Breyer
License
This file is part of the PLSSVM project which is released under the MIT license. See the LICENSE.md file in the project root for full license information.