Add const overloads for iterator functions. (#753)
This commit adds `const`-correct overloads for `Array::{begin,end,rbegin,rend}`. These overloads are necessary for usage with [the GMock Container Matchers](http://google.github.io/googletest/reference/matchers.html#container-matchers), which cast the `Container` argument to a constant reference.
This commit is contained in:
parent
ff6e733fe1
commit
c54ede3a9e
@ -454,6 +454,11 @@ public:
|
||||
return iterator(storage);
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_iterator begin() const {
|
||||
return cbegin();
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_iterator cbegin() const {
|
||||
return const_iterator(storage);
|
||||
@ -464,6 +469,11 @@ public:
|
||||
return iterator(reinterpret_cast<pointer>(storage + kStorageElements));
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_iterator end() const {
|
||||
return cend();
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_iterator cend() const {
|
||||
return const_iterator(reinterpret_cast<const_pointer>(storage + kStorageElements));
|
||||
@ -474,6 +484,11 @@ public:
|
||||
return reverse_iterator(reinterpret_cast<pointer>(storage + kStorageElements));
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_reverse_iterator rbegin() const {
|
||||
return crbegin();
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_reverse_iterator crbegin() const {
|
||||
return const_reverse_iterator(reinterpret_cast<const_pointer>(storage + kStorageElements));
|
||||
@ -484,6 +499,11 @@ public:
|
||||
return reverse_iterator(reinterpret_cast<pointer>(storage));
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_reverse_iterator rend() const {
|
||||
return crend();
|
||||
}
|
||||
|
||||
CUTLASS_HOST_DEVICE
|
||||
const_reverse_iterator crend() const {
|
||||
return const_reverse_iterator(reinterpret_cast<const_pointer>(storage));
|
||||
|
Loading…
Reference in New Issue
Block a user