函数模板 imbue

说明
头文件
参考

说明

当库流或流缓冲区的 std::locale 使用 std::basic_ios::imbuestd::basic_streambuf::pubimbue 设定时,Iostreams 库会自动调用函数模板 imbue。当 <a href="../guide/generic_streams.html#stream_buffer">stream_buffer</a><a href="../guide/generic_streams.html#stream">stream</a> 实例的 std::locale 设定时,imbue 会在底层设备上调用;当 <a href="../classes/filtering_streambuf.html">filtering_streambuf</a><a href="../classes/filtering_streambuf.html">filtering_stream</a>std::locale 设定时,imbue 会在底层链条中的每个过滤器和设备上调用。

头文件

<boost/iostreams/detail/imbue.hpp>
<boost/iostreams/detail/operations.hpp>

参考

概要

namespace boost { namespace iostreams {
              
template<typename T>     
void imbue(T& t, const std::locale& loc);

} } // End namespace boost::io

模板参数

T- <a href="../guide/concepts.html#filter_concepts">Filter</a><a href="../guide/concepts.html#device_concepts">Device</a> 概念之一的模型

语义

对于过滤器或设备类型 Timbue 的语义取决于其 <a href="../guide/traits.html#category">category</a>,如下所示

category_of<T>::type语义
可转换为 <a href="../guide/traits.html#category_tags">streambuf_tag</a> 调用 t.pubimbue(loc)
可转换为 <a href="../guide/traits.html#category_tags">localizable_tag</a>,但不能转换为 <a href="../guide/traits.html#category_tags">streambuf_tag</a> 调用 t.imbue(loc)
其他情况 无操作