2
0
mirror of https://github.com/boostorg/python.git synced 2026-01-23 05:42:30 +00:00

Move definition of index_style_t from iterator_traits.hpp into suite_utils.hpp

[SVN r20525]
This commit is contained in:
Raoul Gough
2003-10-28 15:23:18 +00:00
parent f415f18574
commit 1addeee962

View File

@@ -1,5 +1,3 @@
// -*- mode:c++ -*-
//
// Header file suite_utils.hpp
//
// Shared utilities for the indexing suite.
@@ -23,6 +21,24 @@
#include <boost/type_traits.hpp>
namespace boost { namespace python { namespace indexing {
#if !BOOST_MSVC
enum index_style_t {
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 index_style_t;
index_style_t const index_style_none = 0;
index_style_t const index_style_nonlinear = 1;
index_style_t const index_style_linear = 2;
#endif
template<typename T>
class is_mutable_ref
{