Fix omitted typenames incompatible with Visual C++ 2015
diff --git a/include/cxx.h b/include/cxx.h
index e3ef0be..8a91f26 100644
--- a/include/cxx.h
+++ b/include/cxx.h
@@ -783,7 +783,7 @@
template <typename T>
typename Vec<T>::iterator::reference Vec<T>::iterator::operator[](
- Vec<T>::iterator::difference_type n) const noexcept {
+ typename Vec<T>::iterator::difference_type n) const noexcept {
auto pos = static_cast<char *>(this->pos) + this->stride * n;
return *static_cast<T *>(pos);
}
@@ -815,22 +815,22 @@
}
template <typename T>
-typename Vec<T>::iterator &
-Vec<T>::iterator::operator+=(Vec<T>::iterator::difference_type n) noexcept {
+typename Vec<T>::iterator &Vec<T>::iterator::operator+=(
+ typename Vec<T>::iterator::difference_type n) noexcept {
this->pos = static_cast<char *>(this->pos) + this->stride * n;
return *this;
}
template <typename T>
-typename Vec<T>::iterator &
-Vec<T>::iterator::operator-=(Vec<T>::iterator::difference_type n) noexcept {
+typename Vec<T>::iterator &Vec<T>::iterator::operator-=(
+ typename Vec<T>::iterator::difference_type n) noexcept {
this->pos = static_cast<char *>(this->pos) - this->stride * n;
return *this;
}
template <typename T>
typename Vec<T>::iterator Vec<T>::iterator::operator+(
- Vec<T>::iterator::difference_type n) const noexcept {
+ typename Vec<T>::iterator::difference_type n) const noexcept {
auto ret = iterator(*this);
ret.pos = static_cast<char *>(this->pos) + this->stride * n;
return ret;
@@ -838,7 +838,7 @@
template <typename T>
typename Vec<T>::iterator Vec<T>::iterator::operator-(
- Vec<T>::iterator::difference_type n) const noexcept {
+ typename Vec<T>::iterator::difference_type n) const noexcept {
auto ret = iterator(*this);
ret.pos = static_cast<char *>(this->pos) - this->stride * n;
return ret;