InMemoryDataStorageRef::get buffer: различия между версиями

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
(Новая страница: «{{DISPLAYTITLE:InMemoryDataStorageRef::get_buffer}} {{function_begin|Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> get…»)
 
 
Строка 3: Строка 3:
Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<std::uint8_t*>> get_buffer(); //2
Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<std::uint8_t*>> get_buffer(); //2
|{{InMemoryDataStorageRef::get_buffer brief}}
|{{InMemoryDataStorageRef::get_buffer brief}}
# Возвращенные итераторы не являются выходными, то есть не удовлетворяют требованиям {{cpp_concept|OutputIterator}}.}}
# Возвращенные итераторы не являются выходными, то есть не удовлетворяют требованиям {{cpp_concept|OutputIterator}}.
# Возвращенные итераторы являются выходными, удовлетворяя требованиям {{cpp_concept|OutputIterator}}.
# Возвращенные итераторы являются выходными, удовлетворяя требованиям {{cpp_concept|OutputIterator}}.}}
{{function return_value|Пара итераторов [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1raw__pointer__iterator_3_01_t_01_5_01_4.html raw_pointer_iterator], заданная объектом [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1iterator__range.html iterator_range], первый элемент которой связан с началом буфера, а второй - с концом. Если <tt>itB</tt> - первый элемент возвращенной методом [[InMemoryDataStorageRef::get_buffer|get_buffer]] пары, а <tt>itE</tt> - её второй элемент, то <tt>&*itB</tt> - это адрес буфера, который также возвращается методом [[InMemoryDataStorageRef::data|data]] над {{cpp_this}}, <tt>&*itE</tt> - адрес первого байта за пределами буфера, а разность <tt>itE - itB</tt> равна размеру буфера в байтах.}}
{{function return_value|Пара итераторов [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1raw__pointer__iterator_3_01_t_01_5_01_4.html raw_pointer_iterator], заданная объектом [https://www.chusov.org/doxygen/struct_chusov_1_1_memory_1_1iterator__range.html iterator_range], первый элемент которой связан с началом буфера, а второй - с концом. Если <tt>itB</tt> - первый элемент возвращенной методом [[InMemoryDataStorageRef::get_buffer|get_buffer]] пары, а <tt>itE</tt> - её второй элемент, то <tt>&*itB</tt> - это адрес буфера, который также возвращается методом [[InMemoryDataStorageRef::data|data]] над {{cpp_this}}, <tt>&*itE</tt> - адрес первого байта за пределами буфера, а разность <tt>itE - itB</tt> равна размеру буфера в байтах.}}
{{function_end}}
{{function_end}}

Текущая версия на 16:41, 18 августа 2019

Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<const std::uint8_t*>> get_buffer() const; //1
Chusov::Memory::iterator_range<Chusov::Memory::raw_pointer_iterator<std::uint8_t*>> get_buffer(); //2

Возвращает пару итераторов произвольного доступа, ассоциированных с началом и концом буфера памяти, который управляется накопителем.

  1. Возвращенные итераторы не являются выходными, то есть не удовлетворяют требованиям OutputIterator.
  2. Возвращенные итераторы являются выходными, удовлетворяя требованиям OutputIterator.
Возвращаемое значение:
Пара итераторов raw_pointer_iterator, заданная объектом iterator_range, первый элемент которой связан с началом буфера, а второй - с концом. Если itB - первый элемент возвращенной методом get_buffer пары, а itE - её второй элемент, то &*itB - это адрес буфера, который также возвращается методом data над this, &*itE - адрес первого байта за пределами буфера, а разность itE - itB равна размеру буфера в байтах.