|
|
| intrusive_avl_tree_base () ETL_NOEXCEPT |
| | Default constructor.
|
| | ~intrusive_avl_tree_base () |
|
ETL_NODISCARD link_type * | get_root () ETL_NOEXCEPT |
|
ETL_NODISCARD const link_type * | get_root () const ETL_NOEXCEPT |
|
ETL_NODISCARD link_type & | get_origin () ETL_NOEXCEPT |
|
const link_type & | get_origin () const ETL_NOEXCEPT |
|
template<typename TValue, typename TIterator, typename TBinaryCompare> |
| void | assign_impl (TIterator first, TIterator last, TBinaryCompare binary_comp) |
|
template<typename TValue, typename TCompare, typename TFactory> |
| etl::pair< TValue *, bool > | find_or_insert_impl (TCompare comp, TFactory factory) |
|
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | get_origin (TLink *link) ETL_NOEXCEPT |
|
static ETL_NODISCARD bool | is_real_link (const link_type *link) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | begin_impl (TLink &origin) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | end_impl (TLink &origin) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | find_extremum_impl (TLink *curr, const bool is_max) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | next_in_order_impl (TLink *curr) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | prev_in_order_impl (TLink *curr) ETL_NOEXCEPT |
|
template<typename TLink, typename Visitor> |
| static void | visit_in_order_impl (TLink *curr, const bool is_reverse, Visitor visitor) |
|
template<typename TLink, typename Visitor> |
| static void | visit_post_order_impl (TLink *curr, const bool is_reverse, Visitor visitor) |
|
template<typename TLink, typename Visitor> |
| static void | visit_pre_order_impl (TLink *curr, const bool is_reverse, Visitor visitor) |
|
static ETL_NODISCARD int_fast8_t | get_balance_factor_impl (const link_type *const curr) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | get_parent_impl (TLink *const curr) ETL_NOEXCEPT |
|
template<typename TLink> |
| static ETL_NODISCARD TLink * | get_child_impl (TLink *const curr, const bool is_right) ETL_NOEXCEPT |
|
template<typename TValue, typename TLink, typename TCompare> |
| static TValue * | find_impl (TLink *const root, TCompare comp) |
|
template<bool IsUpper, typename TValue, typename TLink, typename TCompare> |
| static TValue * | find_bound_impl (TLink *const root, TCompare comp) |
|
static void | erase_impl (link_type *const z_link) ETL_NOEXCEPT |
template<size_t ID_>
class etl::intrusive_avl_tree_base< ID_ >
Base for intrusive AVL tree. Stores elements derived from 'intrusive_avl_tree_base<ID>::link_type'.
- Template Parameters
-
| ID_ | The link ID that the value is derived from. |