Пространства имён
Варианты
Действия

std::raw_storage_iterator

Материал из cppreference.com
< cpp‎ | memory

 
 
Динамическое управление памятью
Низкоуровневое управление памятью
Аллокаторы
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Неинициализированные хранилища
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Умные указатели
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(устарело)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Поддержка сборки мусора
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Разное
pointer_traits(C++11)
addressof(C++11)
align(C++11)
Библиотека C
 
std::allocator
Член функций
Оригинал:
Member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
allocator::allocator
allocator::~allocator
allocator::address
allocator::allocate
allocator::deallocate
allocator::max_size
allocator::construct
allocator::destroy
Не являющиеся членами функций
Оригинал:
Non-member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
operator==
operator!=
 
Определено в заголовочном файле <memory>
template< class OutputIt, class T >

class raw_storage_iterator

    : public std::iterator<std::output_iterator_tag, void, void, void, void>;
std::raw_storage_iterator итератор вывода позволяет стандартных алгоритмов для хранения результатов в неинициализированной памяти. Всякий раз, когда алгоритм записывает объект типа T к разыменован итератор, объект копирования построена в месте в неинициализированные хранения, на который указывает итератор. OutputIt параметр шаблона любого типа, который отвечает требованиям тебя OutputIterator и operator* определены для возврата объекта, для которого operator& возвращает объект типа T*. Как правило, тип T* используется в качестве OutputIt.
Оригинал:
The output iterator std::raw_storage_iterator makes it possible for standard algorithms to store results in uninitialized memory. Whenever the algorithm writes an object of type T to the dereferenced iterator, the object is copy-constructed into the location in the uninitialized storage pointed to by the iterator. The template parameter OutputIt is any type that meets thee requirements of OutputIterator and has operator* defined to return an object, for which operator& returns an object of type T*. Usually, the type T* is used as OutputIt.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Тип требованиям

-
OutputIt должен соответствовать требованиям OutputIterator.

[править] Функции-члены

создает новый raw_storage_iterator
Оригинал:
creates a new raw_storage_iterator
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)
возвращает ссылку на эту raw_storage_iterator
Оригинал:
returns a reference to this raw_storage_iterator
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)
копирование создает объект, в то к расположению в буфер
Оригинал:
copy-constructs an object at the pointed-to location in the buffer
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)
перемещает итератор
Оригинал:
advances the iterator
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(public функция-член)

Унаследован от std::iterator

Member types

Член типа
Оригинал:
Member type
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Definition
value_type void
difference_type void
pointer void
reference void
iterator_category std::output_iterator_tag

[править] Пример

#include <iostream>
#include <string>
#include <memory>
#include <algorithm>
 
int main()
{
    const std::string s[] = {"This", "is", "a", "test", "."};
    std::string* p = std::get_temporary_buffer<std::string>(5).first;
 
    std::copy(std::begin(s), std::end(s),
              std::raw_storage_iterator<std::string*, std::string>(p));
 
    for(std::string* i = p; i!=p+5; ++i) {
        std::cout << *i << '\n';
        i->~basic_string<char>();
    }
    std::return_temporary_buffer(p);
}

Вывод:

This
is
a
test
.

[править] См. также

предоставляет информацию о распределитель типа
Оригинал:
provides information about allocator types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [edit]
реализует многоуровневую распределитель для многоуровневых контейнеров
Оригинал:
implements multi-level allocator for multi-level containers
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [edit]
проверяет, является ли указанный тип поддерживает использование-распределитель строительства
Оригинал:
checks if the specified type supports uses-allocator construction
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон класса) [edit]