Rename 'leaf' to 'child' in intrusive_links.h (#1373)

* Print test names at test time (#1343)

* Rename 'leaf' to 'child' in intrusive_links.h

Recent versions of the Tasking TriCore compiler treat
'leaf' as a reserved C++ keyword, causing compilation failures in ETL.

---------

Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de>
Co-authored-by: Maksim Danilov <maksim.danilov@accenture.com>
Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
This commit is contained in:
Maksim Danilov 2026-04-03 18:35:41 +02:00 committed by GitHub
parent 982adecca4
commit 823f2493b4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1141,52 +1141,56 @@ namespace etl
//***************************************************************************
// Reference, Reference
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink& parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_left(TLink& parent, TLink& child)
{
parent.etl_left = &leaf;
leaf.etl_parent = &parent;
parent.etl_left = &child;
child.etl_parent = &parent;
}
//***********************************
// Pointer, Pointer
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink* parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_left(TLink* parent, TLink* child)
{
if (parent != ETL_NULLPTR)
{
parent->etl_left = leaf;
parent->etl_left = child;
}
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
leaf->etl_parent = parent;
child->etl_parent = parent;
}
}
//***********************************
// Reference, Pointer
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink& parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_left(TLink& parent, TLink* child)
{
parent.etl_left = leaf;
parent.etl_left = child;
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
leaf->etl_parent = &parent;
child->etl_parent = &parent;
}
}
//***********************************
// Pointer, Reference
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_left(TLink* parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_left(TLink* parent, TLink& child)
{
if (parent != ETL_NULLPTR)
{
parent->etl_left = &leaf;
parent->etl_left = &child;
}
leaf.etl_parent = parent;
child.etl_parent = parent;
}
//***************************************************************************
@ -1194,49 +1198,53 @@ namespace etl
// Sets the right link.
//***************************************************************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink& parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_right(TLink& parent, TLink& child)
{
parent.etl_right = &leaf;
leaf.etl_parent = &parent;
parent.etl_right = &child;
child.etl_parent = &parent;
}
//***********************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink* parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_right(TLink* parent, TLink* child)
{
if (parent != ETL_NULLPTR)
{
parent->etl_right = leaf;
parent->etl_right = child;
}
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
leaf->etl_parent = parent;
child->etl_parent = parent;
}
}
//***********************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink& parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_right(TLink& parent, TLink* child)
{
parent.etl_right = leaf;
parent.etl_right = child;
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
leaf->etl_parent = &parent;
child->etl_parent = &parent;
}
}
//***********************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_right(TLink* parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_right(TLink* parent, TLink& child)
{
if (parent != ETL_NULLPTR)
{
parent->etl_right = &leaf;
parent->etl_right = &child;
}
leaf.etl_parent = parent;
child.etl_parent = parent;
}
//***************************************************************************
@ -1244,30 +1252,31 @@ namespace etl
//***************************************************************************
// Reference, Reference
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink& parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_left(TLink& parent, TLink& child)
{
TLink* grandparent = parent.etl_parent;
parent.etl_right = leaf.etl_left;
parent.etl_right = child.etl_left;
if (parent.etl_right != ETL_NULLPTR)
{
parent.etl_right->etl_parent = &parent;
}
leaf.etl_parent = grandparent;
parent.etl_parent = &leaf;
leaf.etl_left = &parent;
child.etl_parent = grandparent;
parent.etl_parent = &child;
child.etl_left = &parent;
if (grandparent != ETL_NULLPTR)
{
if (grandparent->etl_left == &parent)
{
grandparent->etl_left = &leaf;
grandparent->etl_left = &child;
}
else if (grandparent->etl_right == &parent)
{
grandparent->etl_right = &leaf;
grandparent->etl_right = &child;
}
}
}
@ -1275,33 +1284,36 @@ namespace etl
//***********************************
// Pointer, Pointer
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink* parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_left(TLink* parent, TLink* child)
{
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
{
link_rotate_left(*parent, *leaf);
link_rotate_left(*parent, *child);
}
}
//***********************************
// Reference, Pointer
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink& parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_left(TLink& parent, TLink* child)
{
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
link_rotate_left(parent, *leaf);
link_rotate_left(parent, *child);
}
}
//***********************************
// Pointer, Reference
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_left(TLink* parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_left(TLink* parent, TLink& child)
{
if (parent != ETL_NULLPTR)
{
link_rotate_left(*parent, leaf);
link_rotate_left(*parent, child);
}
}
@ -1309,59 +1321,63 @@ namespace etl
// link_rotate_right
//***************************************************************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink& parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_right(TLink& parent, TLink& child)
{
TLink* grandparent = parent.etl_parent;
parent.etl_left = leaf.etl_right;
parent.etl_left = child.etl_right;
if (parent.etl_left != ETL_NULLPTR)
{
parent.etl_left->etl_parent = &parent;
}
leaf.etl_parent = grandparent;
parent.etl_parent = &leaf;
leaf.etl_right = &parent;
child.etl_parent = grandparent;
parent.etl_parent = &child;
child.etl_right = &parent;
if (grandparent != ETL_NULLPTR)
{
if (grandparent->etl_left == &parent)
{
grandparent->etl_left = &leaf;
grandparent->etl_left = &child;
}
else if (grandparent->etl_right == &parent)
{
grandparent->etl_right = &leaf;
grandparent->etl_right = &child;
}
}
}
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink* parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_right(TLink* parent, TLink* child)
{
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
{
link_rotate_right(*parent, *leaf);
link_rotate_right(*parent, *child);
}
}
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink& parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_right(TLink& parent, TLink* child)
{
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
link_rotate_right(parent, *leaf);
link_rotate_right(parent, *child);
}
}
//***********************************
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate_right(TLink* parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate_right(TLink* parent, TLink& child)
{
if (parent != ETL_NULLPTR)
{
link_rotate_right(*parent, leaf);
link_rotate_right(*parent, child);
}
}
@ -1371,15 +1387,16 @@ namespace etl
// Reference, Reference
/// Automatically detects whether a left or right rotate is expected.
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink& parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate(TLink& parent, TLink& child)
{
if (parent.etl_left == &leaf)
if (parent.etl_left == &child)
{
etl::link_rotate_right(parent, leaf);
etl::link_rotate_right(parent, child);
}
else
{
etl::link_rotate_left(parent, leaf);
etl::link_rotate_left(parent, child);
}
}
@ -1387,17 +1404,18 @@ namespace etl
// Pointer, Pointer
/// Automatically detects whether a left or right rotate is expected.
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink* parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate(TLink* parent, TLink* child)
{
if ((parent != ETL_NULLPTR) && (leaf != ETL_NULLPTR))
if ((parent != ETL_NULLPTR) && (child != ETL_NULLPTR))
{
if (parent->etl_left == leaf)
if (parent->etl_left == child)
{
etl::link_rotate_right(*parent, *leaf);
etl::link_rotate_right(*parent, *child);
}
else
{
etl::link_rotate_left(*parent, *leaf);
etl::link_rotate_left(*parent, *child);
}
}
}
@ -1406,17 +1424,18 @@ namespace etl
// Reference, Pointer
/// Automatically detects whether a left or right rotate is expected.
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink& parent, TLink* leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate(TLink& parent, TLink* child)
{
if (leaf != ETL_NULLPTR)
if (child != ETL_NULLPTR)
{
if (parent.etl_left == leaf)
if (parent.etl_left == child)
{
etl::link_rotate_right(parent, *leaf);
etl::link_rotate_right(parent, *child);
}
else
{
etl::link_rotate_left(parent, *leaf);
etl::link_rotate_left(parent, *child);
}
}
}
@ -1425,17 +1444,18 @@ namespace etl
// Pointer, Reference
/// Automatically detects whether a left or right rotate is expected.
template <typename TLink>
typename etl::enable_if< etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type link_rotate(TLink* parent, TLink& leaf)
typename etl::enable_if<etl::is_same<TLink, etl::tree_link<TLink::ID> >::value, void>::type
link_rotate(TLink* parent, TLink& child)
{
if (parent != ETL_NULLPTR)
{
if (parent->etl_left == &leaf)
if (parent->etl_left == &child)
{
etl::link_rotate_right(*parent, leaf);
etl::link_rotate_right(*parent, child);
}
else
{
etl::link_rotate_left(*parent, leaf);
etl::link_rotate_left(*parent, child);
}
}
}