1#ifndef CLASSIC_FSlice_HH
2#define CLASSIC_FSlice_HH
29template<
class T,
int S>
100template<
class T,
int S>
170template<
class T,
int S>
171inline std::random_access_iterator_tag
173 return std::random_access_iterator_tag();
176template<
class T,
int S>
177inline std::random_access_iterator_tag
179 return std::random_access_iterator_tag();
182template<
class T,
int S>
187template<
class T,
int S>
196template<
class T,
int S>
201template<
class T,
int S>
206template<
class T,
int S>
212template<
class T,
int S>
214 return cursor == rhs.
cursor;
217template<
class T,
int S>
219 return cursor != rhs.
cursor;
222template<
class T,
int S>
228template<
class T,
int S>
235template<
class T,
int S>
241template<
class T,
int S>
248template<
class T,
int S>
254template<
class T,
int S>
260template<
class T,
int S>
266template<
class T,
int S>
272template<
class T,
int S>
275 return (cursor - rhs.
cursor) / S;
278template<
class T,
int S>
283template<
class T,
int S>
292template<
class T,
int S>
297template<
class T,
int S>
302template<
class T,
int S>
308template<
class T,
int S>
310 return cursor == rhs.
cursor;
313template<
class T,
int S>
315 return cursor != rhs.
cursor;
318template<
class T,
int S>
324template<
class T,
int S>
331template<
class T,
int S>
337template<
class T,
int S>
344template<
class T,
int S>
350template<
class T,
int S>
356template<
class T,
int S>
inline
362template<
class T,
int S>
inline
368template<
class T,
int S>
371 return (cursor - rhs.
cursor) / S;
374template<
class T,
int S>
379template<
class T,
int S>
T * value_type(const FSlice< T, S > &)
std::random_access_iterator_tag iterator_category(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.