mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
Add etl::intrusive_avl_tree class. (#1425)
* Print test names at test time (#1343) * Fix operator| conflict with std::ranges (#1395) * Added etl::intrusive_avl_tree class. * PR review minor fixes. * Fix `std::move` -> `etl::move` * Apply AI spell checking * Try to fix C++03 build. --------- Co-authored-by: Roland Reichwein <Roland.Reichwein@bmw.de> Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com> Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com>
This commit is contained in:
parent
af3944acdb
commit
e3fad3c908
@ -111,4 +111,5 @@ SOFTWARE.
|
|||||||
#define ETL_SIGNAL_FILE_ID "78"
|
#define ETL_SIGNAL_FILE_ID "78"
|
||||||
#define ETL_FORMAT_FILE_ID "79"
|
#define ETL_FORMAT_FILE_ID "79"
|
||||||
#define ETL_INPLACE_FUNCTION_FILE_ID "80"
|
#define ETL_INPLACE_FUNCTION_FILE_ID "80"
|
||||||
|
#define ETL_INTRUSIVE_AVL_TREE_FILE_ID "81"
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
2011
include/etl/intrusive_avl_tree.h
Normal file
2011
include/etl/intrusive_avl_tree.h
Normal file
File diff suppressed because it is too large
Load Diff
@ -206,6 +206,7 @@ add_executable(etl_tests
|
|||||||
test_inplace_function.cpp
|
test_inplace_function.cpp
|
||||||
test_instance_count.cpp
|
test_instance_count.cpp
|
||||||
test_integral_limits.cpp
|
test_integral_limits.cpp
|
||||||
|
test_intrusive_avl_tree.cpp
|
||||||
test_intrusive_forward_list.cpp
|
test_intrusive_forward_list.cpp
|
||||||
test_intrusive_links.cpp
|
test_intrusive_links.cpp
|
||||||
test_intrusive_list.cpp
|
test_intrusive_list.cpp
|
||||||
|
|||||||
@ -194,6 +194,7 @@ etl_test_sources = files(
|
|||||||
'test_inplace_function.cpp',
|
'test_inplace_function.cpp',
|
||||||
'test_instance_count.cpp',
|
'test_instance_count.cpp',
|
||||||
'test_integral_limits.cpp',
|
'test_integral_limits.cpp',
|
||||||
|
'test_intrusive_avl_tree.cpp',
|
||||||
'test_intrusive_forward_list.cpp',
|
'test_intrusive_forward_list.cpp',
|
||||||
'test_intrusive_links.cpp',
|
'test_intrusive_links.cpp',
|
||||||
'test_intrusive_list.cpp',
|
'test_intrusive_list.cpp',
|
||||||
|
|||||||
@ -247,6 +247,7 @@ target_sources(tests PRIVATE
|
|||||||
inplace_function.h.t.cpp
|
inplace_function.h.t.cpp
|
||||||
instance_count.h.t.cpp
|
instance_count.h.t.cpp
|
||||||
integral_limits.h.t.cpp
|
integral_limits.h.t.cpp
|
||||||
|
intrusive_avl_tree.h.t.cpp
|
||||||
intrusive_forward_list.h.t.cpp
|
intrusive_forward_list.h.t.cpp
|
||||||
intrusive_links.h.t.cpp
|
intrusive_links.h.t.cpp
|
||||||
intrusive_list.h.t.cpp
|
intrusive_list.h.t.cpp
|
||||||
|
|||||||
29
test/syntax_check/intrusive_avl_tree.h.t.cpp
Normal file
29
test/syntax_check/intrusive_avl_tree.h.t.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
The MIT License(MIT)
|
||||||
|
|
||||||
|
Embedded Template Library.
|
||||||
|
https://github.com/ETLCPP/etl
|
||||||
|
https://www.etlcpp.com
|
||||||
|
|
||||||
|
Copyright(c) 2026 Sergei Shirokov
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files(the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions :
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#include <etl/intrusive_avl_tree.h>
|
||||||
1606
test/test_intrusive_avl_tree.cpp
Normal file
1606
test/test_intrusive_avl_tree.cpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -3787,6 +3787,7 @@
|
|||||||
<ClInclude Include="..\..\include\etl\ihash.h" />
|
<ClInclude Include="..\..\include\etl\ihash.h" />
|
||||||
<ClInclude Include="..\..\include\etl\instance_count.h" />
|
<ClInclude Include="..\..\include\etl\instance_count.h" />
|
||||||
<ClInclude Include="..\..\include\etl\integral_limits.h" />
|
<ClInclude Include="..\..\include\etl\integral_limits.h" />
|
||||||
|
<ClInclude Include="..\..\include\etl\intrusive_avl_tree.h" />
|
||||||
<ClInclude Include="..\..\include\etl\intrusive_forward_list.h" />
|
<ClInclude Include="..\..\include\etl\intrusive_forward_list.h" />
|
||||||
<ClInclude Include="..\..\include\etl\intrusive_links.h" />
|
<ClInclude Include="..\..\include\etl\intrusive_links.h" />
|
||||||
<ClInclude Include="..\..\include\etl\intrusive_list.h" />
|
<ClInclude Include="..\..\include\etl\intrusive_list.h" />
|
||||||
@ -7201,6 +7202,26 @@
|
|||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\syntax_check\intrusive_avl_tree.h.t.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug Clang C++20|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug Clang C++20 - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++23|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++23 - No STL|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual imessage|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++ 20 - No Tests|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No STL|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - No STL - Optimised -O2 - Sanitiser|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++17 - No STL|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release MSVC C++20 - Optimised O2|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++14 - No STL|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20 - Force C++03 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\syntax_check\intrusive_forward_list.h.t.cpp">
|
<ClCompile Include="..\syntax_check\intrusive_forward_list.h.t.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC C++20|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug Clang C++20|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug Clang C++20|Win32'">true</ExcludedFromBuild>
|
||||||
@ -10642,6 +10663,7 @@
|
|||||||
<ClCompile Include="..\test_hash.cpp" />
|
<ClCompile Include="..\test_hash.cpp" />
|
||||||
<ClCompile Include="..\test_instance_count.cpp" />
|
<ClCompile Include="..\test_instance_count.cpp" />
|
||||||
<ClCompile Include="..\test_integral_limits.cpp" />
|
<ClCompile Include="..\test_integral_limits.cpp" />
|
||||||
|
<ClCompile Include="..\test_intrusive_avl_tree.cpp" />
|
||||||
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC - No Tests|Win32'">false</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC - No Tests|Win32'">false</ExcludedFromBuild>
|
||||||
|
|||||||
@ -369,6 +369,9 @@
|
|||||||
<ClInclude Include="..\..\include\etl\flat_multiset.h">
|
<ClInclude Include="..\..\include\etl\flat_multiset.h">
|
||||||
<Filter>ETL\Containers</Filter>
|
<Filter>ETL\Containers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\include\etl\intrusive_avl_tree.h">
|
||||||
|
<Filter>ETL\Containers</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\include\etl\intrusive_forward_list.h">
|
<ClInclude Include="..\..\include\etl\intrusive_forward_list.h">
|
||||||
<Filter>ETL\Containers</Filter>
|
<Filter>ETL\Containers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@ -1862,6 +1865,9 @@
|
|||||||
<ClCompile Include="..\test_indirect_vector_external_buffer.cpp">
|
<ClCompile Include="..\test_indirect_vector_external_buffer.cpp">
|
||||||
<Filter>Tests\Containers</Filter>
|
<Filter>Tests\Containers</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\test_intrusive_avl_tree.cpp">
|
||||||
|
<Filter>Tests\Containers</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
||||||
<Filter>Tests\Containers</Filter>
|
<Filter>Tests\Containers</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@ -3014,6 +3020,9 @@
|
|||||||
<ClCompile Include="..\syntax_check\integral_limits.h.t.cpp">
|
<ClCompile Include="..\syntax_check\integral_limits.h.t.cpp">
|
||||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\syntax_check\intrusive_avl_tree.h.t.cpp">
|
||||||
|
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\syntax_check\intrusive_forward_list.h.t.cpp">
|
<ClCompile Include="..\syntax_check\intrusive_forward_list.h.t.cpp">
|
||||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user