Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMpl.h File Reference
#include <tuple>
#include <utility>
#include <optional>
#include <functional>

Go to the source code of this file.

Classes

struct  kismpl::finally< F >
 
struct  kismpl::first_type< T >
 
struct  kismpl::detail::first_type_impl< First, Rest >
 
struct  kismpl::detail::fold_optional_impl< Fun, T >
 
struct  kismpl::detail::make_index_sequence_from_1_impl< 0, Idx... >
 
struct  kismpl::detail::make_index_sequence_from_1_impl< num, Idx... >
 
struct  kismpl::detail::mem_checker< Op, Class, MemType, PtrType >
 
struct  kismpl::detail::mem_compare< Op, Class, MemType, PtrType >
 
struct  kismpl::overloaded< Ts >
 

Namespaces

namespace  kismpl
 
namespace  kismpl::detail
 

Typedefs

template<typename... T>
using kismpl::first_type_t = typename first_type<T...>::type
 
template<std::size_t Num>
using kismpl::make_index_sequence_from_1
 

Functions

template<typename F , typename Tuple >
auto kismpl::apply_to_tuple (F f, Tuple &&t)
 
template<typename F , typename Tuple , std::size_t... I>
auto kismpl::detail::apply_to_tuple_impl (F f, Tuple &&t, std::index_sequence< I... >)
 
template<typename Fun , typename... Args, typename T = typename first_type_t<std::remove_reference_t<Args>...>::value_type>
std::optional< T > kismpl::fold_optional (Fun &&fun, Args &&...args)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_equal_to (MemTypeNoRef Class::*ptr, MemType &&value)
 mem_equal_to is an unary functor that compares a member of the object to a given value
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_equal_to (MemTypeNoRef(Class::*ptr)() noexcept, MemType &&value)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_equal_to (MemTypeNoRef(Class::*ptr)(), MemType &&value)
 
template<typename Class , typename MemType >
auto kismpl::mem_greater (MemType Class::*ptr)
 mem_greater is a binary functor that compares a member of the object to a given value or two objects based on the value of their members
 
template<typename Class , typename MemType >
auto kismpl::mem_greater (MemType(Class::*ptr)() noexcept)
 
template<typename Class , typename MemType >
auto kismpl::mem_greater (MemType(Class::*ptr)())
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater (MemTypeNoRef Class::*ptr, MemType &&value)
 mem_greater is an unary functor that compares a member of the object to a given value
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater (MemTypeNoRef(Class::*ptr)() noexcept, MemType &&value)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater (MemTypeNoRef(Class::*ptr)(), MemType &&value)
 
template<typename Class , typename MemType >
auto kismpl::mem_greater_equal (MemType Class::*ptr)
 mem_greater_equal is a binary functor that compares a member of the object to a given value or two objects based on the value of their members
 
template<typename Class , typename MemType >
auto kismpl::mem_greater_equal (MemType(Class::*ptr)() noexcept)
 
template<typename Class , typename MemType >
auto kismpl::mem_greater_equal (MemType(Class::*ptr)())
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater_equal (MemTypeNoRef Class::*ptr, MemType &&value)
 mem_greater_equal is an unary functor that compares a member of the object to a given value
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater_equal (MemTypeNoRef(Class::*ptr)() noexcept, MemType &&value)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_greater_equal (MemTypeNoRef(Class::*ptr)(), MemType &&value)
 
template<typename Class , typename MemType >
auto kismpl::mem_less (MemType Class::*ptr)
 mem_less is a binary functor that compares a member of the object to a given value or two objects based on the value of their members
 
template<typename Class , typename MemType >
auto kismpl::mem_less (MemType(Class::*ptr)() noexcept)
 
template<typename Class , typename MemType >
auto kismpl::mem_less (MemType(Class::*ptr)())
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less (MemTypeNoRef Class::*ptr, MemType &&value)
 mem_less is an unary functor that compares a member of the object to a given value
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less (MemTypeNoRef(Class::*ptr)() noexcept, MemType &&value)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less (MemTypeNoRef(Class::*ptr)(), MemType &&value)
 
template<typename Class , typename MemType >
auto kismpl::mem_less_equal (MemType Class::*ptr)
 mem_less_equal is a binary functor that compares a member of the object to a given value or two objects based on the value of their members
 
template<typename Class , typename MemType >
auto kismpl::mem_less_equal (MemType(Class::*ptr)() noexcept)
 
template<typename Class , typename MemType >
auto kismpl::mem_less_equal (MemType(Class::*ptr)())
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less_equal (MemTypeNoRef Class::*ptr, MemType &&value)
 mem_less_equal is an unary functor that compares a member of the object to a given value
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less_equal (MemTypeNoRef(Class::*ptr)() noexcept, MemType &&value)
 
template<typename Class , typename MemType , typename MemTypeNoRef = std::remove_reference_t<MemType>>
auto kismpl::mem_less_equal (MemTypeNoRef(Class::*ptr)(), MemType &&value)
 
template<class... Ts>
 kismpl::overloaded (Ts...) -> overloaded< Ts... >
 

Variables

constexpr auto kismpl::unzip_wrapper