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