19 #ifndef OST_QA_INDEX_HH
20 #define OST_QA_INDEX_HH
29 #include <boost/shared_ptr.hpp>
32 namespace ost {
namespace qa {
40 memcpy(data_, rhs.data_,
sizeof(
uint32_t[D]));
43 memset(data_, 0,
sizeof(
uint32_t[D]));
46 memcpy(data_, rhs.data_,
sizeof(
uint32_t[D]));
69 Index() : impl::IndexBase<1>() {}
77 Index() : impl::IndexBase<2>() {}
87 Index() : impl::IndexBase<3>() {}
98 Index() : impl::IndexBase<4>() {}
154 : start_(s), end_(e), current_(s) {
160 while (++current_[current_it] > end_[current_it]) {
162 if (current_it < D) {
163 current_[current_it-1] = start_[current_it-1];
174 return current_[D-1] > end_[D-1];