mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
* Fix is_swappable for MSVC in C++14 * MSVC 19.44, Debug build, C++20 specific format adjustment * Add docs and tutorial for etl::intrusive_avl_tree (#1608) * Add docs and tutorial for etl::intrusive_avl_tree Documents the intrusive AVL tree added in PR #1425: a full API reference page under Containers/Trees, and a tutorial demonstrating ordered access to intrusively-linked objects with unpredictable lifetimes, including move support and destructor-driven automatic removal from the tree. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Add complexity shortcode and document its usage Introduces a {{< complexity >}} Hugo shortcode (with light/dark styling for constant/logarithmic/linear/linearithmic/polynomial/exponential classes) for rendering Big-O complexity inline, applies it throughout the intrusive_avl_tree API reference in place of raw "O(...)" text, and documents the Description/Complexity structure and supported classes in DOCUMENTATION.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * Fix issues found by @CodeRabbit * Put complexity notes on their own lines in intrusive_avl_tree docs Move the complexity shortcode from the inline "**Complexity:**" label to its own line under a "**Complexity**" label. Notes that give several alternatives (e.g. amortized vs. worst-case) now show each one on a separate line. Update the guideline in DOCUMENTATION.md to match. * Update complexity examples in DOCUMENTATION.md Add the hard line break after the "**Complexity**" label in the example, and rewrite the list of supported complexity classes in the new two-line format, including an example with several alternatives. * Add logarithmic complexity example to DOCUMENTATION.md --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com> * Updated sponsors pages * Refactor the documentation css to group styles for light and dark themes --------- Co-authored-by: John Wellbelove <jwellbelove@users.noreply.github.com> Co-authored-by: Sergei <sergej.shirokov@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: John Wellbelove <john.wellbelove@etlcpp.com>
140 lines
3.9 KiB
YAML
140 lines
3.9 KiB
YAML
name: msvc
|
|
on:
|
|
push:
|
|
branches: [ master, development, pull-request/* ]
|
|
paths:
|
|
- '.github/workflows/**'
|
|
- 'include/**'
|
|
- 'test/**'
|
|
- 'CMakeLists.txt'
|
|
- 'cmake/**'
|
|
- 'BUILD.bazel'
|
|
- 'MODULE.bazel*'
|
|
- 'meson.build'
|
|
- 'meson_options.txt'
|
|
- 'subprojects/**'
|
|
- '.devcontainer/**'
|
|
pull_request:
|
|
branches: [ master, development, pull-request/* ]
|
|
types: [opened, synchronize, reopened]
|
|
paths:
|
|
- '.github/workflows/**'
|
|
- 'include/**'
|
|
- 'test/**'
|
|
- 'CMakeLists.txt'
|
|
- 'cmake/**'
|
|
- 'BUILD.bazel'
|
|
- 'MODULE.bazel*'
|
|
- 'meson.build'
|
|
- 'meson_options.txt'
|
|
- 'subprojects/**'
|
|
- '.devcontainer/**'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build-windows-msvc-stl:
|
|
name: Windows - STL - C++${{ matrix.cxx_standard }}
|
|
runs-on: [windows-2022]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
cxx_standard: [14, 17, 20]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6.0.3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
|
|
- name: Build
|
|
run: |
|
|
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
|
MSBuild.exe -version
|
|
MSBuild.exe .\etl.sln
|
|
|
|
- name: Run tests
|
|
run: test/Debug/etl_tests.exe -v
|
|
|
|
build-windows-msvc-no-stl:
|
|
name: Windows - No STL - C++${{ matrix.cxx_standard }}
|
|
runs-on: [windows-2022]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
cxx_standard: [14, 17, 20]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6.0.3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
|
|
- name: Build
|
|
run: |
|
|
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
|
MSBuild.exe -version
|
|
MSBuild.exe .\etl.sln
|
|
|
|
- name: Run tests
|
|
run: test/Debug/etl_tests.exe -v
|
|
|
|
build-windows-msvc-stl-force-cpp03:
|
|
name: Windows - STL - Force C++03 - C++${{ matrix.cxx_standard }}
|
|
runs-on: [windows-2022]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
cxx_standard: [14, 17, 20]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6.0.3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
|
|
- name: Build
|
|
run: |
|
|
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
|
MSBuild.exe -version
|
|
MSBuild.exe .\etl.sln
|
|
|
|
- name: Run tests
|
|
run: test/Debug/etl_tests.exe -v
|
|
|
|
build-windows-msvc-no-stl-force-cpp03:
|
|
name: Windows - No STL - Force C++03 - C++${{ matrix.cxx_standard }}
|
|
runs-on: [windows-2022]
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
cxx_standard: [14, 17, 20]
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6.0.3
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Add msbuild to PATH
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
|
|
- name: Build
|
|
run: |
|
|
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
|
MSBuild.exe -version
|
|
MSBuild.exe .\etl.sln
|
|
|
|
- name: Run tests
|
|
run: test/Debug/etl_tests.exe -v
|