mirror of
https://github.com/ETLCPP/etl.git
synced 2026-06-15 08:26:04 +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_FORMAT_FILE_ID "79"
|
||||
#define ETL_INPLACE_FUNCTION_FILE_ID "80"
|
||||
#define ETL_INTRUSIVE_AVL_TREE_FILE_ID "81"
|
||||
#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_instance_count.cpp
|
||||
test_integral_limits.cpp
|
||||
test_intrusive_avl_tree.cpp
|
||||
test_intrusive_forward_list.cpp
|
||||
test_intrusive_links.cpp
|
||||
test_intrusive_list.cpp
|
||||
|
||||
@ -194,6 +194,7 @@ etl_test_sources = files(
|
||||
'test_inplace_function.cpp',
|
||||
'test_instance_count.cpp',
|
||||
'test_integral_limits.cpp',
|
||||
'test_intrusive_avl_tree.cpp',
|
||||
'test_intrusive_forward_list.cpp',
|
||||
'test_intrusive_links.cpp',
|
||||
'test_intrusive_list.cpp',
|
||||
|
||||
@ -247,6 +247,7 @@ target_sources(tests PRIVATE
|
||||
inplace_function.h.t.cpp
|
||||
instance_count.h.t.cpp
|
||||
integral_limits.h.t.cpp
|
||||
intrusive_avl_tree.h.t.cpp
|
||||
intrusive_forward_list.h.t.cpp
|
||||
intrusive_links.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\instance_count.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_links.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 - No virtual messages|Win32'">true</ExcludedFromBuild>
|
||||
</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">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug MSVC 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_instance_count.cpp" />
|
||||
<ClCompile Include="..\test_integral_limits.cpp" />
|
||||
<ClCompile Include="..\test_intrusive_avl_tree.cpp" />
|
||||
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|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">
|
||||
<Filter>ETL\Containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\intrusive_avl_tree.h">
|
||||
<Filter>ETL\Containers</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\intrusive_forward_list.h">
|
||||
<Filter>ETL\Containers</Filter>
|
||||
</ClInclude>
|
||||
@ -1862,6 +1865,9 @@
|
||||
<ClCompile Include="..\test_indirect_vector_external_buffer.cpp">
|
||||
<Filter>Tests\Containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\test_intrusive_avl_tree.cpp">
|
||||
<Filter>Tests\Containers</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\test_intrusive_forward_list.cpp">
|
||||
<Filter>Tests\Containers</Filter>
|
||||
</ClCompile>
|
||||
@ -3014,6 +3020,9 @@
|
||||
<ClCompile Include="..\syntax_check\integral_limits.h.t.cpp">
|
||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||
</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">
|
||||
<Filter>Tests\Syntax Checks\Source</Filter>
|
||||
</ClCompile>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user