1 #ifndef canvas_Persistency_Common_AssnsNode_h 2 #define canvas_Persistency_Common_AssnsNode_h 11 template <
typename L,
typename R,
typename D>
28 template <std::
size_t I,
typename Node>
31 template <
typename L,
typename R,
typename D>
36 template <
typename L,
typename R,
typename D>
41 template <
typename L,
typename R,
typename D>
47 template <std::
size_t I,
typename Node>
50 template <std::
size_t I,
typename L,
typename R,
typename D>
55 template <std::
size_t I,
typename Node>
61 template <
typename L,
typename R,
typename D>
68 template <std::
size_t I>
69 static std::enable_if_t<(I == 0), tuple_element_t<I, node_t>
const&>
75 template <std::
size_t I>
76 static std::enable_if_t<(I == 1), tuple_element_t<I, node_t>
const&>
82 template <std::
size_t I>
83 static std::enable_if_t<(I == 2), tuple_element_t<I, node_t>
const&>
91 static std::enable_if_t<std::is_same_v<T, first_type>,
T const&>
98 static std::enable_if_t<std::is_same_v<T, second_type>,
T const&>
104 template <
typename T>
105 static std::enable_if_t<std::is_same_v<T, D>,
T const&>
113 template <
typename T,
typename L,
typename R,
typename D>
120 template <std::
size_t I,
typename L,
typename R,
typename D>
static std::enable_if_t<(I==1), tuple_element_t< I, node_t > const & > get_element(node_t const &r)
static std::enable_if_t< std::is_same_v< T, first_type >, T const & > get_element(node_t const &r)
AssnsNode(art::Ptr< L > const &l, art::Ptr< R > const &r, D const &d)
static std::enable_if_t< std::is_same_v< T, second_type >, T const & > get_element(node_t const &r)
static std::enable_if_t< std::is_same_v< T, D >, T const & > get_element(node_t const &r)
typename tuple_element< I, Node >::type tuple_element_t
static std::enable_if_t<(I==0), tuple_element_t< I, node_t > const & > get_element(node_t const &r)
static std::enable_if_t<(I==2), tuple_element_t< I, node_t > const & > get_element(node_t const &r)
typename node_t::second_type second_type
typename node_t::first_type first_type