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

std::ios_base::iword

Материал из cppreference.com
< cpp‎ | io‎ | ios base

 
 
Библиотеки ввода / вывода
I / O манипуляторов
C-стиль I / O
Буферы
Оригинал:
Buffers
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(устарело)
Потоки
Оригинал:
Streams
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Абстракций
Оригинал:
Abstractions
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
Файл I / O
Оригинал:
File I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_ifstream
basic_ofstream
basic_fstream
Струнный I / O
Оригинал:
String I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
basic_istringstream
basic_ostringstream
basic_stringstream
Массив I / O
Оригинал:
Array I/O
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
istrstream(устарело)
ostrstream(устарело)
strstream(устарело)
Типы
Оригинал:
Types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
streamoff
streamsize
fpos
Интерфейс Ошибка категории
Оригинал:
Error category interface
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
iostream_category(C++11)
io_errc(C++11)
 
std::ios_base
Функции-члены
ios_base::ios_base
ios_base::~ios_base
Форматирование
Оригинал:
Formatting
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::flags
ios_base::setf
ios_base::unsetf
ios_base::precision
ios_base::width
Языки
Оригинал:
Locales
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::imbue
ios_base::getloc
Внутренние расширяемый массив
Оригинал:
Internal extensible array
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::xalloc
ios_base::iword
ios_base::pword
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::register_callback
ios_base::sync_with_stdio
Член классов
Оригинал:
Member classes
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::failure
ios_base::Init
Член типов
Оригинал:
Member types
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
ios_base::openmode
ios_base::fmtflags
ios_base::iostate
ios_base::seekdir
ios_base::event
ios_base::event_callback
 
long& iword( int index );
Во-первых, выделяет или изменяет размеры частного хранения (динамический массив long или другой индексируемой структуры данных), достаточно, чтобы сделать index допустимый индекс, то возвращается ссылка на long элементом частного хранения с индексом index.
Оригинал:
First, allocates or resizes the private storage (dynamic array of long or another indexable data structure) sufficiently to make index a valid index, then returns a reference to the long element of the private storage with the index index.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Ссылки могут быть признаны недействительными по любой операции на этом ios_base объекта, в том числе еще один вызов iword(), но сохраненные значения сохраняются, так что чтение iword(index) с тем же индексом позже будет производить то же значение (до следующего вызова copyfmt()). Значение может быть использована для любых целей. Индекс элемента должно быть получено xalloc(), в противном случае столкновения с другими пользователями этой ios_base может произойти. Новые элементы инициализируются 0.
Оригинал:
The reference may be invalidated by any operation on this ios_base object, including another call to iword(), but the stored values are retained, so that reading from iword(index) with the same index later will produce the same value (until the next call to copyfmt()). The value can be used for any purpose. The index of the element must be obtained by xalloc(), otherwise collisions with other users of this ios_base may occur. New elements are initialized to 0.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Если распределение не удается, называет std::basic_ios<>::setstate(badbit), которые могут бросить std::basic_ios::failure
Оригинал:
If allocation fails, calls std::basic_ios<>::setstate(badbit) which may throw std::basic_ios::failure
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Заметки

Типичное использование складских iword состоит в передаче информации (например, пользовательские флаги форматирования) из заданных пользователем I / O манипуляторов для определяемых пользователем operator<< и operator>> или пользовательские форматы грани проникнут в стандартные потоки.
Оригинал:
Typical use of iword storage is to pass information (e.g. custom formatting flags) from user-defined I/O manipulators to user-defined operator<< and operator>> or to user-defined formatting facets imbued into standard streams.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

index -
Значение индекса элемента
Оригинал:
index value of the element
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

ссылка на элемент
Оригинал:
reference to the element
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Исключения

Может бросить std::ios_base::failure при установке badbit.
Оригинал:
May throw std::ios_base::failure when setting the badbit.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

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

#include <iostream>
#include <string>
 
struct Foo {
    static int foo_xalloc;
    std::string data;
    Foo(const std::string& s) : data(s) {}
};
 
// allocates the iword storage for use with Foo objects
int Foo::foo_xalloc = std::ios_base::xalloc();
 
// This user-defined operator<< prints the string in reverse if the iword holds 1
std::ostream& operator<<(std::ostream& os, Foo& f)
{
    if(os.iword(Foo::foo_xalloc) == 1)
        return os << std::string(f.data.rbegin(), f.data.rend());
    else
        return os << f.data;
}
 
// This I/O manipulator flips the number stored in iword between 0 and 1
std::ios_base& rev(std::ios_base& os)
{
    os.iword(Foo::foo_xalloc) = !os.iword(Foo::foo_xalloc);
    return os;
}
 
int main()
{
    Foo f("example");
    std::cout << f << '\n' << rev << f << '\n' << rev << f << '\n';
}

Вывод:

example
elpmaxe
example

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

изменяет размер частного хранения при необходимости и доступ к void* элемент по заданному индексу
Оригинал:
resizes the private storage if necessary and access to the void* element at the given index
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public функция-член) [edit]
[static]
возвращает программу в масштабах уникальное целое число, которое является безопасным для использования в качестве индекса Pword () и iword ()
Оригинал:
returns a program-wide unique integer that is safe to use as index to pword() and iword()
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(public static функция-член) [edit]