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

Implements a class used to be able to distinguish between the default value of a variable and an assigned value. More...

#include "plssvm/detail/type_traits.hpp"
#include <cstddef>
#include <functional>
#include <istream>
#include <ostream>
#include <type_traits>
#include <utility>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plssvm::default_init< T >
 This class denotes an explicit default value initialization used to distinguish between the default value or user provided initialization in the default_value class. More...
 
class  plssvm::default_value< T >
 This class encapsulates a value that may be a default value or not. More...
 
struct  plssvm::is_default_value< T >
 Test whether the given type T is of type plssvm::default_value ignoring all top-level const, volatile, and reference qualifiers. More...
 
struct  std::hash< plssvm::default_value< T > >
 Hashing struct specialization in the std namespace for a default_value. More...
 

Namespaces

 plssvm
 The main namespace containing all public API functions.
 

Functions

template<typename T >
std::ostream & plssvm::operator<< (std::ostream &out, const default_value< T > &val)
 Output the wrapped value of val to the given output-stream out. More...
 
template<typename T >
std::istream & plssvm::operator>> (std::istream &in, default_value< T > &val)
 Use the input-stream in to initialize the default_value val. More...
 
template<typename T >
constexpr void plssvm::swap (default_value< T > &lhs, default_value< T > &rhs) noexcept(noexcept(lhs.swap(rhs)))
 Swap the content of two default_values lhs and rhs. More...
 
template<typename T >
constexpr bool plssvm::operator== (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values lhs and rhs for equality. More...
 
template<typename T >
constexpr bool plssvm::operator== (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values lhs and rhs for equality. More...
 
template<typename T >
constexpr bool plssvm::operator== (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values lhs and rhs for equality. More...
 
template<typename T >
constexpr bool plssvm::operator!= (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values lhs and rhs for inequality. More...
 
template<typename T >
constexpr bool plssvm::operator!= (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values lhs and rhs for inequality. More...
 
template<typename T >
constexpr bool plssvm::operator!= (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values lhs and rhs for inequality. More...
 
template<typename T >
constexpr bool plssvm::operator< (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs < rhs. More...
 
template<typename T >
constexpr bool plssvm::operator< (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values: lhs < rhs. More...
 
template<typename T >
constexpr bool plssvm::operator< (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs < rhs. More...
 
template<typename T >
constexpr bool plssvm::operator> (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs > rhs. More...
 
template<typename T >
constexpr bool plssvm::operator> (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values: lhs > rhs. More...
 
template<typename T >
constexpr bool plssvm::operator> (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs > rhs. More...
 
template<typename T >
constexpr bool plssvm::operator<= (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs <= rhs. More...
 
template<typename T >
constexpr bool plssvm::operator<= (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values: lhs <= rhs. More...
 
template<typename T >
constexpr bool plssvm::operator<= (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs <= rhs. More...
 
template<typename T >
constexpr bool plssvm::operator>= (const default_value< T > &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs >= rhs. More...
 
template<typename T >
constexpr bool plssvm::operator>= (const default_value< T > &lhs, const T &rhs) noexcept
 Compares the two active values: lhs >= rhs. More...
 
template<typename T >
constexpr bool plssvm::operator>= (const T &lhs, const default_value< T > &rhs) noexcept
 Compares the two active values: lhs >= rhs. More...
 

Variables

template<typename T >
constexpr bool plssvm::is_default_value_v = is_default_value<T>::value
 Test whether the given type T is of type plssvm::default_value ignoring all top-level const, volatile, and reference qualifiers.
 

Detailed Description

Implements a class used to be able to distinguish between the default value of a variable and an assigned value.

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.