PIP 5.6.1
Platform-Independent Primitives
Классы | Открытые типы | Открытые члены | Открытые статические члены | Относящиеся к классу функции | Полный список членов класса
Класс PICout

Универсальный вывод в консоль. Подробнее...

#include <picout.h>

Классы

class  Notifier
 Класс для посылки событий от PICout. Подробнее...
 

Открытые типы

enum  OutputDevice { NoDevices = 0x0 , Console = 0x1 , DEPRECATEDM =("use PICout::Console") = Console , Buffer = 0x2 , AllDevices = 0xFFFF }
 Перечисление с устройствами вывода для PICout. Подробнее...
 

Открытые члены

 PICout (int controls=PICoutManipulators::DefaultControls, PICoutStdStream stream=PICoutStdStream::StdOut)
 Конструктор по умолчанию (AddSpaces и AddNewLine)
 
 PICout (bool active, PICoutStdStream stream=PICoutStdStream::StdOut)
 Конструктор по умолчанию (AddSpaces и AddNewLine), но если не "active" то будет неактивным
 
PICoutoperator<< (const char *v)
 Оператор вывода для строк "const char * "
 
PICoutoperator<< (const PIString &v)
 Оператор вывода для PIString.
 
PICoutoperator<< (bool v)
 Оператор вывода для логических значений
 
PICoutoperator<< (char v)
 Оператор вывода для "char" значений
 
PICoutoperator<< (uchar v)
 Оператор вывода для "unsigned char" значений
 
PICoutoperator<< (short v)
 Оператор вывода для "short" значений
 
PICoutoperator<< (ushort v)
 Оператор вывода для "unsigned short" значений
 
PICoutoperator<< (int v)
 Оператор вывода для "int" значений Подробнее...
 
PICoutoperator<< (uint v)
 Оператор вывода для "unsigned int" значений Подробнее...
 
PICoutoperator<< (long v)
 Оператор вывода для "long" значений Подробнее...
 
PICoutoperator<< (ulong v)
 Оператор вывода для "unsigned long" значений Подробнее...
 
PICoutoperator<< (llong v)
 Оператор вывода для "long long" значений Подробнее...
 
PICoutoperator<< (ullong v)
 Оператор вывода для "unsigned long long" значений Подробнее...
 
PICoutoperator<< (float v)
 Оператор вывода для "float" значений
 
PICoutoperator<< (double v)
 Оператор вывода для "double" значений
 
PICoutoperator<< (ldouble v)
 Оператор вывода для "ldouble" значений
 
PICoutoperator<< (const void *v)
 Оператор вывода для указателей Подробнее...
 
PICoutoperator<< (const PIObject *v)
 Оператор вывода для PIObject и наследников Подробнее...
 
PICoutoperator<< (PICoutManipulators::PICoutSpecialChar v)
 Оператор вывода для PICoutSpecialChar.
 
PICoutoperator<< (PIFlags< PICoutManipulators::PICoutFormat > v)
 Оператор вывода для PIFlags<PICoutFormat> Подробнее...
 
PICoutoperator<< (PICoutManipulators::PICoutFormat v)
 Оператор вывода для PICoutFormat. Подробнее...
 
PICoutoperator<< (PICoutManipulators::PICoutAction v)
 Делает действие Подробнее...
 
PICoutsetControl (PICoutManipulators::PICoutControl c, bool on=true)
 Установить флаг "c" в "on" состояние
 
PICoutsetControls (PICoutManipulators::PICoutControls c)
 Установить флаги "c".
 
PICoutsaveAndSetControls (PICoutManipulators::PICoutControls c)
 Выполнить saveControls() и установить флаги "c".
 
PICoutsaveControls ()
 Сохраняет состояние флагов во внутренний стек Подробнее...
 
PICoutrestoreControls ()
 Восстанавливает состояние флагов из внутреннего стека Подробнее...
 
PICoutspace ()
 Условно добавляет пробел Подробнее...
 
PICoutquote ()
 Условно добавляет кавычки Подробнее...
 
PICoutnewLine ()
 Условно добавляет новую строку Подробнее...
 
