Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
7822f1b
update CI
sdarwin Dec 10, 2020
3e9489a
update CMakeLists.txt
alandefreitas Nov 1, 2022
25579e4
update jamfile
alandefreitas Nov 1, 2022
c4f6491
fix restrict warning
alandefreitas Nov 1, 2022
ffce33d
fix array-bounds warning
alandefreitas Nov 2, 2022
bfce6ee
fix unused-function warning
alandefreitas Nov 3, 2022
0c914ff
fix noexcept-type warning
alandefreitas Nov 4, 2022
9c3d5fe
tests include main header
alandefreitas Jan 12, 2023
82ff4e0
static_string<0> does not memcpy
alandefreitas Jan 12, 2023
2699874
check for char8_t directly
alandefreitas Jan 12, 2023
ac84c4f
string_view interoperability
alandefreitas Jan 12, 2023
6275cd7
disable string_view overloads when type is convertible to basic_stati…
sdkrystian May 29, 2023
175f467
select hash implementation with macros based on word size
sdkrystian May 29, 2023
42bb99e
support platforms without wchar_t
sdkrystian Oct 24, 2023
bff5cb6
Boost super-project tests target
alandefreitas Dec 22, 2023
8f969a6
Make the library modular usable.
grafikrobot Mar 11, 2024
77d6a43
Switch to library requirements instead of source. As source puts extr…
grafikrobot Mar 30, 2024
cd5bc51
Replace relative docca refs with project based.
grafikrobot Apr 27, 2024
f15a4d0
Add missing import-search for cconfig/predef checks.
grafikrobot May 5, 2024
32824bf
Add requires-b2 check to top-level build file.
grafikrobot May 5, 2024
3fb22ed
Bump B2 require to 5.2
grafikrobot Jun 14, 2024
7057873
Update copyright dates.
grafikrobot Jul 21, 2024
a3cc7bc
Move inter-lib dependencies to a project variable and into the build …
grafikrobot Jul 24, 2024
d677c94
Update build deps.
grafikrobot Aug 9, 2024
a8f671e
Attempt to fix GHA.
grafikrobot Aug 11, 2024
24d6263
Put back whitespace.
grafikrobot Aug 17, 2024
7a53b7f
Move include to target.
grafikrobot Apr 17, 2025
a421cf7
Switch to reusable GHA workflow
Flamefire Sep 30, 2025
d37197d
Add CMake subdir test for CI
Flamefire Sep 30, 2025
5067dfc
Use `BOOST_TEST_EQ` for `to_static_string` tests using floating point…
Flamefire Oct 1, 2025
645bf0a
Simplify `testTS`
Flamefire Oct 1, 2025
cd54628
CI: Don't test C++26/2c
Flamefire Oct 3, 2025
37a557d
Make static_string trivially copyable
Quuxplusone Mar 20, 2024
5dfbb1f
CI: Disable coverage and coverity jobs
Flamefire Oct 6, 2025
7f903ef
Add cxx11_hdr_type_traits B2 requirement
Flamefire Oct 6, 2025
20afd07
Pass char arrays instead of static_string instances to `testR`
Flamefire Oct 6, 2025
17d77ef
Disable multi-arch CI job
Flamefire Oct 6, 2025
0d255f7
Appveyor: Update MinGW 32bit job
Flamefire Oct 4, 2025
cd1a1a4
Don't use an additional buffer in the arithmetic conversions
gennaroprota Oct 2, 2025
300781d
Add a resize_and_overwrite() member
gennaroprota Oct 7, 2025
9c5d694
Implement the arithmetic conversions in terms of resize_and_overwrite()
gennaroprota Oct 8, 2025
4c27826
use Python version of Docca
grisumbras May 2, 2025
0f34644
Update libraries.json /s/container/containers
kennethreitz Apr 4, 2024
34ef5c4
Remove an unused dependency on Boost.StaticAssert
gennaroprota Oct 22, 2025
3c37dee
Fix the previous commit
gennaroprota Oct 22, 2025
7b564d8
Fix two macro names in the unit tests
gennaroprota Oct 22, 2025
d6f976a
Fix the sizes of the strings returned by to_static_string() and to_st…
gennaroprota Oct 20, 2025
2cc22bf
Align to_static_[w]string() with C++26 std::to_[w]string()
gennaroprota Oct 20, 2025
815678e
CI: Test C++26/2c again
gennaroprota Oct 20, 2025
6f17b60
Guard test requiring string_view
Flamefire Oct 23, 2025
3613e95
Fix standalone build with Clang
Flamefire Oct 23, 2025
a841869
Remove a use of std::strcpy() to avoid a C4996 warning from MSVC
gennaroprota Oct 24, 2025
bd3dd01
Update Drone from Boost.CI
Flamefire Oct 23, 2025
ee172b8
Try standalone only with >=C++17
Flamefire Oct 23, 2025
db1ea76
Fix required CMake version
Flamefire Sep 30, 2025
fbd6051
Update Link to regression test matrix in README
Flamefire Aug 25, 2025
4c84b61
README: Replace travis badges by GHA badges
Flamefire Oct 3, 2025
a58319d
Switch boost.io to boost.org
Flamefire Oct 3, 2025
10b5491
Avoid two C4244 warnings from MSVC
gennaroprota Nov 5, 2025
c915934
Fix four occorrences of a typo ("arugment") in the Javadoc comments
gennaroprota Nov 14, 2025
2f8c7a6
Update the library metadata: Remove Krystian, add myself as a maintainer
gennaroprota Dec 15, 2025
a526ebd
Check that basic_static_string can be constructed and assigned from a…
gennaroprota Dec 15, 2025
bf98846
Work around GCC (libstdc++) bug #113200
gennaroprota Dec 15, 2025
3a410b8
Add build directory and CMake preset files to .gitignore
sdkrystian Jan 10, 2024
67efdf6
Make basic_static_string usable as a NTTP
sdkrystian Jan 10, 2024
4bf6461
Work around a bug in GCC 5-10
gennaroprota Dec 17, 2025
4dcfb39
Replace the implementation of cxper_char_traits::move() with a simple…
gennaroprota Dec 17, 2025
0e28b35
Work around GCC 9 rejecting a legitimate pointer comparison in a cons…
gennaroprota Dec 17, 2025
aee3c62
Apply the workaround in the previous commit to Clang 3.7 and 9-19, too
gennaroprota Dec 17, 2025
2175496
Condition the NTTP tests on __cpp_nontype_template_args
gennaroprota Dec 17, 2025
6f0c00b
Work around a Clang 3.7 bug affecting constexpr insert()
gennaroprota Dec 18, 2025
0c5e5b8
Fix our deduction guide
gennaroprota Dec 18, 2025
e9313dc
Add an experimental basic_static_cstring template in example/
gennaroprota Dec 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
121 changes: 54 additions & 67 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright 2016, 2017 Peter Dimov
# Copyright (C) 2017 - 2019 James E. King III
# Copyright 2017 - 2019 James E. King III
# Copyright 2019 - 2021 Alexander Grund
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt)

