Andrey Semashev
cd1c905f87
Optimize string comparison used to implement CTTI comparison.
...
When the strings are known to be runtime objects, use compiler builtin
for strcmp for comparing strings. The compiler will generate a runtime
call for the (presumably, well-optimized) strcmp instead of rolling
a local per-character comparison loop. When the builtin is not available
or we cannot detect compile-time strings, use the local loop as before.
Also, when C++14 constexpr is not available, use strcmp right away,
since there is no use for the local loop in this case.
2018-10-28 02:56:30 +03:00
Antony Polukhin
f3da852bca
Update stl_type_index.hpp
boost-1.69.0-beta1
boost-1.69.0
2018-10-20 20:19:04 +03:00
Antony Polukhin
a8fafd93f9
Merge pull request #21 from Kojoley/do-not-include-container-hash-if-possible
...
Do not include container_hash if possible
2018-10-20 20:12:07 +03:00
Nikita Kniazev
01944bf377
Do not include container_hash if possible
...
The `boost/container_hash/hash.hpp` has significant inclusion times.
Not including it results in 30% faster `boost/type_traits.hpp` parsing.
(kind of regression introduced in 82ed016577 )
2018-10-20 19:59:20 +03:00
Antony Polukhin
09f0bc23c5
fix b2 warnings
2018-09-22 22:13:42 +03:00
Glen Fernandes
718af3e8dc
Fix tests which did not return report_errors()
2018-09-17 07:43:19 -04:00
Antony Polukhin
c9c1412a05
Tests to reproduce the track issue 13621
2018-07-28 17:44:17 +03:00
Antony Polukhin
c2caa340ab
Merge pull request #19 from jlapolla-cray/edg-ctti-support
...
CTTI parameters for EDG based compilers
boost-1.68.0
2018-04-15 12:48:26 +03:00
Justin LaPolla
da0a181117
ctti parameters for EDG based compilers
...
- Needed for Cray Compiling Environment to work with Boost.TypeIndex.
2018-04-10 09:19:22 -05:00
Antony Polukhin
be9f5a4b9b
Droped dependency on MPL
2018-03-24 09:50:37 +03:00
Antony Polukhin
bd19ed1a87
Disable link-fail tests and restore MinGW CI
boost-1.67.0
2018-01-23 10:40:56 +03:00
Antony Polukhin
727cdadc86
Restore link-fail
2018-01-16 01:21:20 +03:00
Antony Polukhin
5bc4f54183
Dropped -fail to check the MSVC builds
2018-01-16 01:10:28 +03:00
Antony Polukhin
918e59c109
One more fix in tests for /GR- flag
2018-01-16 00:44:11 +03:00
Antony Polukhin
cd659212aa
Workaround for /GR- override in tests
2018-01-16 00:28:48 +03:00
Antony Polukhin
70e51a62e9
Workaround for /GR- override that disables link time assertions
2018-01-15 23:21:34 +03:00
Antony Polukhin
05feacf14b
Relax comparing_anonymous_types_between_modules test as it was failing to too many builds ( fixes #17 )
2018-01-15 00:14:47 +03:00
Antony Polukhin
82ed016577
Use hash_fwd header and use new paths to boost::hash*
2018-01-14 23:41:33 +03:00
Antony Polukhin
1a7226bc0f
Do not define BOOST_TEST_*E macros, as they are now defined in boost/core/lightweight_test.hpp
boost-1.66.0
2017-10-01 22:30:59 +03:00
Antony Polukhin
be08eda196
Do not suppress already suppressed warnings
2017-09-26 22:05:57 +03:00
Antony Polukhin
baa5019c90
Merge pull request #16 from bebuch/develop
...
fix ctti_type_index for GCC 7
boost-1.65.1
boost-1.65.0
2017-07-29 20:13:04 +03:00
Benjamin Buch
4585bab3c3
__PRETTY_FUNCTION__ is slightly different in GCC 7
...
The output of an unsigned int literal dosn't contain the u anymore.
#include <iostream>
template < typename T >
struct ctti{
template < unsigned int D = 1 >
static constexpr auto name()noexcept{
return __PRETTY_FUNCTION__;
}
};
int main(){
using ctti = ctti< int >;
std::cout << ctti::name() << '\n';
}
2017-07-28 15:07:19 +02:00
Antony Polukhin
93e7b2458b
Fixed some warnings
2017-06-25 14:05:08 +03:00
Daniela Engert
09ac338acc
Fix compiler warnings about unused initialized variables, and unused formal parameters
...
Signed-off-by: Daniela Engert <dani@ngrt.de >
2017-06-08 19:05:02 +02:00
Antony Polukhin
b0737f4169
Fix formatting in README
2017-05-18 22:51:47 +03:00
Antony Polukhin
be74716251
Use native hash_code() when possible on GCC-like compilers
2017-05-18 22:50:25 +03:00
Antony Polukhin
f82eab8882
Merge pull request #15 from ecatmur/ecatmur-stl-hash
...
Include <boost/functional/hash.hpp> if required
2017-05-06 10:26:30 +03:00
Antony Polukhin
af61d6b8ed
Merge pull request #13 from cdglove/split_register_and_implement
...
Add support for using runtime_cast without requiring type_id_runtime.
boost-1.64.0-beta2
boost-1.64.0-beta1
boost-1.64.0
2017-02-28 05:33:07 +04:00
Chris Glover
d3d4e8d18a
Change runtime cast test to use the separated macro (BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST) and add a new test that ensures BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS does indeed supply both functions.
2017-02-25 15:35:34 -05:00
Chris Glover
7f8af2a6e9
Merge branch 'develop' into split_register_and_implement
2017-02-25 13:19:16 -05:00
Antony Polukhin
342d835289
Run MinGW tests too (thanks to Pavel Filinov for showing that appveyor apability)
2017-02-23 21:35:40 +03:00
Edward Catmur
5cacb67510
Make it derived class responsibility to include <boost/functional/hash.hpp>
2017-02-16 21:55:12 +00:00
Ed Catmur
f2616bcd17
Correct preprocessor condition to match below
2017-02-16 16:30:52 +00:00
Ed Catmur
8c582362d0
Include <boost/functional/hash.hpp> if required
2017-02-16 16:18:48 +00:00
Antony Polukhin
f71d9eb3f2
Fix undefined macro warning (trac 12739)
2017-01-18 22:33:13 +03:00
Antony Polukhin
cfcdcd647d
Update CI script version
2016-12-04 02:39:22 +03:00
Antony Polukhin
8bee2f6939
Fix coverage info gathering in travisCI script for GCC-6
2016-12-04 02:29:02 +03:00
Antony Polukhin
40985de221
Update CI scripts and tests
2016-11-18 22:31:01 +03:00
Chris Glover
d8bdbad2ec
Add BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST, which implementes the functionality for runtime_cast to function, but does not include the BOOST_TYPE_INDEX_REGISTER_CLASS macro.
...
Reimplement BOOST_TYPE_INDEX_REGISTER_RUNTIME_CLASS to simply call BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST and BOOST_TYPE_INDEX_REGISTER_CLASS.
This allows users to opt-in to one or the other, instead of forcing them to generate both virtual functions.
2016-11-05 16:04:13 -04:00
Rene Rivera
c52fdfe30c
Add, and update, documentation build targets.
boost-1.63.0
2016-10-07 23:07:37 -05:00
Antony Polukhin
7f840c882e
Fix build in C++98 mode
2016-10-02 10:39:54 +03:00
Antony Polukhin
b669f0244e
Changed std::size_t to unsigned int in compile_time_type_infohelpers. Now the code is more platform independant.
2016-10-02 10:32:50 +03:00
Antony Polukhin
d656e1879a
Merge pull request #12 from cdglove/runtime_cast_test_fixes
...
Cleanup of shared_ptr ifdef.
2016-10-02 10:58:49 +04:00
Chris Glover
b1ed011b6e
Cleaner removal of std::shared_ptr tests on compilers without C++11 shared_ptr
2016-10-01 14:49:28 -04:00
Antony Polukhin
4d1cf425e0
Merge pull request #11 from cdglove/runtime_cast_test_fixes
...
Runtime cast test fixes
2016-09-30 21:34:10 +04:00
Chris Glover
d6ca24ff3c
Merge branch 'runtime_cast' into runtime_cast_test_fixes
2016-09-29 22:31:07 -04:00
Chris Glover
4459af9532
FIx a unit test so that the NULL check happens before the dereference.
2016-09-29 22:29:35 -04:00
Chris Glover
b61a7423b7
Update unit test to remove shared_ptr on compilers less than C++11.
2016-09-29 22:29:10 -04:00
Chris Glover
1a918009fd
Fix comment.
2016-09-29 22:27:10 -04:00
Antony Polukhin
045ab1d779
Merge pull request #8 from cdglove/runtime_cast
...
Add the concept of runtime_cast to type index as an emulation of dynamic_cast..
2016-09-29 00:45:39 +04:00