24 #ifndef __ARRAY_VIEW_H__
25 #define __ARRAY_VIEW_H__
31 #include <type_traits>
110 template <
typename T>
116 template <
typename A>
117 inline array_view(
const std::vector<T, A> & v):
126 template <
typename A>
127 inline array_view(
const std::vector<T, A> & v,
size_t start,
size_t end):
133 inline array_view(
const T * start,
const T * end):
141 template <
typename T>
146 template <
typename T>
147 array_view<T> make_array_view(T * start, T * end) {
148 return array_view<T>(start, end);
151 template <
typename T>
152 array_view<typename T::value_type> make_array_view(T & s) {
153 return make_array_view(s.begin(), s.end());
156 template <
typename T>
157 array_view<typename T::value_type> make_array_view(T & s,
size_t start,
size_t end) {
158 return make_array_view(s.begin() + start, s.begin() + end);
161 template <
typename T>
162 array_view<const typename T::value_type> make_array_view(
const T & s) {
163 return make_array_view(s.begin(), s.end());
166 template <
typename T>
167 array_view<const typename T::value_type> make_array_view(
const T & s,
size_t start,
size_t end) {
168 return make_array_view(s.begin() + start, s.begin() + end);
176 #endif // __ARRAY_VIEW_H__
Base class for array_view.
Base class for array_view.
array_view(std::vector< T, A > &v)
std::vector constructor.
array_view(const array_view &o)
Copy constructor.
Generic internal array with known memory requirements.
Generic internal vector with known memory requirements.
array_view(tpie::array< T > &v)
tpie::array constructor.
Encapsulation of two pointers from any random access container.
array_view(T *start, T *end)
Pointer constructor.
A generic internal vector.
size_t size() const
Get number of elements in the array.
iterator begin()
Get an iterator to the beginning of the structure.
iterator begin() const
Return an iterator to the beginning of the array.
array_view(std::vector< T, A > &v, size_t start, size_t end)
std::vector subsequence.
iterator end()
Return an iterator to the end of the array.
iterator begin()
Return an iterator to the beginning of the array.
iterator end()
Get an iterator to the end of the structure.
array_view(tpie::internal_vector< T > &v)
tpie::internal_vector constructor.
array_view(T *start, size_t size)
Pointer+offset constructor.
array_view(tpie::array< T > &v, size_t start, size_t end)
tpie::array subsequence.
iterator end() const
Return an iterator to the end of the array.