PIP 5.5.3
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.
 
PICout operator<< (PICout s, const PIBinaryLog::BinLogInfo &bi)
 Output operator PIBinaryLog::BinLogInfo to 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 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 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:69
@ Bin
Definition: picout.h:114
@ Hex
Definition: picout.h:117
@ Tab
Definition: picout.h:77
@ AddNewLine
Definition: picout.h:103
@ AddQuotes
Definition: picout.h:104
@ AddSpaces
Definition: picout.h:102
#define piCout
Макрос для условного (piDebug) вывода в PICout(StdOut)
Definition: picout.h:35

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

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
size_t size() const
Количество элементов массива.
Definition: pibytearray.h:150
Универсальный вывод в консоль.
Definition: picout.h:160
PICout & operator<<(const char *v)
Оператор вывода для строк "const char * "
Definition: picout.cpp:448
PICout & space()
Условно добавляет пробел
Definition: picout.cpp:575
PICout & restoreControls()
Восстанавливает состояние флагов из внутреннего стека
Definition: picout.cpp:559
PICout & quote()
Условно добавляет кавычки
Definition: picout.cpp:590
PICout & saveAndSetControls(PICoutManipulators::PICoutControls c)
Иыполнить saveControls() и Установить флаги "c".
Definition: picout.cpp:316

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

◆ OutputDevice

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

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

PICout неактивен

Console 

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

Buffer 

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

AllDevices 

Все

Методы

◆ operator<<()

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

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

TODO : wondows ClearScreen !!!

◆ saveControls()

PICout & PICout::saveControls ( )

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

См. также
restoreControl()

◆ restoreControls()

PICout & PICout::restoreControls ( )

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

См. также
saveControl()

◆ space()

PICout & PICout::space ( )

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

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

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

◆ quote()

PICout & PICout::quote ( )

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

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

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

◆ newLine()

PICout & PICout::newLine ( )

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

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

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