PIString::toPercentageEncoding/fromPercentageEncoding piStringify() PIHTTPClient support arguments some doc
59 lines
1.5 KiB
C++
59 lines
1.5 KiB
C++
#include "pip.h"
|
|
|
|
//! [own]
|
|
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;
|
|
}
|
|
//! [own]
|
|
|
|
// clang-format off
|
|
void _() {
|
|
//! [0]
|
|
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"
|
|
//! [0]
|
|
}
|
|
// clang-format on
|
|
|
|
|
|
//! [notifier]
|
|
class A: public PIObject {
|
|
PIOBJECT(A)
|
|
|
|
public:
|
|
A() {}
|
|
EVENT_HANDLER2(void, pcf, int, id, PIString *, buff) { piCout << "PICout(" << id << ") finished:" << (*buff); }
|
|
};
|
|
int main() {
|
|
A a;
|
|
CONNECTU(PICout::Notifier::object(), finished, &a, pcf);
|
|
PIString buffer = "my buff:";
|
|
int my_id = PICout::registerExternalBufferID();
|
|
PICout::withExternalBufferAndID(&buffer, my_id) << "int 10 ->" << 10 << ", time ->" << PITime::current();
|
|
return 0;
|
|
}
|
|
// PICout( 1 ) finished: my buff:int 10 -> 10 , time -> PITime(14:07:09:000)
|
|
//! [notifier]
|