Expand All @@ -21,7 +22,7 @@

version: 1.0.{build}-{branch}

shallow_clone: true
shallow_clone: false

branches:
only:
Expand All @@ -33,115 +34,101 @@ branches:
- /pr\/.*/

matrix:
fast_finish: false
# Adding MAYFAIL to any matrix job allows it to fail but the build stays green:
allow_failures:
- MAYFAIL: true

environment:
global:
B2_CI_VERSION: 1
GIT_FETCH_JOBS: 4
# see: http://www.boost.org/build/doc/html/bbv2/overview/invocation.html#bbv2.overview.invocation.properties
# to use the default for a given environment, comment it out; recommend you build debug and release however:
# on Windows it is important to exercise all the possibilities, especially shared vs static, however most
# libraries that care about this exercise it in their Jamfiles...
# B2_ADDRESS_MODEL: address-model=64,32
# B2_LINK: link=shared,static
B2_ADDRESS_MODEL: 32,64
B2_LINK: shared,static
# B2_THREADING: threading=multi,single
B2_VARIANT: variant=release
B2_VARIANT: release

matrix:
- FLAVOR: Visual Studio 2022
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 14,17,20
B2_TOOLSET: msvc-14.3

- FLAVOR: Visual Studio 2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
B2_ADDRESS_MODEL: address-model=64
B2_CXXFLAGS: cxxflags=-permissive-
B2_CXXSTD: 17 # 2a
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 14,17,2a
B2_TOOLSET: msvc-14.2

- FLAVOR: Visual Studio 2017 C++2a Strict
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_ADDRESS_MODEL: address-model=64
B2_CXXFLAGS: cxxflags=-permissive-
B2_CXXSTD: 17 # 2a
B2_TOOLSET: msvc-14.1

- FLAVOR: Visual Studio 2017 C++17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_ADDRESS_MODEL: address-model=64
B2_CXXSTD: 17
B2_CXXFLAGS: -permissive-
B2_CXXSTD: 2a
B2_TOOLSET: msvc-14.1
B2_VARIANT: variant=debug

- FLAVOR: Visual Studio 2017 C++14 (Default)
- FLAVOR: Visual Studio 2017 C++14/17
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_ADDRESS_MODEL: address-model=64,32
B2_CXXSTD: 14,17
B2_TOOLSET: msvc-14.1

