11// SPDX-License-Identifier: BSD-3-Clause
2- /* Copyright 2020-2021 , Intel Corporation */
2+ /* Copyright 2020-2022 , Intel Corporation */
33
44/* *
55 * @file
@@ -586,13 +586,12 @@ struct radix_tree<Key, Value, BytesView, MtMode>::node {
586586 end () const ;
587587
588588 template <bool Direction = direction::Forward, typename Ptr>
589- auto find_child (const Ptr &n) const -> decltype(begin<Direction>()) ;
589+ iterator<Direction> find_child (const Ptr &n) const ;
590590
591591 template <bool Direction = direction::Forward,
592592 typename Enable = typename std::enable_if<
593593 Direction == direction::Forward>::type>
594- auto make_iterator (const atomic_pointer_type *ptr) const
595- -> decltype(begin<Direction>());
594+ iterator<Direction> make_iterator (const atomic_pointer_type *ptr) const ;
596595
597596 uint8_t padding[256 - sizeof (parent) - sizeof (leaf) - sizeof (child) -
598597 sizeof (byte) - sizeof (bit)];
@@ -3006,9 +3005,9 @@ radix_tree<Key, Value, BytesView, MtMode>::node::end() const
30063005
30073006template <typename Key, typename Value, typename BytesView, bool MtMode>
30083007template <bool Direction, typename Ptr>
3009- auto
3008+ typename radix_tree<Key, Value, BytesView,
3009+ MtMode>::node::template iterator<Direction>
30103010radix_tree<Key, Value, BytesView, MtMode>::node::find_child(const Ptr &n) const
3011- -> decltype (begin<Direction>())
30123011{
30133012 auto it = begin<Direction>();
30143013 while (it != end<Direction>()) {
@@ -3021,9 +3020,10 @@ radix_tree<Key, Value, BytesView, MtMode>::node::find_child(const Ptr &n) const
30213020
30223021template <typename Key, typename Value, typename BytesView, bool MtMode>
30233022template <bool Direction, typename Enable>
3024- auto
3023+ typename radix_tree<Key, Value, BytesView,
3024+ MtMode>::node::template iterator<Direction>
30253025radix_tree<Key, Value, BytesView, MtMode>::node::make_iterator(
3026- const atomic_pointer_type *ptr) const -> decltype (begin<Direction>())
3026+ const atomic_pointer_type *ptr) const
30273027{
30283028 return forward_iterator (ptr, this );
30293029}
0 commit comments