Commit Graph
232 Commits
Author SHA1 Message Date
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
Antony Polukhin 6cf5288a8c Merge pull request #9 from efcs/clang-4-fix
Support Clang version 4.0.
boost-1.62.0
2016-08-30 22:43:14 +04:00
Eric Fiselier 4453acf867 Support Clang 4.0 and newer 2016-08-29 22:10:34 -06:00
Chris Glover b6b23bad3a Cleanup line endings, file endings, some spacing etc. 2016-08-21 12:47:44 -04:00
Chris Glover 3bb646d19b - Use boost::addressof instead of &
- Remove nullptr from test
- add boost::typeindex::bad_runtime_cast, remove std::bad_cast
2016-08-21 11:01:26 -04:00
Chris Glover 9cd218bbc4 Add missing include to example. 2016-08-19 18:42:22 -04:00
Chris Glover ad26256d09 Initial documentation. 2016-08-11 10:31:16 -04:00
Chris Glover 5af925602e Invoke smart_ptr tests. 2016-08-10 10:06:41 -04:00
Chris Glover 2fb667a6a0 Experiment with a version of runtime_cast that has only a single registration macro. 2016-08-09 23:13:54 -04:00
Chris Glover 12751e0f83 Split runtime_cast into several files so clients can selectively include only what they use.
Add support for shared_ptrs.
2016-08-09 14:51:36 -04:00
Chris Glover 0b006b6af6 Remove all references to std::type_traits
Replace variadic template with boost preprocessor.
2016-08-08 12:16:58 -04:00
Chris Glover 76cae485cb Merge branch 'runtime_cast' of github.com:cdglove/type_index into runtime_cast
# Conflicts:
#	include/boost/type_index/runtime_cast.hpp
#	test/runtime_cast_test.cpp
2016-07-15 17:18:42 -04:00
Chris Glover ee7b15a493 First version.
TODO: Error messages when using mismatched types are not clear. Needs consideration.
2016-07-15 16:30:16 -04:00
Chris Glover 1dc8310826 Optimization: Don't check all bases. 2016-07-15 10:10:07 -04:00
Chris Glover b230140529 First version. 2016-07-15 08:49:54 -04:00
Antony Polukhin 31ec1d2524 Fix link in README 2016-06-05 13:02:56 +03:00
Antony Polukhin 40e9bd336a Test on same Boost branch when running Appveyor 2016-06-04 21:10:20 +03:00
Antony Polukhin 767c724983 README now shows build status on Windows platform 2016-06-04 15:59:29 +03:00
Antony Polukhin 24708cc109 One more example and integrate examples into the docs 2016-03-30 23:24:53 +03:00
Antony Polukhin 57205874ae Added namespace detection example 2016-03-30 22:28:53 +03:00
Antony Polukhin 1b4a85764f Fixing test under Windows 2016-03-29 23:16:17 +03:00
Antony Polukhin 1976355e8f appveyor update 1 2016-03-29 22:36:12 +03:00
Antony Polukhin 0efc48e16c Add appveyor integration and increment minor version of the library 2016-03-29 21:45:50 +03:00
Antony Polukhin e96a6e8f80 Use constexpr in documentation 2016-03-29 21:38:46 +03:00
Antony Polukhin 8e3466ece5 Log(N) complexity and templates depth in make_index_seq_impl, avoid usage of slow sizeof...(I), workaround GCC ICE in constexpr tests 2016-03-29 21:21:04 +03:00
Antony Polukhin 8b6c3facb3 Fixes and GCC related improvements 2016-03-28 22:42:39 +03:00
Antony Polukhin ffb98af0dd Attempt to use libc++ in TravisCi tests no. 6 2016-03-27 22:05:40 +03:00
Antony Polukhin 9122022faf Attempt to use libc++ in TravisCi tests no. 5 2016-03-27 21:50:33 +03:00
Antony Polukhin 18dbaea6ee Attempt to use libc++ in TravisCi tests no. 4 2016-03-27 21:42:08 +03:00
Antony Polukhin 6dabf11504 Third attempt to use libc++ in TravisCi tests 2016-03-27 21:32:18 +03:00
Antony Polukhin 7bd788c5d7 Second attempt to use libc++ in TravisCi tests 2016-03-27 21:27:10 +03:00
Antony Polukhin 2d87bc6194 Attempt to use libc++ in travisCi tests 2016-03-27 18:38:08 +03:00
Antony Polukhin 36efa3969b Use the cstring workaround only for GCC 2016-03-27 14:46:27 +03:00
Antony Polukhin 551535f8cf Dropped the using syntax 2016-03-26 16:43:22 +03:00
Antony Polukhin 3f004511a2 Do not use decltype 2016-03-26 16:24:51 +03:00
Antony Polukhin 30bb93bd23 Test on clang too 2016-03-26 16:01:42 +03:00
Antony Polukhin 7f2b9fd31a Combine klemens-morgenstern ideas with mine. Must compile and work at least on GCC-5 2016-03-26 15:49:09 +03:00
Antony Polukhin c9f1370d0c Merge tests from klemens-morgenstern 2016-03-25 21:34:30 +03:00
Antony Polukhin 1ec4460244 Merge .travis.yml from klemens-morgenstern 2016-03-25 21:26:47 +03:00