Диапазон можно использовать для нарезки многомерного массива Boost (multi_array). Согласно документации существует несколько способов определения диапазона, однако не все из них будут компилироваться. Я использую GCC 4.5.2 в Ubuntu 11.04.
#include
int main() {
typedef boost::multi_array_types::index_range range;
range a_range;
// indices i where 3 <= i
// Does compile
a_range = range().start(3);
// Does not compile
a_range = 3 <= range();
a_range = 2 < range();
return 0;
}
Вывод компилятора:
ma.cpp: In function ‘int main()’:
ma.cpp:9:26: error: no match for ‘operator<=’ in ‘3 <= boost::detail::multi_array::index_range()’
ma.cpp:10:25: error: no match for ‘operator<’ in ‘2 < boost::detail::multi_array::index_range()’
Есть идеи, как я могу это скомпилировать или чего не хватает?