| #define FOO(X) \ |
| template <unsigned _blk_sz, typename _run_type, class __pos_type> \ |
| inline X<_blk_sz, _run_type, __pos_type> operator - ( \ |
| const X<_blk_sz, _run_type, __pos_type> & a, \ |
| typename X<_blk_sz, _run_type, __pos_type>::_pos_type off) \ |
| { \ |
| return X<_blk_sz, _run_type, __pos_type>(a.array, a.pos - off); \ |
| } \ |
| template <unsigned _blk_sz, typename _run_type, class __pos_type> \ |
| inline X<_blk_sz, _run_type, __pos_type> & operator -= ( \ |
| X < _blk_sz, _run_type, __pos_type > & a, \ |
| typename X<_blk_sz, _run_type, __pos_type>::_pos_type off) \ |
| { \ |
| a.pos -= off; \ |
| return a; \ |
| } |
| |