[#bsl-basic_string-02] = xref:bsl.adoc[bsl]::xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE>] :relfileprefix: ../ :mrdocs: Deduce the template parameter `CHAR_TYPE` from the `value_type` of the iterators passed to passed to the constructor of `basic_string`. This deduction guide does not participate unless the specified `ALLOC` is convertible to `bsl::allocator<CHAR_TYPE>`. == Synopsis Declared in `<bslstl_string.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< class INPUT_ITER, class CHAR_TYPE = xref:BloombergLP/bslstl/IteratorUtil/IterVal_t.adoc[BloombergLP::bslstl::IteratorUtil::IterVal_t<INPUT_ITER>], class ALLOC, class DEFAULT_ALLOCATOR = xref:bsl/allocator-0df.adoc[bsl::allocator<CHAR_TYPE>]> requires bsl::is_convertible_v<ALLOC *, DEFAULT_ALLOCATOR> xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE>]( INPUT_ITER, INPUT_ITER, ALLOC*) -> xref:bsl/basic_string-0faf.adoc[basic_string<CHAR_TYPE>]; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#