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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user