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;