MemBufOutputByteStreamRef::write: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{function_begin |template <class..._Args> MemBufOutputByteStreamRef& write(_Args&&...args); |{{MemBufOutputByteStreamRef::write brief}}}} {{function_paramlist…»)
 
 
Строка 1: Строка 1:
{{function_begin |template <class..._Args>
{{function_begin|MemBufOutputByteStreamRef& write(_In_bytecount_(cbData) const void* pData, std::size_t cbData); //1
  MemBufOutputByteStreamRef& write(_Args&&...args); |{{MemBufOutputByteStreamRef::write brief}}}}
template <class T>
MemBufOutputByteStreamRef& write(_In_bytecount_(cData) const T* pData, std::size_t cData); //2
MemBufOutputByteStreamRef& write(_In_z_ const char* pszData); //3
template <class Iterator>
MemBufOutputByteStreamRef& write(Iterator itBegin, Iterator itEnd); //4
template <class ByteContainer>
MemBufOutputByteStreamRef& write(const ByteContainer& cont); //5
template <class PODType>
MemBufOutputByteStreamRef& write(const PODType& value); //6|{{MemBufOutputByteStreamRef::write brief}}
# Производит запись из буфера, заданного обобщенным C-указателем и размером.
# Производит запись из буфера, заданного C-указателем и размером. Данная перегрузка задана только для байтовых указателей.
# Производит запись из C-строки с терминальным нулем. Запись производится '''без терминального нуля'''.
# Производит запись из пары итераторов. Перегрузка существует, только если <source lang='cpp' inline>std::iterator_traits<_Iterator>::value_type</source> является байтовым типом.
# Производит запись из [http://en.cppreference.com/w/cpp/concept/Container контейнера] байт. Перегрузка существует, только если <source lang='cpp' inline>ByteContainer::value_type</source> является байтовым типом.
# Производит запись в поток содержимого объекта типа, удовлетворяющего требованиям {{cpp_concept|PODType}}.}}
{{function_paramlist_begin}}
{{function_paramlist_begin}}
{{function_paramlist_add|args|Параметры, которые перенаправляются в вызов [[OutputByteStreamRef::write]]. }}
{{function_paramlist_add|pData|Указатель на буфер байт с данными, которые необходимо записать в поток.|paramdir=[in]}}
{{function_paramlist_add|cbData, cData|Размер буфера <tt>pData</tt> в байтах.}}
{{function_paramlist_add|pszData|Указатель на C-строку с терминальным нулем, которую необходимо записать в поток. Запись производится '''без терминального нуля'''.|paramdir=[in]}}
{{function_paramlist_add|itBegin, itEnd|Пара входных итераторов, задающих полудиапазон байт <nowiki>[itBegin, itEnd)</nowiki>, которые необходимо записать в поток.}}
{{function_paramlist_add|cont|[http://en.cppreference.com/w/cpp/concept/Container Контейнер] байт, которые необходимо записать в поток.}}
{{function_paramlist_add|value|{{cpp_concept|PODType}}-значение, содержимое которого побайтово пишется в выходной поток.|paramdir=[in]}}
{{function_paramlist_end}}
{{function_paramlist_end}}
{{function_return_value|Ссылка на объект потока.}}
{{function_return_value|Ссылка на <source lang="cpp" inline>*this</source>.}}
{{function_end}}
{{function_end}}

Текущая версия на 19:58, 9 августа 2019

MemBufOutputByteStreamRef& write(_In_bytecount_(cbData) const void* pData, std::size_t cbData); //1
template <class T>
MemBufOutputByteStreamRef& write(_In_bytecount_(cData) const T* pData, std::size_t cData); //2
MemBufOutputByteStreamRef& write(_In_z_ const char* pszData); //3
template <class Iterator>
MemBufOutputByteStreamRef& write(Iterator itBegin, Iterator itEnd); //4
template <class ByteContainer>
MemBufOutputByteStreamRef& write(const ByteContainer& cont); //5
template <class PODType>
MemBufOutputByteStreamRef& write(const PODType& value); //6

Производит запись байт в поток.

  1. Производит запись из буфера, заданного обобщенным C-указателем и размером.
  2. Производит запись из буфера, заданного C-указателем и размером. Данная перегрузка задана только для байтовых указателей.
  3. Производит запись из C-строки с терминальным нулем. Запись производится без терминального нуля.
  4. Производит запись из пары итераторов. Перегрузка существует, только если std::iterator_traits<_Iterator>::value_type является байтовым типом.
  5. Производит запись из контейнера байт. Перегрузка существует, только если ByteContainer::value_type является байтовым типом.
  6. Производит запись в поток содержимого объекта типа, удовлетворяющего требованиям PODType.
Параметры
[in]pDataУказатель на буфер байт с данными, которые необходимо записать в поток.
cbData, cDataРазмер буфера pData в байтах.
[in]pszDataУказатель на C-строку с терминальным нулем, которую необходимо записать в поток. Запись производится без терминального нуля.
itBegin, itEndПара входных итераторов, задающих полудиапазон байт [itBegin, itEnd), которые необходимо записать в поток.
contКонтейнер байт, которые необходимо записать в поток.
[in]valuePODType-значение, содержимое которого побайтово пишется в выходной поток.
Возвращаемое значение:
Ссылка на *this.