diff --git a/include/numeric b/include/numeric
index 14a6615..8c0bc4d 100644
--- a/include/numeric
+++ b/include/numeric
@@ -50,6 +50,9 @@
     OutputIterator
     adjacent_difference(InputIterator first, InputIterator last, OutputIterator result, BinaryOperation binary_op);
 
+template <class ForwardIterator, class T>
+    void iota(ForwardIterator first, ForwardIterator last, T value);
+
 }  // std
 
 */
@@ -178,6 +181,15 @@
     return __result;
 }
 
+template <class _ForwardIterator, class _Tp>
+inline _LIBCPP_INLINE_VISIBILITY
+void
+iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value)
+{
+    for (; __first != __last; ++__first, ++__value)
+        *__first = __value;
+}
+
 _LIBCPP_END_NAMESPACE_STD
 
 #endif  // _LIBCPP_NUMERIC
diff --git a/test/numerics/numeric.ops/numeric.iota/iota.pass.cpp b/test/numerics/numeric.ops/numeric.iota/iota.pass.cpp
new file mode 100644
index 0000000..f6d1291
--- /dev/null
+++ b/test/numerics/numeric.ops/numeric.iota/iota.pass.cpp
@@ -0,0 +1,38 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <numeric>
+
+// template <class ForwardIterator, class T>
+//     void iota(ForwardIterator first, ForwardIterator last, T value);
+
+#include <numeric>
+#include <cassert>
+
+#include "../iterators.h"
+
+template <class InIter>
+void
+test()
+{
+    int ia[] = {1, 2, 3, 4, 5};
+    int ir[] = {5, 6, 7, 8, 9};
+    const unsigned s = sizeof(ia) / sizeof(ia[0]);
+    std::iota(InIter(ia), InIter(ia+s), 5);
+    for (unsigned i = 0; i < s; ++i)
+        assert(ia[i] == ir[i]);
+}
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}
