11 #ifndef LARDATA_RECOBASEPROXY_PROXYBASE_ASSNSNODEASTUPLE_H 12 #define LARDATA_RECOBASEPROXY_PROXYBASE_ASSNSNODEASTUPLE_H 31 template <
typename L,
typename R,
typename D>
32 class tuple_element<0U,
art::AssnsNode<L, R, D>> {
37 template <
typename L,
typename R,
typename D>
38 class tuple_element<1U,
art::AssnsNode<L, R, D>> {
43 template <
typename L,
typename R,
typename D>
44 class tuple_element<2U,
art::AssnsNode<L, R, D>> {
51 template< std::
size_t I,
typename L,
typename R,
typename D>
52 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>&
55 template< std::
size_t I,
typename L,
typename R,
typename D>
56 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>&&
59 template< std::
size_t I,
typename L,
typename R,
typename D>
60 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>
const&
63 template< std::
size_t I,
typename L,
typename R,
typename D>
64 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>
const&&
67 template<
class T,
typename L,
typename R,
typename D>
70 template<
class T,
typename L,
typename R,
typename D>
73 template<
class T,
typename L,
typename R,
typename D>
76 template<
class T,
typename L,
typename R,
typename D>
95 template <std::
size_t I,
typename L,
typename R,
typename D>
99 template <
typename L,
typename R,
typename D>
103 using Element_t = std::tuple_element_t<0U, AssnsNode_t>;
106 {
return node.
first; }
109 {
return node.first; }
112 {
return std::move(node.first); }
115 {
return std::move(node.first); }
120 template <
typename L,
typename R,
typename D>
124 using Element_t = std::tuple_element_t<1U, AssnsNode_t>;
130 {
return node.second; }
133 {
return std::move(node.second); }
136 {
return std::move(node.second); }
141 template <
typename L,
typename R,
typename D>
145 using Element_t = std::tuple_element_t<2U, AssnsNode_t>;
148 {
return node.
data; }
151 {
return node.data; }
154 {
return std::move(node.data); }
157 {
return std::move(node.data); }
172 template< std::
size_t I,
typename L,
typename R,
typename D>
173 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>&
177 template< std::
size_t I,
typename L,
typename R,
typename D>
178 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>&&
184 template< std::
size_t I,
typename L,
typename R,
typename D>
185 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>
const&
189 template< std::
size_t I,
typename L,
typename R,
typename D>
190 constexpr std::tuple_element_t<I, art::AssnsNode<L, R, D>>
const&&
197 template<
class T,
typename L,
typename R,
typename D>
200 template<
class T,
typename L,
typename R,
typename D>
203 template<
class T,
typename L,
typename R,
typename D>
206 template<
class T,
typename L,
typename R,
typename D>
217 #endif // LARDATA_RECOBASEPROXY_PROXYBASE_ASSNSNODEASTUPLE_H
Namespace for general, non-LArSoft-specific utilities.
std::tuple_element_t< 1U, AssnsNode_t > Element_t
std::tuple_element_t< 0U, AssnsNode_t > Element_t
std::tuple_element_t< 2U, AssnsNode_t > Element_t