349 lines
10 KiB
C++
349 lines
10 KiB
C++
#include "pip.h"
|
|
|
|
void _() {
|
|
|
|
//! [PIString(char * )]
|
|
PIString s("string");
|
|
//! [PIString(char * )]
|
|
//! [PIString(wchar_t * )]
|
|
PIString s(L"string");
|
|
//! [PIString(wchar_t * )]
|
|
//! [PIString(char * , int)]
|
|
PIString s("string", 3); // s = "str"
|
|
//! [PIString(char * , int)]
|
|
//! [PIString(int, char)]
|
|
PIString s(5, 'p'); // s = "ppppp"
|
|
//! [PIString(int, char)]
|
|
//! [PIString(int, PIChar)]
|
|
PIString s(5, "№"); // s = "№№№№№"
|
|
//! [PIString(int, PIChar)]
|
|
//! [PIString::char*]
|
|
PIString s("pip");
|
|
cout << (char*)s << endl; // pip
|
|
//! [PIString::char*]
|
|
//! [PIString::<<(PIString)]
|
|
PIString s("this"), s1(" is"), s2(" string");
|
|
s << s1 << s2; // s = "this is string"
|
|
//! [PIString::<<(PIString)]
|
|
//! [PIString::<<(PIChar)]
|
|
PIString s("stri");
|
|
s << PIChar('n') << PIChar('g'); // s = "string"
|
|
//! [PIString::<<(PIChar)]
|
|
//! [PIString::<<(char * )]
|
|
PIString s("this");
|
|
s << " is" << " string"; // s = "this is string"
|
|
//! [PIString::<<(char * )]
|
|
//! [PIString::<<(wchar_t * )]
|
|
PIString s;
|
|
s << L"№ -" << " number"; // s = "№ - number"
|
|
//! [PIString::<<(wchar_t * )]
|
|
//! [PIString::<<(int)]
|
|
PIString s("ten - ");
|
|
s << 10; // s = "ten - 10"
|
|
//! [PIString::<<(int)]
|
|
//! [PIString::mid]
|
|
PIString s("0123456789");
|
|
piCout << s.mid(-2, -1); // s = "0123456789"
|
|
piCout << s.mid(-2, 4); // s = "01"
|
|
piCout << s.mid(3, -1); // s = "3456789"
|
|
piCout << s.mid(3, 4); // s = "3456"
|
|
//! [PIString::mid]
|
|
//! [PIString::left]
|
|
PIString s("0123456789");
|
|
piCout << s.left(-1); // s = ""
|
|
piCout << s.left(1); // s = "0"
|
|
piCout << s.left(5); // s = "01234"
|
|
piCout << s.left(15); // s = "0123456789"
|
|
//! [PIString::left]
|
|
//! [PIString::right]
|
|
PIString s("0123456789");
|
|
piCout << s.right(-1); // s = ""
|
|
piCout << s.right(1); // s = "9"
|
|
piCout << s.right(5); // s = "56789"
|
|
piCout << s.right(15); // s = "0123456789"
|
|
//! [PIString::right]
|
|
//! [PIString::cutMid]
|
|
PIString s("0123456789");
|
|
s.cutMid(1, 3);
|
|
piCout << s; // s = "0456789"
|
|
s.cutMid(-1, 3);
|
|
piCout << s; // s = "56789"
|
|
s.cutMid(3, -1);
|
|
piCout << s; // s = "567"
|
|
//! [PIString::cutMid]
|
|
//! [PIString::cutLeft]
|
|
PIString s("0123456789");
|
|
s.cutLeft(1);
|
|
piCout << s; // s = "123456789"
|
|
s.cutLeft(3);
|
|
piCout << s; // s = "456789"
|
|
s.cutLeft(30);
|
|
piCout << s; // s = ""
|
|
//! [PIString::cutLeft]
|
|
//! [PIString::cutRight]
|
|
PIString s("0123456789");
|
|
s.cutRight(1);
|
|
piCout << s; // s = "012345678"
|
|
s.cutRight(3);
|
|
piCout << s; // s = "012345"
|
|
s.cutRight(30);
|
|
piCout << s; // s = ""
|
|
//! [PIString::cutRight]
|
|
//! [PIString::trim]
|
|
PIString s(" string ");
|
|
s.trim();
|
|
piCout << s; // s = "string"
|
|
//! [PIString::trim]
|
|
//! [PIString::trimmed]
|
|
PIString s(" string ");
|
|
piCout << s.trimmed(); // s = "string"
|
|
piCout << s; // s = " string "
|
|
//! [PIString::trimmed]
|
|
//! [PIString::replace_0]
|
|
PIString s("0123456789");
|
|
s.replace(2, 3, "_cut_");
|
|
piCout << s; // s = "01_cut_56789"
|
|
s.replace(0, 1, "one_");
|
|
piCout << s; // s = "one_1_cut_56789"
|
|
//! [PIString::replace_0]
|
|
//! [PIString::replaced_0]
|
|
PIString s("0123456789");
|
|
piCout << s.replaced(2, 3, "_cut_"); // s = "01_cut_56789"
|
|
piCout << s.replaced(0, 1, "one_"); // s = "one_123456789"
|
|
//! [PIString::replaced_0]
|
|
//! [PIString::replace_1]
|
|
PIString s("pip string");
|
|
bool ok;
|
|
s.replace("string", "conf", &ok);
|
|
piCout << s << ok; // s = "pip conf", true
|
|
s.replace("PIP", "PlInPr", &ok);
|
|
piCout << s << ok; // s = "pip conf", false
|
|
//! [PIString::replace_1]
|
|
//! [PIString::replaced_1]
|
|
PIString s("pip string");
|
|
bool ok;
|
|
piCout << s.replace("string", "conf", &ok); // s = "pip conf", true
|
|
piCout << s.replace("PIP", "PlInPr", &ok); // s = "pip string", false
|
|
//! [PIString::replaced_1]
|
|
//! [PIString::replaceAll]
|
|
PIString s("substrings");
|
|
s.replaceAll("s", "_");
|
|
piCout << s; // s = "_ub_tring_"
|
|
//! [PIString::replaceAll]
|
|
//! [PIString::repeat]
|
|
PIString s(" :-) ");
|
|
s.repeat(3);
|
|
piCout << s; // :-) :-) :-)
|
|
//! [PIString::repeat]
|
|
//! [PIString::repeated]
|
|
PIString s(" :-) ");
|
|
piCout << s.repeated(3); // :-) :-) :-)
|
|
piCout << s; // :-)
|
|
//! [PIString::repeated]
|
|
//! [PIString::insert_0]
|
|
PIString s("pp");
|
|
s.insert(1, "i");
|
|
piCout << s; // s = "pip"
|
|
//! [PIString::insert_0]
|
|
//! [PIString::insert_1]
|
|
PIString s("pp");
|
|
s.insert(1, 'i');
|
|
piCout << s; // s = "pip"
|
|
//! [PIString::insert_1]
|
|
//! [PIString::insert_2]
|
|
PIString s("stg");
|
|
s.insert(2, "rin");
|
|
piCout << s; // s = "string"
|
|
//! [PIString::insert_2]
|
|
//! [PIString::expandRightTo]
|
|
PIString s("str");
|
|
s.expandRightTo(2, "_");
|
|
piCout << s; // s = "str"
|
|
s.expandRightTo(6, "_");
|
|
piCout << s; // s = "str___"
|
|
//! [PIString::expandRightTo]
|
|
//! [PIString::expandLeftTo]
|
|
PIString s("str");
|
|
s.expandLeftTo(2, "_");
|
|
piCout << s; // s = "str"
|
|
s.expandLeftTo(6, "_");
|
|
piCout << s; // s = "___str"
|
|
//! [PIString::expandLeftTo]
|
|
//! [PIString::reverse]
|
|
PIString s("0123456789");
|
|
s.reverse();
|
|
piCout << s; // s = "9876543210"
|
|
//! [PIString::reverse]
|
|
//! [PIString::reversed]
|
|
PIString s("0123456789");
|
|
piCout << s.reversed(); // s = "9876543210"
|
|
piCout << s; // s = "0123456789"
|
|
//! [PIString::reversed]
|
|
//! [PIString::elided]
|
|
piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideLeft); // ..ABCDEF
|
|
piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideCenter); // 123..DEF
|
|
piCout << PIString("123456789ABCDEF").elided(8, PIString::ElideRight); // 123456..
|
|
piCout << PIString("123456789ABCDEF").elided(8, 0.25); // 12..CDEF
|
|
//! [PIString::elided]
|
|
//! [PIString::lengthAscii]
|
|
piCout << PIString("0123456789").lengthAscii(); // 10
|
|
piCout << PIString("№1").lengthAscii(); // 3
|
|
//! [PIString::lengthAscii]
|
|
//! [PIString::data]
|
|
piCout << PIString("0123456789").data(); // 0123456789
|
|
piCout << PIString("№1").data(); // №1
|
|
//! [PIString::data]
|
|
//! [PIString::split]
|
|
PIString s("1 2 3");
|
|
piCout << s.split(" "); // {"1", "2", "3"}
|
|
//! [PIString::split]
|
|
//! [PIString::find]
|
|
PIString s("012345012345");
|
|
piCout << s.find("-"); // -1
|
|
piCout << s.find("3"); // 3
|
|
piCout << s.find("3", 4); // 9
|
|
piCout << s.find("3", 10); // -1
|
|
//! [PIString::find]
|
|
//! [PIString::findLast]
|
|
PIString s("012345012345");
|
|
piCout << s.find("-"); // -1
|
|
piCout << s.find("3"); // 9
|
|
piCout << s.find("3", 4); // 9
|
|
piCout << s.find("3", 10); // -1
|
|
//! [PIString::findLast]
|
|
//! [PIString::findAny]
|
|
piCout << PIString("1.str").findAny(".,:"); // 1
|
|
piCout << PIString("1,str").findAny(".,:"); // 1
|
|
piCout << PIString("1:str").findAny(".,:"); // 1
|
|
//! [PIString::findAny]
|
|
//! [PIString::findAnyLast]
|
|
piCout << PIString("str.0").findAny(".,:"); // 3
|
|
piCout << PIString("str,0").findAny(".,:"); // 3
|
|
piCout << PIString("str:0").findAny(".,:"); // 3
|
|
//! [PIString::findAnyLast]
|
|
//! [PIString::findWord]
|
|
PIString s("this is <PIP>");
|
|
piCout << s.find("this"); // 0
|
|
piCout << s.find("is"); // 5
|
|
piCout << s.find("PIP", 4); // -1
|
|
piCout << s.find("<PIP>", 10); // 8
|
|
//! [PIString::findWord]
|
|
//! [PIString::findCWord]
|
|
PIString s("this::is <PIP>");
|
|
piCout << s.find("this"); // 0
|
|
piCout << s.find("is"); // 6
|
|
piCout << s.find("PIP", 4); // 10
|
|
piCout << s.find("<PIP>", 10); // 9
|
|
//! [PIString::findCWord]
|
|
//! [PIString::toNumber]
|
|
piCout << PIString("123").toInt(); // 123
|
|
piCout << PIString("123").toInt(16); // 291
|
|
piCout << PIString("0x123").toInt(); // 291
|
|
piCout << PIString("1001").toInt(2); // 9
|
|
//! [PIString::toNumber]
|
|
//! [PIString::toFloat]
|
|
piCout << PIString("123").toFloat(); // 123
|
|
piCout << PIString("1.2E+2").toFloat(); // 120
|
|
piCout << PIString("0.01").toFloat(); // 0.01
|
|
//! [PIString::toFloat]
|
|
//! [PIString::setNumber]
|
|
PIString s;
|
|
s.setNumber(123);
|
|
piCout << s; // 123
|
|
s.setNumber(123, 16);
|
|
piCout << s; // 7B
|
|
//! [PIString::setNumber]
|
|
//! [PIString::setFloat]
|
|
PIString s;
|
|
s.setNumber(12.3);
|
|
piCout << s; // 12.3
|
|
//! [PIString::setFloat]
|
|
//! [PIString::setReadableSize]
|
|
PIString s;
|
|
s.setReadableSize(512);
|
|
piCout << s; // 512 B
|
|
s.setReadableSize(5120);
|
|
piCout << s; // 5.0 kB
|
|
s.setReadableSize(512000);
|
|
piCout << s; // 500.0 kB
|
|
s.setReadableSize(5120000);
|
|
piCout << s; // 4.8 MB
|
|
s.setReadableSize(512000000);
|
|
piCout << s; // 488.2 MB
|
|
s.setReadableSize(51200000000);
|
|
piCout << s; // 47.6 GB
|
|
//! [PIString::setReadableSize]
|
|
//! [PIString::fromNumber]
|
|
piCout << PIString::fromNumber(123); // 123
|
|
piCout << PIString::fromNumber(123, 16); // 7B
|
|
//! [PIString::fromNumber]
|
|
//! [PIString::fromFloat]
|
|
piCout << PIString::fromNumber(12.3); // 12.3
|
|
//! [PIString::fromFloat]
|
|
//! [PIString::readableSize]
|
|
piCout << PIString::readableSize(512); // 512 B
|
|
piCout << PIString::readableSize(5120); // 5.0 kB
|
|
piCout << PIString::readableSize(512000); // 500.0 kB
|
|
piCout << PIString::readableSize(5120000); // 4.8 MB
|
|
piCout << PIString::readableSize(512000000); // 488.2 MB
|
|
piCout << PIString::readableSize(51200000000); // 47.6 GB
|
|
//! [PIString::readableSize]
|
|
//! [PIString::takeSymbol]
|
|
PIString s("\t ! word");
|
|
piCout << s.takeSymbol(); // "!"
|
|
piCout << s.takeSymbol(); // "w"
|
|
piCout << s.takeSymbol(); // "o"
|
|
piCout << s; // "rd"
|
|
//! [PIString::takeSymbol]
|
|
//! [PIString::takeWord]
|
|
PIString s("some words\nnew line ");
|
|
piCout << s.takeWord(); // "some"
|
|
piCout << s.takeWord(); // "words"
|
|
piCout << s.takeWord(); // "new"
|
|
piCout << s; // " line "
|
|
//! [PIString::takeWord]
|
|
//! [PIString::takeLine]
|
|
PIString s("some words\nnew line \n\nend");
|
|
piCout << s.takeLine(); // "some words"
|
|
piCout << s.takeLine(); // "new line "
|
|
piCout << s.takeLine(); // ""
|
|
piCout << s; // "end"
|
|
//! [PIString::takeLine]
|
|
//! [PIString::takeNumber]
|
|
PIString s(" 0xFF -99 1.2E+5f 1000L");
|
|
piCout << s.takeNumber(); // "0xFF"
|
|
piCout << s.takeNumber(); // "-99"
|
|
piCout << s.takeNumber(); // "1.2E+5f"
|
|
piCout << s.takeNumber(); // "1000L"
|
|
piCout << s; // ""
|
|
//! [PIString::takeNumber]
|
|
//! [PIString::takeRange]
|
|
PIString s(" {figures{inside}}");
|
|
piCout << s.takeRange('{', '}'); // "figures{inside}"
|
|
piCout << s; // ""
|
|
s = "\"text\\\"shielded\" next";
|
|
piCout << s.takeRange('"', '"'); // "text\"shielded"
|
|
piCout << s; // " next"
|
|
//! [PIString::takeRange]
|
|
|
|
//! [PIStringList::join]
|
|
PIStringList sl("1", "2");
|
|
sl << "3";
|
|
piCout << sl.join(" < "); // 1 < 2 < 3
|
|
//! [PIStringList::join]
|
|
//! [PIStringList::removeStrings]
|
|
PIStringList sl("1", "2");
|
|
sl << "1" << "2" << "3";
|
|
piCout << sl; // {"1", "2", "1", "2", "3"}
|
|
piCout << sl.removeStrings("1"); // {"2", "2", "3"}
|
|
//! [PIStringList::removeStrings]
|
|
//! [PIStringList::removeDuplicates]
|
|
PIStringList sl("1", "2");
|
|
sl << "1" << "2" << "3";
|
|
piCout << sl; // {"1", "2", "1", "2", "3"}
|
|
piCout << sl.removeDuplicates(); // {"1", "2", "3"}
|
|
//! [PIStringList::removeDuplicates]
|
|
|
|
|
|
};
|