forked from boostorg/static_assert
Compare commits
5 Commits
svn-branch
...
boost-1.34
Author | SHA1 | Date | |
---|---|---|---|
c01e3be03a | |||
69dbf6f12d | |||
66dd3d2595 | |||
7a0a3fbf32 | |||
c5de8ff789 |
@ -15,10 +15,6 @@
|
||||
[last-revision $Date$]
|
||||
]
|
||||
|
||||
This manual is also available in
|
||||
[@http:svn.boost.org/svn/boost/sandbox/pdf/static_assert/release/static_assert.pdf
|
||||
printer friendly PDF format].
|
||||
|
||||
[section:intro Overview and Tutorial]
|
||||
|
||||
The header `<boost/static_assert.hpp>` supplies a single macro `BOOST_STATIC_ASSERT(x)`,
|
||||
@ -98,17 +94,12 @@ the user that the template is being misused.
|
||||
#include <boost/type_traits.hpp>
|
||||
|
||||
template <class RandomAccessIterator >
|
||||
RandomAccessIterator foo(RandomAccessIterator from,
|
||||
RandomAccessIterator to)
|
||||
RandomAccessIterator foo(RandomAccessIterator from, RandomAccessIterator to)
|
||||
{
|
||||
// this template can only be used with
|
||||
// random access iterators...
|
||||
typedef typename std::iterator_traits<
|
||||
RandomAccessIterator >::iterator_category cat;
|
||||
BOOST_STATIC_ASSERT(
|
||||
(boost::is_convertible<
|
||||
cat,
|
||||
const std::random_access_iterator_tag&>::value));
|
||||
typedef typename std::iterator_traits< RandomAccessIterator >::iterator_category cat;
|
||||
BOOST_STATIC_ASSERT((boost::is_convertible<cat, const std::random_access_iterator_tag&>::value));
|
||||
//
|
||||
// detail goes here...
|
||||
return from;
|
||||
|
@ -28,10 +28,6 @@
|
||||
# define BOOST_SA_GCC_WORKAROUND
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_HAS_STATIC_ASSERT
|
||||
# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
|
||||
#else
|
||||
|
||||
namespace boost{
|
||||
|
||||
// HP aCC cannot deal with missing names for template value parameters
|
||||
@ -115,7 +111,7 @@ template<int x> struct static_assert_test{};
|
||||
enum { BOOST_JOIN(boost_static_assert_enum_, __LINE__) \
|
||||
= sizeof(::boost::STATIC_ASSERTION_FAILURE< (bool)( B ) >) }
|
||||
#endif
|
||||
#endif // ndef BOOST_HAS_STATIC_ASSERT
|
||||
|
||||
|
||||
#endif // BOOST_STATIC_ASSERT_HPP
|
||||
|
||||
|
Reference in New Issue
Block a user