Borland workaround

[SVN r16281]
This commit is contained in:
Aleksey Gurtovoy
2002-11-16 10:49:14 +00:00
parent 9e5b6ee85c
commit 9c381d8ca6

View File

@@ -21,22 +21,31 @@
#include "boost/mpl/begin_end.hpp" #include "boost/mpl/begin_end.hpp"
#include "boost/mpl/distance.hpp" #include "boost/mpl/distance.hpp"
#include "boost/mpl/aux_/traits_lambda_spec.hpp" #include "boost/mpl/aux_/traits_lambda_spec.hpp"
#include "boost/config.hpp"
namespace boost { namespace boost {
namespace mpl { namespace mpl {
// default implementation; conrete sequences might override it by // default implementation; conrete sequences might override it by
// specializing either the |size_traits| or the primary |size| template // specializing either the 'size_traits' or the primary 'size' template
template< typename Tag > template< typename Tag >
struct size_traits struct size_traits
{ {
template< typename Sequence > struct algorithm template< typename Sequence > struct algorithm
#if !defined(__BORLANDC__) && (__BORLANDC__ <= 0x561 || !defined(BOOST_STRICT_CONFIG))
: distance< : distance<
typename begin<Sequence>::type typename begin<Sequence>::type
, typename end<Sequence>::type , typename end<Sequence>::type
> >
{ {
#else
{
typedef typename distance<
typename begin<Sequence>::type
, typename end<Sequence>::type
>::type type;
#endif
}; };
}; };