|
@ -40,7 +40,8 @@ public: |
|
|
vector_ref<_T> cropped(size_t _begin, size_t _count = ~size_t(0)) const { if (m_data && _begin + std::max(size_t(0), _count) <= m_count) return vector_ref<_T>(m_data + _begin, _count == ~size_t(0) ? m_count - _begin : _count); else return vector_ref<_T>(); } |
|
|
vector_ref<_T> cropped(size_t _begin, size_t _count = ~size_t(0)) const { if (m_data && _begin + std::max(size_t(0), _count) <= m_count) return vector_ref<_T>(m_data + _begin, _count == ~size_t(0) ? m_count - _begin : _count); else return vector_ref<_T>(); } |
|
|
void retarget(_T const* _d, size_t _s) { m_data = _d; m_count = _s; } |
|
|
void retarget(_T const* _d, size_t _s) { m_data = _d; m_count = _s; } |
|
|
void retarget(std::vector<_T> const& _t) { m_data = _t.data(); m_count = _t.size(); } |
|
|
void retarget(std::vector<_T> const& _t) { m_data = _t.data(); m_count = _t.size(); } |
|
|
void copyTo(vector_ref<typename std::remove_const<_T>::type> _t) const { memcpy(_t.data(), m_data, std::min(_t.size(), m_count) * sizeof(_T)); memset(_t.data() + m_count, 0, std::max(_t.size(), m_count) - m_count); } |
|
|
void copyTo(vector_ref<typename std::remove_const<_T>::type> _t) const { memcpy(_t.data(), m_data, std::min(_t.size(), m_count) * sizeof(_T)); } |
|
|
|
|
|
void populate(vector_ref<typename std::remove_const<_T>::type> _t) const { copyTo(_t); memset(_t.data() + m_count, 0, std::max(_t.size(), m_count) - m_count); } |
|
|
|
|
|
|
|
|
_T* begin() { return m_data; } |
|
|
_T* begin() { return m_data; } |
|
|
_T* end() { return m_data + m_count; } |
|
|
_T* end() { return m_data + m_count; } |
|
|