PICoutwrite (char c)
 Пишет символ Подробнее...
 
PICoutwrite (const char *str)
 Пишет сырые символы Подробнее...
 
PICoutwrite (const char *str, int len)
 Пишет сырые символы Подробнее...
 
PICoutwrite (const PIString &s)
 Пишет сырой PIString. Подробнее...
 

Открытые статические члены

static void stdoutPIString (const PIString &str, PICoutStdStream s=PICoutStdStream::StdOut)
 Вывод PIString в stdout.
 
static PIString getBuffer ()
 Возвращает внутренний PIString буфер
 
static PIString getBufferAndClear ()
 Возвращает внутренний PIString буфер и очищает его
 
static void clearBuffer ()
 Очищает внутренний PIString буфер
 
static bool setOutputDevice (OutputDevice d, bool on=true)
 Устройство вывода "d" устанавливается в "on". Возвращает было ли устройство активно
 
static bool enableOutputDevice (OutputDevice d)
 Включает устройство вывода "d". Возвращает было ли устройство активно
 
static bool disableOutputDevice (OutputDevice d)
 Выключает устройство вывода "d". Возвращает было ли устройство активно
 
static void setOutputDevices (OutputDevices d)
 Устанавливает устройства вывода "d".
 
static OutputDevices currentOutputDevices ()
 Возвращает текущие устройства вывода
 
static bool isOutputDeviceActive (OutputDevice d)
 Возвращает активно ли устройство вывода "d".
 
static PICout withExternalBuffer (PIString *buffer, PIFlags< PICoutManipulators::PICoutControl > controls=PICoutManipulators::AddSpaces)
 Конструктор с внешним буфером. Подробнее...
 
static PICout withExternalBufferAndID (PIString *buffer, int id, PIFlags< PICoutManipulators::PICoutControl > controls=PICoutManipulators::DefaultControls)
 Конструктор с внешним буфером и ID "id". Подробнее Notifier. Подробнее...
 
static int registerExternalBufferID ()
 Возвращает уникальный ID для внешнего буфера для дальнейшего использования в withExternalBufferAndID()
 

Относящиеся к классу функции

(не члены класса)

PICout operator<< (PICout s, const PISystemMonitor::ThreadStats &v)
 Оператор вывода в PICout.
 
template<typename T >
PICout operator<< (PICout s, const PIDeque< T > &v)
 Оператор вывода в PICout.
 
template<typename Key , typename Type >
PICout operator<< (PICout s, const PIMap< Key, Type > &v)
 Оператор вывода в PICout.
 
template<typename Type0 , typename Type1 >
PICout operator<< (PICout s, const PIPair< Type0, Type1 > &v)
 Оператор вывода в PICout.
 
template<typename T >
PICout operator<< (PICout s, const PIVector< T > &v)
 Оператор вывода в PICout.
 
template<typename T >
PICout operator<< (PICout s, const PIVector2D< T > &v)
 Оператор вывода PIVector2D в PICout.
 
PICout operator<< (PICout s, const PIBinaryLog::BinLogInfo &bi)
 Выводит сводку PIBinaryLog::BinLogInfo в PICout.
 
PICout operator<< (PICout s, const PIDir &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIFile::FileInfo &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PISerial::DeviceInfo &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIUSB::Endpoint &v)
 Выводит описание endpoint в PICout.
 
PICout operator<< (PICout s, const PIBaseTransfer::Part &v)
 Выводит Part в PICout.
 
PICout operator<< (PICout s, const PIFileTransfer::PFTFileInfo &v)
 Оператор вывода в PICout для PFTFileInfo.
 
template<typename Type >
PICout operator<< (PICout &s, const PILine< Type > &v)
 Выводит координаты отрезка в PICout.
 
template<typename T >
PICout operator<< (PICout s, const complex< T > &v)
 Записывает комплексное число в виде (real; imag).
 
template<typename Type >
PICout operator<< (PICout &s, const PIPoint< Type > &v)
 Выводит координаты точки в PICout.
 
template<typename Type >
PICout operator<< (PICout &s, const PIRect< Type > &v)
 Выводит описание прямоугольника в PICout.
 
