KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
KDBindings::Private Namespace Reference

A namespace containing parts of KDBindings that are not part of the public API. More...

Classes

struct  any_bindables
 
struct  any_bindables< HEAD, Ts... >
 
struct  any_bindables< T >
 
struct  are_equality_comparable
 
struct  are_equality_comparable< X, Y, std::enable_if_t< std::is_same< std::decay_t< decltype(std::equal_to<>{}(std::declval< X >(), std::declval< Y >()))>, bool >::value > >
 
struct  bindable_value_type
 
struct  bindable_value_type_
 
struct  bindable_value_type_< Node< T > >
 
struct  bindable_value_type_< NodeInterface< T > >
 
struct  bindable_value_type_< Property< T > >
 
class  ConstantNode
 
class  Dirtyable
 
struct  GenerationalIndex
 
class  GenerationalIndexAllocator
 
class  GenerationalIndexArray
 
struct  is_node
 
struct  is_node_helper
 
struct  is_node_helper< Node< T > >
 
class  Node
 
class  NodeInterface
 
class  OperatorNode
 
struct  placeholder
 
class  PropertyNode
 
class  SignalImplBase
 
struct  TypeMarker
 

Typedefs

template<typename T >
using bindable_value_type_t = typename bindable_value_type< T >::type
 
template<typename Operator , typename... Ts>
using operator_node_result = std::decay< std::invoke_result_t< std::decay_t< Operator >, bindable_value_type_t< Ts >... > >
 
template<typename Operator , typename... Ts>
using operator_node_result_t = typename operator_node_result< Operator, Ts... >::type
 

Functions

template<typename Func , typename... Args, typename = std::enable_if_t<std::conjunction_v<std::negation<std::is_placeholder<Args>>...>>>
auto bind_first (Func &&fun, Args &&...args)
 
template<typename Func , typename... Args, std::size_t... Is>
auto bind_first_helper (std::index_sequence< Is... >, Func &&fun, Args... args)
 
template<typename T >
constexpr size_t get_arity ()
 
template<typename Return , typename Class , typename... Arguments>
constexpr size_t get_arity (::KDBindings::Private::TypeMarker< Return(Class::*)(Arguments...)>)
 
template<typename T >
constexpr size_t get_arity (const T &)
 
template<typename Return , typename... Arguments>
constexpr size_t get_arity (TypeMarker< Return(*)(Arguments...) noexcept >)
 
template<typename Return , typename... Arguments>
constexpr size_t get_arity (TypeMarker< Return(*)(Arguments...)>)
 
template<typename T >
constexpr size_t get_arity (TypeMarker< T >)
 
template<typename T >
Node< TmakeNode (Node< T > &&node)
 
template<typename T >
Node< TmakeNode (Property< T > &property)
 
template<typename T >
Node< std::decay_t< T > > makeNode (T &&value)
 

Variables

template<typename X , typename Y >
constexpr bool are_equality_comparable_v = are_equality_comparable<X, Y>::value
 
template<typename Operator , typename... Ts, typename = std::enable_if_t<sizeof...(Ts) >= 1>
 ResultType
 

Detailed Description

A namespace containing parts of KDBindings that are not part of the public API.

The contents of this namespace may only be accessed by the implementation of KDBindings, they are not part of KDBindings public API and may be altered at any time and provide no guarantees of any kind when used directly.

Typedef Documentation

◆ bindable_value_type_t

Definition at line 46 of file make_node.h.

◆ operator_node_result

template<typename Operator , typename... Ts>
using KDBindings::Private::operator_node_result = typedef std::decay< std::invoke_result_t< std::decay_t<Operator>, bindable_value_type_t<Ts>...> >

Definition at line 50 of file make_node.h.

◆ operator_node_result_t

Definition at line 57 of file make_node.h.

Function Documentation

◆ bind_first()

template<typename Func , typename... Args, typename = std::enable_if_t<std::conjunction_v<std::negation<std::is_placeholder<Args>>...>>>
auto KDBindings::Private::bind_first ( Func &&  fun,
Args &&...  args 
)

Definition at line 152 of file utils.h.

References bind_first_helper().

Referenced by KDBindings::Signal< Args >::connect().

◆ bind_first_helper()

template<typename Func , typename... Args, std::size_t... Is>
auto KDBindings::Private::bind_first_helper ( std::index_sequence< Is... >  ,
Func &&  fun,
Args...  args 
)

Definition at line 131 of file utils.h.

Referenced by bind_first().

◆ get_arity() [1/6]

template<typename T >
constexpr size_t KDBindings::Private::get_arity ( )
constexpr

Definition at line 42 of file utils.h.

References get_arity().

Referenced by get_arity(), and get_arity().

◆ get_arity() [2/6]

template<typename Return , typename Class , typename... Arguments>
constexpr size_t KDBindings::Private::get_arity ( ::KDBindings::Private::TypeMarker< Return(Class::*)(Arguments...)>  )
constexpr

Definition at line 88 of file utils.h.

◆ get_arity() [3/6]

template<typename T >
constexpr size_t KDBindings::Private::get_arity ( const T )
constexpr

Definition at line 50 of file utils.h.

◆ get_arity() [4/6]

template<typename Return , typename... Arguments>
constexpr size_t KDBindings::Private::get_arity ( TypeMarker< Return(*)(Arguments...) noexcept )
constexpr

Definition at line 63 of file utils.h.

◆ get_arity() [5/6]

template<typename Return , typename... Arguments>
constexpr size_t KDBindings::Private::get_arity ( TypeMarker< Return(*)(Arguments...)>  )
constexpr

Definition at line 57 of file utils.h.

◆ get_arity() [6/6]

template<typename T >
constexpr size_t KDBindings::Private::get_arity ( TypeMarker< T )
constexpr

Definition at line 71 of file utils.h.

References get_arity().

◆ makeNode() [1/3]

template<typename T >
Node< T > KDBindings::Private::makeNode ( Node< T > &&  node)
inline

Definition at line 73 of file make_node.h.

◆ makeNode() [2/3]

template<typename T >
Node< T > KDBindings::Private::makeNode ( Property< T > &  property)
inline

Definition at line 67 of file make_node.h.

◆ makeNode() [3/3]

template<typename T >
Node< std::decay_t< T > > KDBindings::Private::makeNode ( T &&  value)
inline

Variable Documentation

◆ are_equality_comparable_v

template<typename X , typename Y >
constexpr bool KDBindings::Private::are_equality_comparable_v = are_equality_comparable<X, Y>::value
constexpr

Definition at line 46 of file property.h.

◆ ResultType

template<typename Operator , typename... Ts, typename = std::enable_if_t<sizeof...(Ts) >= 1>
KDBindings::Private::ResultType
Initial value:
= operator_node_result_t<Operator, Ts...>>
inline Node<ResultType> makeNode(Operator &&op, Ts &&...args)
{
return Node<ResultType>(std::make_unique<OperatorNode<ResultType, std::decay_t<Operator>, bindable_value_type_t<Ts>...>>(
std::forward<Operator>(op),
makeNode(std::forward<Ts>(args))...));
}
template<typename T>
struct is_bindable : std::integral_constant<
bool,
is_property<T>::value || is_node<T>::value> {
}
typename operator_node_result< Operator, Ts... >::type operator_node_result_t
Definition make_node.h:57
Node< std::decay_t< T > > makeNode(T &&value)
Definition make_node.h:61

Definition at line 78 of file make_node.h.

Referenced by KDBindings::Private::OperatorNode< ResultType, Operator, Ts >::OperatorNode().


© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/
Generated by doxygen 1.9.8