- FLAVOR: clang-cl
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
B2_ADDRESS_MODEL: address-model=64
B2_CXXSTD: 11
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ADDCOMMANDS: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"'
B2_ADDRESS_MODEL: 64
B2_CXXSTD: 11,14,17
B2_TOOLSET: clang-win

- FLAVOR: Visual Studio 2015 C++14 (Default)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_ADDRESS_MODEL: address-model=64,32
B2_TOOLSET: msvc-14.0
B2_VARIANT: variant=debug
# not supported
# - FLAVOR: Visual Studio 2015, 2013
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# B2_TOOLSET: msvc-12.0,msvc-14.0

- FLAVOR: Visual Studio 2010, 2012, 2013
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
B2_TOOLSET: msvc-10.0,msvc-11.0,msvc-12.0
# - FLAVOR: Visual Studio 2008, 2010, 2012
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# B2_TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0
# B2_ADDRESS_MODEL: 32 # No 64bit support

- FLAVOR: cygwin (32-bit)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ADDPATH: C:\cygwin\bin;
B2_ADDRESS_MODEL: address-model=32
B2_CXXSTD: 03,11
# https://github.com/boostorg/test/issues/144
B2_DEFINES: define=_POSIX_C_SOURCE=200112L
B2_THREADING: threadapi=pthread
B2_ADDRESS_MODEL: 32
B2_CXXSTD: 11,14,1z
B2_TOOLSET: gcc
B2_VARIANT: variant=debug

- FLAVOR: cygwin (64-bit)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ADDPATH: C:\cygwin64\bin;
B2_ADDRESS_MODEL: address-model=64
B2_CXXSTD: 11,17
# https://github.com/boostorg/test/issues/144
B2_DEFINES: define=_POSIX_C_SOURCE=200112L define=__USE_ISOC99
B2_THREADING: threadapi=pthread
B2_ADDRESS_MODEL: 64
B2_CXXSTD: 11,14,1z
B2_TOOLSET: gcc

- FLAVOR: mingw32
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARCH: i686
B2_ADDRESS_MODEL: address-model=32
B2_CXXSTD: 03,11
SCRIPT: ci\appveyor\mingw.bat
B2_VARIANT: variant=debug
- FLAVOR: mingw64 (32-bit)
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ADDPATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;
B2_ADDRESS_MODEL: 32
B2_CXXSTD: 11,14,17,2a
B2_TOOLSET: gcc

- FLAVOR: mingw64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
ARCH: x86_64
B2_ADDRESS_MODEL: address-model=64
B2_CXXSTD: 11,17
B2_DEFINES: define=__USE_ISOC99
SCRIPT: ci\appveyor\mingw.bat
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
ADDPATH: C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin;
B2_ADDRESS_MODEL: 64
B2_CXXSTD: 11,14,17,2a
B2_TOOLSET: gcc

install:
- set SELF=%APPVEYOR_PROJECT_NAME:-=_%
- git clone https://github.com/boostorg/boost-ci.git C:\boost-ci
- xcopy /s /e /q /i C:\boost-ci\ci .\ci
- '%ADDCOMMANDS%'
- git clone --depth 1 https://github.com/boostorg/boost-ci.git C:\boost-ci-cloned
# Copy ci folder if not testing Boost.CI
- if NOT "%APPVEYOR_PROJECT_NAME%" == "boost-ci" xcopy /s /e /q /i /y C:\boost-ci-cloned\ci .\ci
- rmdir /s /q C:\boost-ci-cloned
- ci\appveyor\install.bat

build: off

test_script:
- set SELF=%APPVEYOR_PROJECT_NAME:-=_%
- PATH=%ADDPATH%%PATH%
# The definition of B2_TOOLCXX omits B2_CXXSTD= if it was not defined above
- IF NOT DEFINED B2_CXXSTD (SET B2_TOOLCXX=toolset=%B2_TOOLSET%) ELSE (SET B2_TOOLCXX=toolset=%B2_TOOLSET% cxxstd=%B2_CXXSTD%)
# Echo the complete build command to the build log
- IF NOT DEFINED SCRIPT (ECHO b2 libs/%SELF:\=/% %B2_TOOLCXX% %B2_CXXFLAGS% %B2_DEFINES% %B2_THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3)
# Now go build...
- IF DEFINED SCRIPT (call libs\%SELF%\%SCRIPT%) ELSE (b2 libs/%SELF:\=/% %B2_TOOLCXX% %B2_CXXFLAGS% %B2_DEFINES% %B2_THREADING% %B2_ADDRESS_MODEL% %B2_LINK% %B2_THREADING% %B2_VARIANT% -j3)
test_script: ci\build.bat
Loading