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

Defines some generic type traits used in the PLSSVM library. More...

#include <array>
#include <deque>
#include <forward_list>
#include <list>
#include <map>
#include <set>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <vector>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plssvm::detail::is_array< T >
 Type trait to check whether T is a std::array. More...
 
struct  plssvm::detail::is_array< std::array< T, I > >
 Type trait to check whether T is a std::array. More...
 
struct  plssvm::detail::is_vector< T >
 Type trait to check whether T is a std::vector. More...
 
struct  plssvm::detail::is_vector< std::vector< T > >
 Type trait to check whether T is a std::vector. More...
 
struct  plssvm::detail::is_deque< T >
 Type trait to check whether T is a std::deque. More...
 
struct  plssvm::detail::is_deque< std::deque< T > >
 Type trait to check whether T is a std::deque. More...
 
struct  plssvm::detail::is_forward_list< T >
 Type trait to check whether T is a std::forward_list. More...
 
struct  plssvm::detail::is_forward_list< std::forward_list< T > >
 Type trait to check whether T is a std::forward_list. More...
 
struct  plssvm::detail::is_list< T >
 Type trait to check whether T is a std::list. More...
 
struct  plssvm::detail::is_list< std::list< T > >
 Type trait to check whether T is a std::list. More...
 
struct  plssvm::detail::is_set< T >
 Type trait to check whether T is a std::set. More...
 
struct  plssvm::detail::is_set< std::set< T > >
 Type trait to check whether T is a std::set. More...
 
struct  plssvm::detail::is_map< T >
 Type trait to check whether T is a std::map. More...
 
struct  plssvm::detail::is_map< std::map< Key, T > >
 Type trait to check whether T is a std::map. More...
 
struct  plssvm::detail::is_multiset< T >
 Type trait to check whether T is a std::multiset. More...
 
struct  plssvm::detail::is_multiset< std::multiset< T > >
 Type trait to check whether T is a std::multiset. More...
 
struct  plssvm::detail::is_multimap< T >
 Type trait to check whether T is a std::multimap. More...
 
struct  plssvm::detail::is_multimap< std::multimap< Key, T > >
 Type trait to check whether T is a std::multimap. More...
 
struct  plssvm::detail::is_unordered_set< T >
 Type trait to check whether T is a std::unordered_set. More...
 
struct  plssvm::detail::is_unordered_set< std::unordered_set< T > >
 Type trait to check whether T is a std::unordered_set. More...
 
struct  plssvm::detail::is_unordered_map< T >
 Type trait to check whether T is a std::unordered_map. More...
 
struct  plssvm::detail::is_unordered_map< std::unordered_map< Key, T > >
 Type trait to check whether T is a std::unordered_map. More...
 
struct  plssvm::detail::is_unordered_multiset< T >
 Type trait to check whether T is a std::unordered_multiset. More...
 
struct  plssvm::detail::is_unordered_multiset< std::unordered_multiset< T > >
 Type trait to check whether T is a std::unordered_multiset. More...
 
struct  plssvm::detail::is_unordered_multimap< T >
 Type trait to check whether T is a std::unordered_multimap. More...
 
struct  plssvm::detail::is_unordered_multimap< std::unordered_multimap< Key, T > >
 Type trait to check whether T is a std::unordered_multimap. More...
 

Namespaces

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

Macros

#define PLSSVM_REQUIRES(...)   std::enable_if_t<__VA_ARGS__, bool> = true
 A shorthand macro for the std::enable_if_t type trait.
 

Typedefs

template<typename T >
using plssvm::detail::remove_cvref_t = std::remove_cv_t< std::remove_reference_t< T > >
 Remove the topmost reference- and cv-qualifiers. More...
 

Variables

template<typename >
constexpr bool plssvm::detail::always_false_v = false
 Type-dependent expression that always evaluates to false.
 
template<typename T >
constexpr bool plssvm::detail::is_array_v = is_array<T>::value
 Type trait to check whether T is a std::array.
 
template<typename T >
constexpr bool plssvm::detail::is_vector_v = is_vector<T>::value
 Type trait to check whether T is a std::vector.
 
template<typename T >
constexpr bool plssvm::detail::is_deque_v = is_deque<T>::value
 Type trait to check whether T is a std::deque.
 
template<typename T >
constexpr bool plssvm::detail::is_forward_list_v = is_forward_list<T>::value
 Type trait to check whether T is a std::forward_list.
 
template<typename T >
constexpr bool plssvm::detail::is_list_v = is_list<T>::value
 Type trait to check whether T is a std::list.
 
template<typename T >
constexpr bool plssvm::detail::is_sequence_container_v = is_array_v<T> || is_vector_v<T> || is_deque_v<T> || is_forward_list_v<T> || is_list_v<T>
 Type trait to check whether T is a sequence container.
 
template<typename T >
constexpr bool plssvm::detail::is_set_v = is_set<T>::value
 Type trait to check whether T is a std::set.
 
template<typename T >
constexpr bool plssvm::detail::is_map_v = is_map<T>::value
 Type trait to check whether T is a std::map.
 
template<typename T >
constexpr bool plssvm::detail::is_multiset_v = is_multiset<T>::value
 Type trait to check whether T is a std::multiset.
 
template<typename T >
constexpr bool plssvm::detail::is_multimap_v = is_multimap<T>::value
 Type trait to check whether T is a std::multimap.
 
template<typename T >
constexpr bool plssvm::detail::is_associative_container_v = is_set_v<T> || is_map_v<T> || is_multimap_v<T> || is_multiset_v<T>
 Type trait to check whether T is a associative container.
 
template<typename T >
constexpr bool plssvm::detail::is_unordered_set_v = is_unordered_set<T>::value
 Type trait to check whether T is a std::unordered_set.
 
template<typename T >
constexpr bool plssvm::detail::is_unordered_map_v = is_unordered_map<T>::value
 Type trait to check whether T is a std::unordered_map.
 
template<typename T >
constexpr bool plssvm::detail::is_unordered_multiset_v = is_unordered_multiset<T>::value
 Type trait to check whether T is a std::unordered_multiset.
 
template<typename T >
constexpr bool plssvm::detail::is_unordered_multimap_v = is_unordered_multimap<T>::value
 Type trait to check whether T is a std::unordered_multimap.
 
template<typename T >
constexpr bool plssvm::detail::is_unordered_associative_container_v = is_unordered_set_v<T> || is_unordered_map_v<T> || is_unordered_multimap_v<T> || is_unordered_multiset_v<T>
 Type trait to check whether T is a unordered associative container.
 
template<typename T >
constexpr bool plssvm::detail::is_container_v = is_sequence_container_v<T> || is_associative_container_v<T> || is_unordered_associative_container_v<T>
 Type trait to check whether T is a container.
 

Detailed Description

Defines some generic type traits used in the PLSSVM library.

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.