diff --git a/reference/spl/iteratoriterator.xml b/reference/spl/iteratoriterator.xml
new file mode 100644
index 0000000000..b8056eba57
--- /dev/null
+++ b/reference/spl/iteratoriterator.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+ The IteratorIterator class
+ IteratorIterator
+
+
+
+
+
+ &reftitle.intro;
+
+ This iterator wrapper allows the conversion of anything that is
+ Traversable into an Iterator.
+ It is important to understand that most classes that do not implement
+ Iterators have reasons as most likely they do not allow the full
+ Iterator feature set. If so, techniques should be provided to prevent
+ misuse, otherwise expect exceptions or fatal errors.
+
+
+
+
+
+ &reftitle.classsynopsis;
+
+
+
+ IteratorIterator
+
+
+
+
+ IteratorIterator
+
+
+
+ Iterator
+
+
+
+ Traversable
+
+
+
+ OuterIterator
+
+
+
+
+ Methods
+
+
+
+
+
+
+
+
+ &reference.spl.entities.iteratoriterator;
+
+
+
+
diff --git a/reference/spl/iteratoriterator/construct.xml b/reference/spl/iteratoriterator/construct.xml
new file mode 100644
index 0000000000..6050bf1409
--- /dev/null
+++ b/reference/spl/iteratoriterator/construct.xml
@@ -0,0 +1,73 @@
+
+
+
+
+
+ IteratorIterator::__construct
+ Create an iterator from anything that is traversable
+
+
+
+ &reftitle.description;
+
+ IteratorIterator::__construct
+ Traversableiterator
+
+
+ Creates an iterator from anything that is traversable.
+
+
+
+
+ &reftitle.parameters;
+
+
+
+ iterator
+
+
+ The traversable iterator.
+
+
+
+
+
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.seealso;
+
+
+ Traversable
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/current.xml b/reference/spl/iteratoriterator/current.xml
new file mode 100644
index 0000000000..7a8a7e3b2a
--- /dev/null
+++ b/reference/spl/iteratoriterator/current.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ IteratorIterator::current
+ Get the current value
+
+
+
+ &reftitle.description;
+
+ public voidIteratorIterator::current
+
+
+
+ Get the value of the current element.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ The value of the current element.
+
+
+
+
+ &reftitle.seealso;
+
+
+ IteratorIterator::key
+
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/getinneriterator.xml b/reference/spl/iteratoriterator/getinneriterator.xml
new file mode 100644
index 0000000000..162c4e1512
--- /dev/null
+++ b/reference/spl/iteratoriterator/getinneriterator.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ IteratorIterator::getInnerIterator
+ Get the inner iterator
+
+
+
+ &reftitle.description;
+
+ public voidIteratorIterator::getInnerIterator
+
+
+
+ Get the inner iterator.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ The inner iterator as passed to IteratorIterator::__construct.
+
+
+
+
+ &reftitle.seealso;
+
+
+ Iterator
+ OuterIterator
+
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/key.xml b/reference/spl/iteratoriterator/key.xml
new file mode 100644
index 0000000000..9e9e62db40
--- /dev/null
+++ b/reference/spl/iteratoriterator/key.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+ IteratorIterator::key
+ Get the key of the current element
+
+
+
+ &reftitle.description;
+
+ public voidIteratorIterator::key
+
+
+
+ Get the key of the current element.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ The key of the current element.
+
+
+
+
+ &reftitle.seealso;
+
+
+ IteratorIterator::current
+
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/next.xml b/reference/spl/iteratoriterator/next.xml
new file mode 100644
index 0000000000..abfd25f71c
--- /dev/null
+++ b/reference/spl/iteratoriterator/next.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ IteratorIterator::next
+ Forward to the next element
+
+
+
+ &reftitle.description;
+
+ public voidIteratorIterator::next
+
+
+
+ Forward to the next element.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.seealso;
+
+
+ IteratorIterator::rewind
+ IteratorIterator::valid
+
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/rewind.xml b/reference/spl/iteratoriterator/rewind.xml
new file mode 100644
index 0000000000..2c5c2776f9
--- /dev/null
+++ b/reference/spl/iteratoriterator/rewind.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ IteratorIterator::rewind
+ Rewind to the first element
+
+
+
+ &reftitle.description;
+
+ public voidIteratorIterator::rewind
+
+
+
+ Rewinds to the first element.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ &return.void;
+
+
+
+
+ &reftitle.seealso;
+
+
+ IteratorIterator::next
+ IteratorIterator::valid
+
+
+
+
+
+
+
diff --git a/reference/spl/iteratoriterator/valid.xml b/reference/spl/iteratoriterator/valid.xml
new file mode 100644
index 0000000000..984e33cdbc
--- /dev/null
+++ b/reference/spl/iteratoriterator/valid.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+ IteratorIterator::valid
+ Checks if the iterator is valid
+
+
+
+ &reftitle.description;
+
+ public boolIteratorIterator::valid
+
+
+
+ Checks if the iterator is valid.
+
+
+
+
+ &reftitle.parameters;
+ &no.function.parameters;
+
+
+
+ &reftitle.returnvalues;
+
+ Returns &true; if the iterator is valid, otherwise &false;
+
+
+
+
+ &reftitle.seealso;
+
+
+ iterator_count
+ IteratorIterator::current
+
+
+
+
+
+
+