merged AI doc, some new pages
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
/*! \file pistring_std.h
|
||||
* \ingroup Text
|
||||
* \brief
|
||||
* \~english STD convertions for PIString
|
||||
* \~russian Преобразования в/из STD для строки
|
||||
* \~\brief
|
||||
* \~english Standard library conversions for PIString
|
||||
* \~russian Преобразования `PIString` для стандартной библиотеки
|
||||
*
|
||||
* \~\details
|
||||
* \~english Declares conversions and stream operators between \a PIString and standard library string types.
|
||||
* \~russian Объявляет преобразования и потоковые операторы между \a PIString и строковыми типами стандартной библиотеки.
|
||||
*/
|
||||
/*
|
||||
PIP - Platform Independent Primitives
|
||||
@@ -29,12 +33,17 @@
|
||||
#include <ostream>
|
||||
#include <string>
|
||||
#ifdef QNX
|
||||
//! \~english Compatibility alias for wide strings on QNX.
|
||||
//! \~russian Совместимый псевдоним для широких строк на QNX.
|
||||
typedef std::basic_string<wchar_t> wstring;
|
||||
#endif
|
||||
#include "piliterals.h"
|
||||
#include "pistringlist.h"
|
||||
|
||||
|
||||
//! \relatesalso PIString
|
||||
//! \~english Converts \a PIString to \c std::string by exporting 16-bit character codes byte by byte.
|
||||
//! \~russian Преобразует \a PIString в \c std::string, выгружая 16-битные коды символов побайтно.
|
||||
inline std::string PIString2StdString(const PIString & v) {
|
||||
std::string s;
|
||||
ushort wc;
|
||||
@@ -52,12 +61,18 @@ inline std::string PIString2StdString(const PIString & v) {
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString
|
||||
//! \~english Builds \a PIString from \c std::string.
|
||||
//! \~russian Создает \a PIString из \c std::string.
|
||||
inline PIString StdString2PIString(const std::string & v) {
|
||||
return PIString(v.c_str(), v.length());
|
||||
}
|
||||
|
||||
|
||||
// #ifdef HAS_LOCALE
|
||||
//! \relatesalso PIString
|
||||
//! \~english Converts \a PIString to \c std::wstring.
|
||||
//! \~russian Преобразует \a PIString в \c std::wstring.
|
||||
inline std::wstring PIString2StdWString(const PIString & v) {
|
||||
std::wstring s;
|
||||
for (int i = 0; i < v.length(); ++i) {
|
||||
@@ -67,6 +82,9 @@ inline std::wstring PIString2StdWString(const PIString & v) {
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString
|
||||
//! \~english Builds \a PIString from \c std::wstring.
|
||||
//! \~russian Создает \a PIString из \c std::wstring.
|
||||
inline PIString StdWString2PIString(const std::wstring & v) {
|
||||
PIString s;
|
||||
uint l = v.size();
|
||||
@@ -78,14 +96,18 @@ inline PIString StdWString2PIString(const std::wstring & v) {
|
||||
// #endif
|
||||
|
||||
|
||||
//! \relatesalso PIChar \brief Output operator to \c std::ostream
|
||||
//! \relatesalso PIChar
|
||||
//! \~english Writes a \a PIChar to \c std::ostream.
|
||||
//! \~russian Записывает \a PIChar в \c std::ostream.
|
||||
inline std::ostream & operator<<(std::ostream & s, const PIChar & v) {
|
||||
s << v.toCharPtr();
|
||||
return s;
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString \brief Return concatenated string
|
||||
//! \relatesalso PIString
|
||||
//! \~english Returns concatenation of \a PIString and \c std::string.
|
||||
//! \~russian Возвращает конкатенацию \a PIString и \c std::string.
|
||||
inline PIString operator+(const PIString & f, const std::string & str) {
|
||||
PIString s(f);
|
||||
s += StdString2PIString(str);
|
||||
@@ -93,13 +115,17 @@ inline PIString operator+(const PIString & f, const std::string & str) {
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString \brief Return concatenated string
|
||||
//! \relatesalso PIString
|
||||
//! \~english Returns concatenation of \c std::string and \a PIString.
|
||||
//! \~russian Возвращает конкатенацию \c std::string и \a PIString.
|
||||
inline PIString operator+(const std::string & str, const PIString & f) {
|
||||
return StdString2PIString(str) + f;
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString \brief Output operator to std::ostream (cout)
|
||||
//! \relatesalso PIString
|
||||
//! \~english Writes \a PIString to \c std::ostream.
|
||||
//! \~russian Записывает \a PIString в \c std::ostream.
|
||||
inline std::ostream & operator<<(std::ostream & s, const PIString & v) {
|
||||
for (int i = 0; i < v.length(); ++i) {
|
||||
s << v[i];
|
||||
@@ -108,7 +134,9 @@ inline std::ostream & operator<<(std::ostream & s, const PIString & v) {
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIString \brief Input operator from std::istream (cin)
|
||||
//! \relatesalso PIString
|
||||
//! \~english Reads a whitespace-delimited token from \c std::istream into \a PIString.
|
||||
//! \~russian Читает из \c std::istream токен до пробельного символа в \a PIString.
|
||||
inline std::istream & operator>>(std::istream & s, PIString & v) {
|
||||
std::string ss;
|
||||
s >> ss;
|
||||
@@ -117,7 +145,9 @@ inline std::istream & operator>>(std::istream & s, PIString & v) {
|
||||
}
|
||||
|
||||
|
||||
//! \relatesalso PIStringList \brief Output operator to std::ostream (cout)
|
||||
//! \relatesalso PIStringList
|
||||
//! \~english Writes \a PIStringList to \c std::ostream in brace-delimited form.
|
||||
//! \~russian Записывает \a PIStringList в \c std::ostream в формате со скобками.
|
||||
inline std::ostream & operator<<(std::ostream & s, const PIStringList & v) {
|
||||
s << PIChar('{');
|
||||
for (uint i = 0; i < v.size(); ++i) {
|
||||
|
||||
Reference in New Issue
Block a user