#include <type_traits>
#include <cstdint>
#include <utility>
#include <variant>
#include <optional>
#include <chrono>
#include <stdexcept>
#include <string>
#include <neolib/neolib_export.hpp>
Go to the source code of this file.
|
struct | neolib::sfinae |
|
struct | neolib::variadic_index< T, T, Ts... > |
|
struct | neolib::variadic_index< T, Tail, Ts... > |
|
struct | neolib::detail::is_pair< T > |
|
struct | neolib::detail::is_pair< std::pair< T1, T2 > > |
|
struct | neolib::detail::is_pair< const std::pair< T1, T2 > > |
|
struct | neolib::detail::correct_const< T, AT, typename std::enable_if_t<!std::is_const_v< T >, sfinae > > |
|
struct | neolib::detail::correct_const< T, AT, typename std::enable_if_t< std::is_const_v< T >, sfinae > > |
|
struct | neolib::detail::abstract_type< typename, typename > |
|
struct | neolib::detail::abstract_type< T, typename std::enable_if_t< abstract_class_possible_v< T >, sfinae > > |
|
struct | neolib::detail::abstract_type< T, typename std::enable_if_t< std::is_arithmetic_v< T >, sfinae > > |
|
struct | neolib::detail::abstract_type< T, typename std::enable_if_t< std::is_enum_v< T >, sfinae > > |
|
struct | neolib::detail::abstract_type< T, typename std::enable_if_t< std::is_pointer_v< T >, sfinae > > |
|
struct | neolib::detail::abstract_type< std::pair< T1, pair< T1, T2 > > > |
|
struct | neolib::detail::abstract_type< const std::pair< T1, pair< T1, T2 > > > |
|
struct | neolib::detail::abstract_type< std::monostate > |
|
struct | neolib::detail::abstract_type< std::chrono::duration< Rep, Period > > |
|
struct | neolib::detail::abstract_return_type< T, typename > |
|
struct | neolib::detail::abstract_return_type< T, std::enable_if_t< std::is_scalar_v< T >, sfinae > > |
|
|
template<typename T > |
to_const_reference_t< T > | neolib::to_const (T &&object) |
|
template<typename T , typename = std::enable_if_t<detail::abstract_type<T>::value, sfinae>> |
const abstract_t< T > & | neolib::to_abstract (const T &aArgument) |
|
template<typename T , typename = std::enable_if_t<detail::abstract_type<T>::value, sfinae>> |
abstract_t< T > & | neolib::to_abstract (T &aArgument) |
|
template<typename T1 , typename T2 > |
const abstract_t< pair< T1, T2 > > & | neolib::to_abstract (const std::pair< T1, pair< T1, T2 > > &aArgument) |
|
template<typename T1 , typename T2 > |
abstract_t< neolib::pair< T1, T2 > > & | neolib::to_abstract (std::pair< T1, pair< T1, T2 > > &aArgument) |
|
template<typename T > |
void | neolib::clear_cache (cache< T > &aCachedVariable) |
|
◆ GENERATE_HAS_MEMBER_TYPE
#define GENERATE_HAS_MEMBER_TYPE |
( |
|
Type | ) |
|
◆ rvalue_cast
#define rvalue_cast static_cast |
◆ STRING
◆ STRING2
◆ TODO
#define TODO throw std::logic_error(std::string{ TODO_MSG }); |
◆ TODO_MSG
#define TODO_MSG __FILE__ "(" STRING(__LINE__) "): TODO" |
◆ ndebug
constexpr bool ndebug = false |
|
constexpr |