Guitar
|
#include <misc.h>
Static Public Member Functions | |
static int | stricmp (char const *s1, char const *s2) |
static int | strnicmp (char const *s1, char const *s2, size_t n) |
static QString | getApplicationDir () |
アプリケーションのディレクトリパスを取得する More... | |
static QStringList | splitLines (QByteArray const &ba, std::function< QString(char const *ptr, size_t len)> const &tos) |
QByteArrayの文字列を行に分割する。 More... | |
static QStringList | splitLines (QString const &text) |
文字列を行に分割する。 More... | |
static std::vector< std::string_view > | splitLinesV (const std::string_view &str, bool keep_newline) |
文字列を行に分割する。 More... | |
static std::vector< std::string_view > | splitLinesV (QByteArray const &ba, bool keep_newline) |
QByteArrayを行に分割する More... | |
static std::vector< std::string > | splitLines (std::string_view const &str, bool keep_newline) |
文字列を行に分割する More... | |
static std::vector< std::string_view > | splitWords (std::string_view const &text) |
文字列を単語に分割する More... | |
static QStringList | splitWords (QString const &text) |
文字列を単語に分割する。 More... | |
static QString | getFileName (QString const &path) |
パスからファイル名部分を取得する More... | |
static QString | makeDateTimeString (const QDateTime &dt) |
日時を文字列に変換する More... | |
static bool | starts_with (std::string const &str, std::string const &with) |
文字列が指定の文字列で始まるか判定する More... | |
static bool | ends_with (std::string const &str, std::string const &with) |
文字列が指定の文字列で終わるか判定する More... | |
static std::string | mid (std::string const &str, int start, int length=-1) |
文字列の一部分を取得する More... | |
static QString | normalizePathSeparator (QString const &str) |
パスの区切り文字を正規化する More... | |
static QString | joinWithSlash (QString const &left, QString const &right) |
2つのパスをスラッシュで結合する More... | |
static void | setFixedSize (QWidget *w) |
ウィジェットのサイズを固定する More... | |
static void | drawFrame (QPainter *pr, int x, int y, int w, int h, QColor color_topleft, QColor color_bottomright=QColor()) |
矩形のフレームを描画する。 More... | |
static void | dump (const uint8_t *ptr, size_t len) |
メモリダンプを16進数で表示する More... | |
static void | dump (QByteArray const *in) |
バイナリデータの内容をヘキサでダンプする More... | |
static bool | isText (std::string const &mimetype) |
MIMEタイプがテキストファイルを表すか判定する More... | |
static bool | isImage (std::string const &mimetype) |
MIMEタイプが画像ファイルを表すか判定する More... | |
static bool | isSVG (std::string const &mimetype) |
MIMEタイプがSVG画像を表すか判定する More... | |
static bool | isPSD (std::string const &mimetype) |
MIMEタイプがPhotoshopファイルを表すか判定する More... | |
static bool | isPDF (std::string const &mimetype) |
MIMEタイプがPDFファイルを表すか判定する More... | |
static QString | abbrevBranchName (QString const &name) |
ブランチ名を短縮形に変換する。 More... | |
static std::string | makeProxyServerURL (std::string text) |
プロキシサーバーURLを正規化する More... | |
static QString | makeProxyServerURL (QString text) |
プロキシサーバーURLを正規化する More... | |
static QPoint | contextMenuPos (QWidget *w, QContextMenuEvent *e) |
コンテキストメニューを表示する位置を計算する More... | |
static bool | isExecutable (QString const &cmd) |
ファイルが実行可能か判定する More... | |
static QString | collapseWhitespace (QString const &source) |
文字列内の連続する空白文字を1つのスペースにまとめる。 More... | |
static bool | isValidMailAddress (const QString &email) |
文字列が有効なメールアドレスか判定する More... | |
static bool | isValidMailAddress (std::string const &email) |
文字列が有効なメールアドレスか判定する More... | |
static std::string_view | trimmed (std::string_view const &s) |
文字列の両端から空白文字を取り除く More... | |
static std::string_view | trimQuotes (std::string_view s) |
文字列の両端から空白文字と引用符を取り除く More... | |
static std::string_view | trimNewLines (std::string_view s) |
文字列の両端から改行文字を取り除く More... | |
static std::string | bin_to_hex_string (const void *begin, const void *end) |
バイナリデータを16進数文字列に変換する More... | |
static std::vector< uint8_t > | hex_string_to_bin (std::string_view const &s, const char *sep=nullptr) |
16進数文字列をバイナリデータに変換する More... | |
static int | compare (uint8_t const *a, size_t n, uint8_t const *b, size_t m) |
2つのバイナリデータを比較する More... | |
static int | compare (std::vector< uint8_t > const &a, std::vector< uint8_t > const &b) |
2つのバイトベクターを比較する More... | |
static std::vector< std::string > | vector_string (std::vector< std::string_view > const &v) |
template<typename T > | |
static T | toi (std::string_view const &s, size_t *consumed=nullptr) |
|
static |
ブランチ名を短縮形に変換する。
入力されたブランチ名を短縮形に変換します。ブランチ名の各パス要素の先頭文字を抽出し、 最後のパス要素を除いて短縮形にします。
name | 短縮形に変換する対象のブランチ名。 |
|
static |
バイナリデータを16進数文字列に変換する
バイナリデータ(バイト列)を16進数表記の文字列に変換します。 各バイトは2桁の16進数で表現されます(00-FF)。
begin | 変換するバイナリデータの先頭ポインタ |
end | 変換するバイナリデータの終端ポインタ(変換対象に含まれない) |
|
static |
文字列内の連続する空白文字を1つのスペースにまとめる。
入力された文字列内の連続する空白文字を1つのスペースにまとめ、結果の文字列を返します。
source | 連続する空白文字をまとめる対象のQStringオブジェクト。 |
|
static |
2つのバイトベクターを比較する
2つのバイトベクターを辞書的に比較します。 内部的にはcompare関数を使用して、ベクターの内容と長さを比較します。
a | 比較する最初のバイトベクター |
b | 比較する2番目のバイトベクター |
|
static |
2つのバイナリデータを比較する
2つのバイト配列を辞書的に比較します。最初に異なるバイトが見つかった時点で その大小関係を返します。同じバイト列で長さが異なる場合は、長い方が大きいと判定されます。
a | 比較する最初のバイト配列 |
n | 最初の配列の長さ |
b | 比較する2番目のバイト配列 |
m | 2番目の配列の長さ |
|
static |
コンテキストメニューを表示する位置を計算する
コンテキストメニューイベントに基づいて、メニューを表示する適切な位置を計算します。 マウスによる右クリックの場合はカーソルの位置にオフセット(8,-8)を加え、 それ以外の場合(キーボードでの表示等)はウィジェットの左上から少し離れた位置(4,4)を返します。
w | コンテキストメニューを表示するウィジェット |
e | コンテキストメニューイベント |
|
static |
矩形のフレームを描画する。
指定された位置とサイズの矩形のフレームを描画します。フレームの上辺と左辺は、 color_topleftで指定された色で描画され、右辺と下辺はcolor_bottomrightで指定された色で描画されます。
pr | フレームを描画する対象のQPainterオブジェクトへのポインタ。 |
x | 矩形の左上隅のX座標。 |
y | 矩形の左上隅のY座標。 |
w | 矩形の幅。 |
h | 矩形の高さ。 |
color_topleft | フレームの上辺と左辺の色。 |
color_bottomright | フレームの右辺と下辺の色。 |
|
static |
メモリダンプを16進数で表示する
与えられたメモリ領域を16進数でダンプし、表示します。ダンプは、 アドレス、16進数データ(最大16バイトずつ)、ASCII文字列表現の3つの列で構成されます。 表示されない制御文字はピリオド(.)で表示されます。
ptr | ダンプするメモリ領域の先頭ポインタ、nullptrの場合は何も表示しません |
len | ダンプするメモリ領域の長さ(バイト数) |
|
static |
バイナリデータの内容をヘキサでダンプする
QByteArrayの内容をヘキサダンプ形式で表示します。 内部的にはdump(uint8_t const *, size_t)関数を使用して、 QByteArrayの内容をバイト配列としてダンプします。
in | ダンプするQByteArrayへのポインタ、nullptrの場合は何も表示しません |
|
static |
文字列が指定の文字列で終わるか判定する
与えられた文字列が、指定された文字列で終わるかどうかを判定します。
str | チェックする対象の文字列 |
with | 終端に存在するか確認する文字列 |
|
static |
アプリケーションのディレクトリパスを取得する
実行可能ファイルが格納されているディレクトリのパスを返します。 Windowsの場合は'\'、Unixの場合は'/'をパス区切り文字として扱います。
|
static |
パスからファイル名部分を取得する
与えられたパスからファイル名部分のみを抽出します。
path | ファイル名を抽出する対象のパス |
|
static |
16進数文字列をバイナリデータに変換する
16進数表記の文字列をバイナリデータ(バイト列)に変換します。 文字列には2桁の16進数表記(00-FF)を含める必要があります。 オプションで区切り文字を指定することもできます。
s | 変換する16進数文字列 |
sep | 区切り文字の文字列。区切り文字はスキップされる。nullptrの場合は区切り文字なし |
|
static |
ファイルが実行可能か判定する
指定されたファイルパスが実行可能なファイルを指しているか判定します。
cmd | 判定するファイルパス |
|
static |
MIMEタイプが画像ファイルを表すか判定する
与えられたMIMEタイプが画像ファイルを表すか判定します。 PDFファイルや「image/」で始まる全てのMIMEタイプを画像として扱います。
mimetype | 判定するMIMEタイプ文字列 |
|
static |
MIMEタイプがPDFファイルを表すか判定する
与えられたMIMEタイプがPDFファイルを表すか判定します。
mimetype | 判定するMIMEタイプ文字列 |
|
static |
MIMEタイプがPhotoshopファイルを表すか判定する
与えられたMIMEタイプがAdobe Photoshopのファイルを表すか判定します。
mimetype | 判定するMIMEタイプ文字列 |
|
static |
MIMEタイプがSVG画像を表すか判定する
与えられたMIMEタイプがSVG画像ファイルを表すか判定します。
mimetype | 判定するMIMEタイプ文字列 |
|
static |
MIMEタイプがテキストファイルを表すか判定する
与えられたMIMEタイプがテキストファイルを表すか判定します。
mimetype | 判定するMIMEタイプ文字列 |
|
static |
文字列が有効なメールアドレスか判定する
文字列が有効なメールアドレス形式かどうかを判定します。 単純に@記号が含まれており、先頭でも末尾でもないことを確認します。
検証するメールアドレス文字列 |
|
static |
文字列が有効なメールアドレスか判定する
std::string形式の文字列が有効なメールアドレス形式かどうかを判定します。 内部的にはQString版のisValidMailAddressに変換して処理します。
検証するメールアドレス文字列 |
|
static |
2つのパスをスラッシュで結合する
2つのパス文字列を適切な区切り文字を使用して結合します。 空の文字列が渡された場合は空でない方を返します。
left | 左側のパス文字列 |
right | 右側のパス文字列 |
|
static |
日時を文字列に変換する
日時情報を読みやすい文字列形式に変換します。 デフォルトではISOフォーマットを使用し、'T'を空白に置換します。
dt | 変換する日時情報 |
|
static |
プロキシサーバーURLを正規化する
入力されたプロキシサーバーのURLを正規化します。 プロトコルが指定されていない場合は "http://" を付加し、 末尾にスラッシュがない場合は付加します。
text | 正規化するプロキシサーバーURL文字列 |
|
static |
プロキシサーバーURLを正規化する
入力されたプロキシサーバーのURLを正規化します。 プロトコルが指定されていない場合は "http://" を付加し、 末尾にスラッシュがない場合は付加します。
text | 正規化するプロキシサーバーURL文字列 |
|
static |
文字列の一部分を取得する
与えられた文字列の指定位置から、指定された長さの部分文字列を抽出します。
str | 対象の文字列 |
start | 抽出を開始する位置のインデックス |
length | 抽出する文字の数。負の場合は文字列の最後まで抽出する |
|
static |
パスの区切り文字を正規化する
パスの区切り文字をプラットフォームに合わせて正規化します。 Windowsでは '/' を '\' に変換し、 Unix系プラットフォームでは変換を行いません。
str | 正規化するパス文字列 |
|
static |
ウィジェットのサイズを固定する
ウィジェットのサイズを固定し、リサイズできないようにします。 また、コンテキストヘルプボタンを非表示にし、Windowsの固定サイズダイアログヒントを設定します。
w | サイズを固定する対象のウィジェット |
|
static |
QByteArrayの文字列を行に分割する。
与えられたQByteArrayの文字列を行に分割し、QStringListとして返します。 分割は、改行文字 ('
' または '\r
') を区切りとして行われます。 また、与えられた変換関数を使用して、charの配列をQStringに変換します。
ba | 分割する対象のQByteArray。 |
tos | 文字列を変換する関数。charの配列とその長さを引数に取り、QStringを返す関数。 |
|
static |
文字列を行に分割する。
与えられた文字列を行に分割し、QStringListとして返します。 分割は、改行文字 ('
' または '\r
') を区切りとして行われます。
text | 分割する対象の文字列。 |
|
static |
文字列を行に分割する
与えられた文字列を行に分割し、std::stringのベクターとして返します。
str | 分割する対象の文字列 |
keep_newline | 改行文字を含めて行を格納する場合はtrue、そうでない場合はfalse |
|
static |
文字列を行に分割する。
与えられた文字列を行に分割し、std::vector<std::string>として返します。 分割は、改行文字 ('
' または '\r
') を区切りとして行われます。
str | 分割する対象の文字列。 | |
[out] | out | 分割された行を格納するstd::vectorへのポインタ。 |
keep_newline | 改行文字を含めて行を格納する場合はtrue、そうでない場合はfalse。 |
|
static |
QByteArrayを行に分割する
QByteArrayの内容を文字列として行に分割し、std::string_viewのベクターとして返します。
ba | 分割する対象のQByteArray |
keep_newline | 改行文字を含めて行を格納する場合はtrue、そうでない場合はfalse |
|
static |
文字列を単語に分割する。
与えられた文字列を単語に分割し、QStringListとして返します。分割は、空白文字を 区切りとして行われます。
text | 分割する対象の文字列。 |
|
static |
文字列を単語に分割する
与えられた文字列を単語に分割し、std::string_viewのベクターとして返します。 分割は、空白文字を区切りとして行われます。
text | 分割する対象の文字列 |
|
static |
文字列が指定の文字列で始まるか判定する
与えられた文字列が、指定された文字列で始まるかどうかを判定します。
str | チェックする対象の文字列 |
with | 先頭に存在するか確認する文字列 |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
static |
文字列の両端から空白文字を取り除く
文字列の先頭と末尾から空白文字(スペース、タブ、改行など)を削除します。 元の文字列は変更せず、新しいstring_viewを返します。
s | トリムする文字列 |
|
static |
文字列の両端から改行文字を取り除く
文字列の先頭と末尾から改行文字(CR、LF、CRLF)を削除します。 元の文字列は変更せず、新しいstring_viewを返します。 CR+LFの組み合わせは1つの改行として扱われます。
s | トリムする文字列 |
|
static |
文字列の両端から空白文字と引用符を取り除く
文字列の先頭と末尾から空白文字を削除し、その後引用符('"'または'\'')で囲まれている場合は それらの引用符も削除します。元の文字列は変更せず、新しいstring_viewを返します。
s | トリムする文字列 |
|
inlinestatic |