PICout operator<< (PICout s, const PIJSON &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PISystemInfo::MountInfo &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIConstChars &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIStringList &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIBitArray &ba)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PITime &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIDate &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIDateTime &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PINetworkAddress &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PISystemTime &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PISystemTime::Frequency &f)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIValueTree &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariant &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::Enumerator &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::Enum &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::File &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::Dir &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::Color &v)
 Оператор вывода в PICout.
 
PICout operator<< (PICout s, const PIVariantTypes::IODevice &v)
 Оператор вывода в PICout.
 

Подробное описание

Универсальный вывод в консоль.

Данный класс предоставляет универсальный интерфейс вывода с поддержкой различных типов данных, опций форматирования и нескольких устройств вывода (консоль, буфер).

Краткий обзор

Данный класс предоставляет множество операторов для вывода в консоль. Вывод в PICout потоково-последовательный, т.е. не смешивается из параллельных потоков.

Особенности

Использование

using namespace PICoutManipulators;
int a = 10, b = 32, c = 11;
piCout << a << Hex << b << Bin << c;
// 10 20 1011
piCout << "this"
<< "is" << Green << "green" << Default << "word";
// this is green word
PICout(AddSpaces | AddNewLine | AddQuotes) << Tab << "tab and"
<< "quotes";
// "tab and" "quotes"
PICout(int controls=PICoutManipulators::DefaultControls, PICoutStdStream stream=PICoutStdStream::StdOut)
Конструктор по умолчанию (AddSpaces и AddNewLine)
Definition: picout.cpp:180
Пространство имен содержит перечисления для контроля PICout.
Definition: picout.h:70
@ Bin
Definition: picout.h:115
@ Hex
Definition: picout.h:118
@ Tab
Definition: picout.h:78
@ AddNewLine
Definition: picout.h:104
@ AddQuotes
Definition: picout.h:105
@ AddSpaces
Definition: picout.h:103
@ Default
Definition: piscreentypes.h:45
@ Green
Definition: piscreentypes.h:48
#define piCout
Definition: picout.h:36

Создание своего оператора вывода

inline PICout operator<<(PICout s, const PIByteArray & ba) {
s.space(); // insert space after previous output
s.quote(); // ONLY if you want to quoted your type
s.saveAndSetControls(0); // clear all features and
// save them to stack,
// now it`s behavior similar to std::cout
// your output
for (uint i = 0; i < ba.size(); ++i)
s << ba[i];
s.restoreControls(); // restore features from stack
s.quote(); // ONLY if you want to quoted your type
return s;
}
Класс PIByteArray предоставляет массив байтов с эффективным управлением памятью и различными операция...
Definition: pibytearray.h:42
Универсальный вывод в консоль.
Definition: picout.h:166
PICout & operator<<(const char *v)
Оператор вывода для строк "const char * "
Definition: picout.cpp:448
return s
Оператор сохранения.
Definition: pisystemmonitor.h:312

Перечисления

◆ OutputDevice

Перечисление с устройствами вывода для PICout.

Элементы перечислений
NoDevices 

PICout неактивен

Console 

Стандартный вывод в консоль

Buffer 

Внутренний буфер

AllDevices 

Все

Методы

◆ operator<<() [1/11]

PICout & PICout::operator<< ( int  v)

Оператор вывода для "int" значений

Выводит целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [2/11]

PICout & PICout::operator<< ( uint  v)

Оператор вывода для "unsigned int" значений

Выводит беззнаковое целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [3/11]

PICout & PICout::operator<< ( long  v)

Оператор вывода для "long" значений

Выводит длинное целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [4/11]

PICout & PICout::operator<< ( ulong  v)

Оператор вывода для "unsigned long" значений

Выводит беззнаковое длинное целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [5/11]

PICout & PICout::operator<< ( llong  v)

Оператор вывода для "long long" значений

Выводит длинное long long целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [6/11]

PICout & PICout::operator<< ( ullong  v)

Оператор вывода для "unsigned long long" значений

