33 float& operator[](
size_t index) {
35 DCHECK_LT(index, size_);
36 return *(begin() + index);
40 const float& operator[](
size_t index)
const {
42 DCHECK_LT(index, size_);
43 return *(begin() + index);
47 size_t size()
const {
return size_; }
58 return begin_itr_ + size_;
62 const float* begin()
const {
68 const float* end()
const {
70 return begin_itr_ + size_;
74 ChannelView& operator=(
const std::vector<float>& other) {
76 DCHECK_EQ(other.size(), size_);
77 memcpy(begin(), other.data(),
sizeof(
float) * size_);
85 DCHECK_EQ(other.size(), size_);
86 memcpy(begin(), other.begin(),
sizeof(
float) * size_);
103 memset(begin(), 0,
sizeof(
float) * size_);
111 void SetEnabled(
bool enabled) { enabled_ = enabled; }
116 bool IsEnabled()
const {
return enabled_; }
124 : begin_itr_(begin_itr), size_(size), enabled_(
true) {}
127 float*
const begin_itr_;