Commit Graph

305 Commits

Author SHA1 Message Date
Alexander Grund
db1ea76a17 Fix required CMake version
`source_group(TREE` requires CMake 3.8
2025-10-24 11:58:47 +02:00
Alexander Grund
ee172b86fd Try standalone only with >=C++17 2025-10-24 11:57:55 +02:00
Alexander Grund
bd3dd01259 Update Drone from Boost.CI 2025-10-24 11:57:55 +02:00
Gennaro Prota
a841869405 Remove a use of std::strcpy() to avoid a C4996 warning from MSVC 2025-10-24 11:00:21 +02:00
Alexander Grund
3613e9578d Fix standalone build with Clang
The config.hpp uses `BOOST_LIBSTDCXX_VERSION` which isn't defined in
standalone mode so `BOOST_STATIC_STRING_NO_CXX17_HDR_STRING_VIEW` will
be defined.
This then causes build failures for code expecting the availability of
string_view.
2025-10-24 10:11:37 +02:00
Alexander Grund
6f17b60377 Guard test requiring string_view 2025-10-24 10:11:37 +02:00
Gennaro Prota
815678e1e7 CI: Test C++26/2c again 2025-10-23 16:49:48 +02:00
Gennaro Prota
2cc22bf5a8 Align to_static_[w]string() with C++26 std::to_[w]string()
C++26 specifies that std::to_string() and std::to_wstring() format
floating point values as if using std::format(). This commit updates the
internal conversion helpers to match that behavior, using
std::format_to_n() for efficient, allocation-free formatting directly
into the static_string/static_wstring buffer.

Fallbacks using snprintf()/swprintf() remain active for pre-C++26
builds.

This ensures consistent formatting across standard and Boost APIs.
2025-10-23 16:49:48 +02:00
Gennaro Prota
d6f976a7df Fix the sizes of the strings returned by to_static_string() and to_static_wstring() for floating point values 2025-10-23 16:49:48 +02:00
Gennaro Prota
7b564d8d26 Fix two macro names in the unit tests 2025-10-22 19:18:39 +02:00
Gennaro Prota
3c37deed99 Fix the previous commit 2025-10-22 19:11:09 +02:00
Gennaro Prota
34ef5c45be Remove an unused dependency on Boost.StaticAssert
This closes issue #73.
2025-10-22 19:06:12 +02:00
Kenneth Reitz
0f34644488 Update libraries.json /s/container/containers
The other libraries reference "containers" instead of "container"
2025-10-22 18:48:18 +02:00
Dmitry Arkhipov
4c27826548 use Python version of Docca 2025-10-22 18:35:38 +02:00
Gennaro Prota
9c5d69475d Implement the arithmetic conversions in terms of resize_and_overwrite()
Reason: Performing the conversions without accessing private members,
providing a model for users to implement their own with comparable
efficiency.
2025-10-09 17:45:16 +02:00
Gennaro Prota
300781d954 Add a resize_and_overwrite() member
Reason: This is in preparation of the next commit. See its commit
message.
2025-10-09 17:45:16 +02:00
Gennaro Prota
cd1a1a41c3 Don't use an additional buffer in the arithmetic conversions
In the case of the floating point conversions, this effectively avoids a
copy of the buffer contents. In the case of the integer conversions, it
doesn't eliminate the copy, but still removes the extra buffer.

This fixes issue #65.
2025-10-09 17:45:16 +02:00
Alexander Grund
0d255f7438 Appveyor: Update MinGW 32bit job
Use the variant from Boost.CI

Fixes #68
2025-10-07 10:19:31 +02:00
Alexander Grund
17d77ef5bb Disable multi-arch CI job 2025-10-06 17:22:47 +02:00
Alexander Grund
20afd07676 Pass char arrays instead of static_string instances to testR
Avoid stack overflow in MSVC caused by huge amount of static_string instances

