134 Commits

Author SHA1 Message Date
Antony Polukhin
827dd94c68 Update copyright years 2026-01-02 13:40:23 +03:00
Antony Polukhin
6632ca9309 Run all the tests in CMake, add CMake runs into CI. Drop dependency on Boost.SmartPtr as it is not used by the library for some time (#31) 2025-10-07 20:26:12 +03:00
Antony Polukhin
b74a4c34cb Allow using polymorphic_downcast and polymorphic_cast in constexpr (#30) 2025-06-27 20:42:54 +03:00
Antony Polukhin
9d64c899df Update copyright years 2025-01-05 19:37:56 +03:00
Antony Polukhin
35a71f0701 Prefer "using" over "typedef" 2024-12-17 16:37:40 +03:00
René Ferdinand Rivera Morell
8a860e05d0 Add support for modular build structure. (#29)
This is part of the effort to make the Boost libraries "modular" for build and consumption. See https://lists.boost.org/Archives/boost/2024/01/255704.php and https://github.com/grafikrobot/boost-b2-modular/blob/b2-modular/README.adoc for more information.

This PR depends on the following other PRs being merged to both develop and master branches of the respective repos:

- https://github.com/boostorg/boost/pull/854

This PR will be changed to ready for review, i.e. not draft, when the above are merged. Do not merge this one until that time.
2024-08-24 12:37:14 +03:00
Antony Polukhin
5f36c2c710 Update tests requirements 2024-01-21 14:08:52 +03:00
Antony Polukhin
41e62ed851 Update copyright years 2024-01-07 13:20:12 +03:00
Antony Polukhin
668030fcd6 Remove hard error about C++11 requirement and update CI 2023-08-25 14:59:53 +03:00
Antony Polukhin
2598281d10 drop c++03 support 2023-08-10 18:52:03 +03:00
Antony Polukhin
7ba0984b34 Update copyright years 2023-01-19 10:01:52 +03:00
Antony Polukhin
4ae8b4d495 update copyright years 2022-01-30 12:52:42 +03:00
Antony Polukhin
71b6a864a4 do not use depth 1 for checkouts in CI 2021-09-20 21:46:36 +03:00
Antony Polukhin
b2a49138cf Fix appveyor CI checks for MSVC 2021-09-11 12:29:42 +03:00
Antony Polukhin
9e3216d22f make boost::implicit_cast constexpr (fixes #25) 2021-04-21 20:51:14 +03:00
Antony Polukhin
4fec53f3db update copyright years 2021-01-03 13:57:41 +03:00
Julien DELACROIX
e130cd860c boost::polymorphic_downcast only supports raw pointer cast, which is a gap compared to static_cast.
To make it clear:
       Base* base = new Base();

       static_cast<Derived*>(base)                 ===> OK
       static_cast<Derived&>(*base)                ===> OK

       boost::polymorphic_downcast<Derived*>(base)  ===> OK
       boost::polymorphic_downcast<Derived&>(*base) ===> IMPOSSIBLE

    boost::polymorphic_downcast being a kind of "debug-safe version" of
    static_cast, it should provide the same capabilities.

    This patch extend boost::polymorphic_downcast to support references just
    like static_cast does.
    This is achieved by introducing a partial specialization for references.
    Unit tests have been updated accordingly.
2019-12-09 08:51:10 +01:00
Antony Polukhin
441d4e4e1b Update appveyor.yml 2019-04-24 22:10:38 +03:00
Antony Polukhin
56393150bb update ci 2018-12-14 11:53:39 +03:00
Antony Polukhin
29997a9fe1 Fix warning
`warning: catching polymorphic type ???class std::bad_cast??? by value`
2018-10-03 20:33:30 +03:00
Antony Polukhin
2a0a2a59f5 Fixed formatting in README and updated the AppveyorCI script 2017-05-20 10:42:53 +03:00
Antony Polukhin
c704762482 Run MinGW tests too (thanks to Pavel Filinov for showing that appveyor apability) 2017-02-23 21:21:50 +03:00
Mike Maximoff
181eb0e6fc boost::assertion_failed trapped assertions, and subsequent bad casts were executed anyway. Now it throws exceptions for assert-like behavior. 2016-12-16 10:46:37 +03:00
Antony Polukhin
4d814efd3f Update CI scripts, add appveyor CI 2016-12-04 02:35:42 +03:00
Antony Polukhin
da8b2fe695 Fix file permissions 2015-12-30 00:08:28 +03:00
Antony Polukhin
a7b9f42b9a Use lightweight_test.hpp instead of asserts in tests 2015-12-30 00:07:48 +03:00
Antony Polukhin
b6e9403ef0 Fixed warnings in tests 2015-12-14 19:14:28 +03:00
Antony Polukhin
8f4b6ec985 Fixed issue from track Ticket #11209: conversion - cast_test leaks memory 2015-09-25 19:58:48 +03:00
Alex Henrie
43ee183296 Correct spelling of "suppress" 2015-01-30 15:22:27 -07:00
Antony Polukhin
00b6a53f7e Add polymorphic_pointer_cast 2014-11-10 15:02:20 +04:00
Antony Polukhin
6199649ae2 Move polymorphic_pointer_downcast to a separate header, use pragma once and boost::throw_exception 2014-11-10 14:24:39 +04:00
Boris Rasin
582fc91adb add more tests and documentation example for polymorphic_pointer_downcast 2014-11-09 15:37:56 +02:00
Boris Rasin
6a224fa5e9 =add polymorphic_pointer_downcast function template 2014-11-09 00:02:44 +02:00
Antony Polukhin
ff7ea09a73 remove numeric_cast_test that is a copy of numeric/conversion/test/numeric_cast_test.cpp 2014-06-11 16:23:51 +04:00
Antony Polukhin
6943537150 Drop dependency to the boost_unit_test_framework library in tests 2014-06-11 16:16:40 +04:00
Peter Dimov
df57f25807 Remove unnecessary includes from cast_test.cpp. 2014-06-11 14:41:55 +03:00
Peter Dimov
f0caf56d0b Remove unnecessary includes from implicit_cast_fail.cpp. 2014-06-11 14:40:50 +03:00
Peter Dimov
8a03282736 Add additional tests. 2014-06-11 14:35:27 +03:00
Antony Polukhin
a0922ab598 Remove lexical_cast, add polymorphic_cast.hpp, minor fixes 2014-06-09 12:36:42 +04:00
Antony Polukhin
d1a51b897d Fix conversions to bool with leading zeros (refs #9659) 2014-03-05 14:48:21 +04:00
Antony Polukhin
1e65265b8f Minor fixes in tests 2014-02-11 12:13:17 +04:00
Antony Polukhin
1707131ac3 Added some tests for try_lexical_convert and fixed some issues. 2014-01-01 21:47:09 +04:00
Antony Polukhin
b40bc02f94 try_lexical_cast is now implemented in optimal way 2013-12-13 13:52:18 +04:00
Antony Polukhin
57e4e87e3b Put tests to test folder, remove unrequired files, fix permissions 2013-12-09 11:27:27 +04:00
Antony Polukhin
c0c02e560e Attempt to catch libc++ bug with a modified tests
[SVN r86747]
2013-11-18 08:17:33 +00:00
Antony Polukhin
bbd746d2ac Slightly modify one of the lexical_cast tests to see what is produced by the to_str method with libc++.
[SVN r86721]
2013-11-16 16:25:26 +00:00
Antony Polukhin
c2c4b884fe Make a separate folder for lexical_casts examples, use those examples in documenation and assure that they successfully build and run (refs #9046)
[SVN r85828]
2013-09-22 12:23:26 +00:00
Antony Polukhin
6f656adea3 Do not treat long long warnings as errors in lexical_cast + containers tests (fixes #9061)
[SVN r85684]
2013-09-15 19:33:17 +00:00
Antony Polukhin
3ce36a2848 Get rid of some macro, improve type traits, fix svn properties, do not supress warnings (refs #9046)
[SVN r85475]
2013-08-26 11:18:42 +00:00
Antony Polukhin
d723c18fff Update explicit failures markup and lexical_cast_float_types_test.cpp: do not run some checks when libc++ is used, but do expect other checks to pass well.
[SVN r85322]
2013-08-12 16:06:59 +00:00