[#BloombergLP-bslstl-BidirectionalIterator-2constructor-09] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/BidirectionalIterator.adoc[BidirectionalIterator]::BidirectionalIterator :relfileprefix: ../../../ :mrdocs: Constructors == Synopses Declared in `<bslstl_bidirectionaliterator.h>` Construct the default value for this iterator type. All default‐ constructed `BidirectionalIterator` objects represent non‐dereferenceable iterators into the same empty range. They do not have a singular value unless an object of the type specified by the template parameter `ITER_IMP` has a singular value after value‐initialization. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-0c.adoc[BidirectionalIterator](); ---- [.small]#xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-0c.adoc[_» more..._]# Construct a bidirectional iterator from the specified `other` iterator of another (compatible) `BidirectionalIterator` type, e.g., a mutable iterator of the same type. Note that this constructor may be the copy constructor (inhibiting the implicit declaration of a copy constructor above), or may be an additional overload. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-04.adoc[BidirectionalIterator](xref:BloombergLP/bslstl/BidirectionalIterator.adoc[BidirectionalNonConstIterator] const& other); ---- [.small]#xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-04.adoc[_» more..._]# Construct a bidirectional iterator having the specified `implementation` of the parameterized `ITER_IMP` type. [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-06.adoc[BidirectionalIterator](ITER_IMP const& implementation); ---- [.small]#xref:BloombergLP/bslstl/BidirectionalIterator/2constructor-06.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#