2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-26 06:42:27 +00:00

Experimental hack for MSVC - use int for IndexStyle instead of an enum

[SVN r20305]
This commit is contained in:
Raoul Gough
2003-10-08 15:39:04 +00:00
parent c8898caba0
commit d7a88b6f7e

View File

@@ -29,11 +29,23 @@
#include <boost/type_traits.hpp>
namespace boost { namespace python { namespace indexing {
#if !BOOST_MSVC
enum IndexStyle {
index_style_none // No random access (iteration only)
, index_style_nonlinear // Random access by key (no slicing)
, index_style_linear // Random access by integer index (allows slicing)
};
#else
// MSVC seems to have problems with static member variable constants
// of enumerated types, where it doesn't believe that an expression
// like (traits::index_style == index_style_linear) is a
// compile-time constant. However, the problem doesn't exist for
// int.
typedef int IndexStyle;
IndexStyle const index_style_none = 0;
IndexStyle const index_style_nonlinear = 1;
IndexStyle const index_style_linear = 2;
#endif
//////////////////////////////////////////////////////////////////////////
// Indexing traits for containers based on iterator pairs