Fixes #70
2025-10-06 17:22:47 +02:00
Alexander Grund
7f903ef7ce Add cxx11_hdr_type_traits B2 requirement
Avoid failures with GCC < 5
2025-10-06 17:22:47 +02:00
Alexander Grund
5dfbb1f2b1 CI: Disable coverage and coverity jobs 2025-10-06 17:22:47 +02:00
Arthur O'Dwyer
37a557d937 Make static_string trivially copyable 2025-10-03 18:42:10 +02:00
Alexander Grund
cd546285c4 CI: Don't test C++26/2c 2025-10-03 12:12:05 +02:00
Alexander Grund
645bf0a27d Simplify testTS
Replace boolean by check for defaulted nullptr
2025-10-03 12:12:05 +02:00
Alexander Grund
5067dfce5f Use BOOST_TEST_EQ for to_static_string tests using floating point values 2025-10-03 12:12:05 +02:00
Alexander Grund
d37197d773 Add CMake subdir test for CI 2025-10-03 12:12:05 +02:00
Alexander Grund
a421cf742c Switch to reusable GHA workflow
Avoid the current failures due to outdated CI configs
2025-10-03 12:12:05 +02:00
Rene Rivera
7a53b7ff20 Move include to target. 2025-05-02 19:21:11 +03:00
Rene Rivera
24d62635a3 Put back whitespace. 2025-05-02 19:21:11 +03:00
Rene Rivera
a8f671ea1e Attempt to fix GHA. 2025-05-02 19:21:11 +03:00
Rene Rivera
d677c9436c Update build deps. 2025-05-02 19:21:11 +03:00
Rene Rivera
a3cc7bcf95 Move inter-lib dependencies to a project variable and into the build targets. 2025-05-02 19:21:11 +03:00
Rene Rivera
70578731e7 Update copyright dates. 2025-05-02 19:21:11 +03:00
Rene Rivera
3fb22ed769 Bump B2 require to 5.2 2025-05-02 19:21:11 +03:00
Rene Rivera
32824bfa1d Add requires-b2 check to top-level build file. 2025-05-02 19:21:11 +03:00
Rene Rivera
f15a4d0586 Add missing import-search for cconfig/predef checks. 2025-05-02 19:21:11 +03:00
Rene Rivera
cd5bc51e9e Replace relative docca refs with project based. 2025-05-02 19:21:11 +03:00
Rene Rivera
77d6a43dce Switch to library requirements instead of source. As source puts extra source in install targets. 2025-05-02 19:21:11 +03:00
Rene Rivera
8f969a62f7 Make the library modular usable. 2025-05-02 19:21:11 +03:00
alandefreitas
bff5cb65a5 Boost super-project tests target
fix #53
boost-1.86.0.beta1 boost-1.86.0 boost-1.88.0.beta1 boost-1.88.0 boost-1.87.0.beta1 boost-1.87.0 boost-1.89.0
2024-02-20 13:53:27 -03:00
Krystian Stasiowski
42bb99ed25 support platforms without wchar_t
closes #51
2023-10-24 14:22:30 -04:00
Krystian Stasiowski
175f467a03 select hash implementation with macros based on word size
fixes #46
2023-05-29 11:30:18 -04:00
Krystian Stasiowski
6275cd7fe3 disable string_view overloads when type is convertible to basic_static_string
fixes #47
2023-05-29 10:51:06 -04:00
alandefreitas
ac84c4f40e string_view interoperability
fix #26
boost-1.82.0 boost-1.85.0.beta1 boost-1.85.0 boost-1.84.0.beta1 boost-1.84.0 boost-1.83.0.beta1 boost-1.83.0 boost-1.82.0.beta1
2023-01-19 19:57:32 -03:00
alandefreitas
269987446e check for char8_t directly
fix #40
2023-01-18 22:10:36 -03:00
alandefreitas
82ff4e0679 static_string<0> does not memcpy
fix #41
2023-01-18 22:09:45 -03:00
alandefreitas
9c3d5febe7 tests include main header 2023-01-18 22:09:31 -03:00
alandefreitas
0c914ff05b fix noexcept-type warning 2022-11-04 10:34:09 -07:00
alandefreitas
bfce6eea90 fix unused-function warning 2022-11-03 22:48:35 -07:00