Выводит беззнаковое длинное long long целочисленное значение в настроенный поток с опциональным форматированием (binary, octal, decimal, hexadecimal).

◆ operator<<() [7/11]

PICout & PICout::operator<< ( const void *  v)

Оператор вывода для указателей

Выводит адрес указателя в настроенный поток в шестнадцатеричном формате.

◆ operator<<() [8/11]

PICout & PICout::operator<< ( const PIObject v)

Оператор вывода для PIObject и наследников

Выводит PIObject или его наследников в настроенный поток, включая имя класса и имя объекта.

◆ operator<<() [9/11]

PICout & PICout::operator<< ( PIFlags< PICoutManipulators::PICoutFormat v)

Оператор вывода для PIFlags<PICoutFormat>

Устанавливает флаги форматирования вывода (binary, octal, decimal, hexadecimal, bold, colors) для последующего вывода целых чисел.

◆ operator<<() [10/11]

PICout & PICout::operator<< ( PICoutManipulators::PICoutFormat  v)

Оператор вывода для PICoutFormat.

Устанавливает флаг форматирования вывода (binary, octal, decimal, hexadecimal, bold, colors) для последующего вывода целых чисел.

◆ operator<<() [11/11]

PICout & PICout::operator<< ( PICoutManipulators::PICoutAction  v)

Делает действие

TODO : wondows ClearScreen !!!

◆ saveControls()

PICout & PICout::saveControls ( )

Сохраняет состояние флагов во внутренний стек

Сохраняет текущие флаги управления во внутренний стек для последующего восстановления с помощью restoreControls().

См. также
restoreControls()

◆ restoreControls()

PICout & PICout::restoreControls ( )

Восстанавливает состояние флагов из внутреннего стека

Восстанавливает флаги управления из внутреннего стека, которые были ранее сохранены с помощью saveControls().

См. также
saveControls()

◆ space()

PICout & PICout::space ( )

Условно добавляет пробел

Условно добавляет пробел в вывод, если включен флаг управления AddSpaces.

Добавляет пробел если это не первый вывод и установлен флаг AddSpaces

См. также
quote(), newLine()

◆ quote()

PICout & PICout::quote ( )

Условно добавляет кавычки

Условно добавляет кавычки в вывод, если включен флаг управления AddQuotes.

Добавляет кавычки если установлен флаг AddQuotes

См. также
space(), newLine()

◆ newLine()

PICout & PICout::newLine ( )

Условно добавляет новую строку

Условно добавляет символ новой строки в вывод, если включен флаг управления AddNewLine.

Добавляет новую строку если установлен флаг AddNewLine

См. также
space(), quote()

◆ write() [1/4]

PICout & PICout::write ( char  c)

Пишет символ

Записывает один символ непосредственно в поток вывода без какого-либо форматирования.

◆ write() [2/4]

PICout & PICout::write ( const char *  str)

Пишет сырые символы

Записывает сырые данные C-строки непосредственно в поток вывода без какого-либо форматирования.

◆ write() [3/4]

PICout & PICout::write ( const char *  str,
int  len 
)

Пишет сырые символы

Записывает сырые данные указанной длины непосредственно в поток вывода без какого-либо форматирования.

◆ write() [4/4]

PICout & PICout::write ( const PIString s)

Пишет сырой PIString.

Записывает сырые данные PIString непосредственно в поток вывода без какого-либо форматирования.

◆ withExternalBuffer()

PICout PICout::withExternalBuffer ( PIString buffer,
PIFlags< PICoutManipulators::PICoutControl controls = PICoutManipulators::AddSpaces 
)
static

Конструктор с внешним буфером.

Создает экземпляр PICout, который выводит данные во внешний буфер PIString с указанными флагами управления.

◆ withExternalBufferAndID()

PICout PICout::withExternalBufferAndID ( PIString buffer,
int  id,
PIFlags< PICoutManipulators::PICoutControl controls = PICoutManipulators::DefaultControls 
)
static

Конструктор с внешним буфером и ID "id". Подробнее Notifier.

Создает экземпляр PICout с внешним буфером и идентификатором уведомления. При уничтожении последней копии посылается событие finished() через Notifier.