1 #ifndef CLASSIC_FSlice_HH
2 #define CLASSIC_FSlice_HH
29 template<
class T,
int S>
100 template<
class T,
int S>
170 template<
class T,
int S>
171 inline std::random_access_iterator_tag
173 return std::random_access_iterator_tag();
176 template<
class T,
int S>
177 inline std::random_access_iterator_tag
179 return std::random_access_iterator_tag();
182 template<
class T,
int S>
187 template<
class T,
int S>
196 template<
class T,
int S>
201 template<
class T,
int S>
206 template<
class T,
int S>
212 template<
class T,
int S>
214 return cursor == rhs.
cursor;
217 template<
class T,
int S>
219 return cursor != rhs.
cursor;
222 template<
class T,
int S>
228 template<
class T,
int S>
235 template<
class T,
int S>
241 template<
class T,
int S>
248 template<
class T,
int S>
254 template<
class T,
int S>
260 template<
class T,
int S>
266 template<
class T,
int S>
272 template<
class T,
int S>
275 return (cursor - rhs.
cursor) / S;
278 template<
class T,
int S>
283 template<
class T,
int S>
292 template<
class T,
int S>
297 template<
class T,
int S>
302 template<
class T,
int S>
308 template<
class T,
int S>
310 return cursor == rhs.
cursor;
313 template<
class T,
int S>
315 return cursor != rhs.
cursor;
318 template<
class T,
int S>
324 template<
class T,
int S>
331 template<
class T,
int S>
337 template<
class T,
int S>
344 template<
class T,
int S>
350 template<
class T,
int S>
356 template<
class T,
int S>
inline
362 template<
class T,
int S>
inline
368 template<
class T,
int S>
371 return (cursor - rhs.
cursor) / S;
374 template<
class T,
int S>
379 template<
class T,
int S>
std::random_access_iterator_tag iterator_category(const FSlice< T, S > &)
T * value_type(const FSlice< T, S > &)
An iterator permitting to iterate with a stride different from 1.
T & operator[](int) const
Delegate.
FSlice & operator--()
Decrement (iterate backward).
FSlice & operator+=(std::ptrdiff_t)
Increment by multiple stride.
FSlice & operator=(const FSlice &)
FSlice & operator-=(std::ptrdiff_t)
Decrement by multiple stride.
FSlice operator+(std::ptrdiff_t)
Add multiple stride.
T & operator*() const
Dereference.
bool operator==(const FSlice &rhs) const
T * pointer
The pointer type.
FSlice & operator++()
Increment (iterate forward).
std::random_access_iterator_tag iterator_category
The iterator tag, taken from the standard template library.
std::ptrdiff_t difference_type
The pointer difference type.
bool operator!=(const FSlice &rhs) const
FSlice(T *)
Constructor for array.
T value_type
The value type.
T & reference
The reference type.
FSlice operator-(std::ptrdiff_t)
Subtract multiple stride.
Constant version of FSlice.
FConstSlice & operator++()
Increment (iterate forward).
bool operator!=(const FConstSlice &rhs) const
const T & operator[](int) const
Delegate.
const T & reference
The reference type.
const T value_type
The value type.
FConstSlice & operator--()
Decrement (iterate backward).
bool operator==(const FConstSlice &rhs) const
std::random_access_iterator_tag iterator_category
The iterator tag, taken from the standard template library.
const T & operator*() const
Dereference.
FConstSlice & operator+=(std::ptrdiff_t)
Add multiple stride and assign.
FConstSlice operator-(std::ptrdiff_t) const
Subtract multiple stride.
FConstSlice & operator=(const FConstSlice &)
FConstSlice operator+(std::ptrdiff_t) const
Add multiple stride.
FConstSlice(const T *)
Constructor from array and stride.
std::ptrdiff_t difference_type
The pointer difference type.
FConstSlice & operator-=(std::ptrdiff_t)
Subtract multiple stride and assign.
const T * pointer
The pointer type.