nl:: ArgParser
Ringkasan
Enumerasi |
|
---|---|
OptionArgumentType
|
enum Menentukan persyaratan argumen untuk opsi command line. |
Typedef |
|
---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
typedefbool(*
Fungsi yang dapat dipanggil untuk menangani argumen command line non-opsi yang tersisa. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
typedefbool(*
Fungsi yang dapat dipanggil untuk menangani serangkaian opsi command line. |
Variabel |
|
---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...)
|
void(*
Pointer ke fungsi yang digunakan untuk mencetak error yang terjadi selama penguraian argumen.
|
gActiveOptionSets = NULL
|
OptionSet **
Daftar OptionSets yang diteruskan ke panggilan ParseArgs() yang aktif saat ini.
|
Fungsi |
|
---|---|
CountAllOptions(OptionSet *optSets[])
|
size_t
|
CountAllOptions(OptionSet **optSets)
|
size_t
|
CountOptionSets(OptionSet *optSets[])
|
size_t
|
CountOptionSets(OptionSet **optSets)
|
size_t
|
DefaultPrintArgError(const char *msg, ...)
|
void
Mencetak pesan error yang terkait dengan penguraian argumen.
|
FindOptionById(OptionSet **optSets, int optId, OptionSet *& optSet, OptionDef *& optDef)
|
void
|
FindOptionByIndex(OptionSet **optSets, int optIndex, OptionSet *& optSet, OptionDef *& optDef)
|
void
|
GetNextArg(char *& parsePoint)
|
bool
|
IsShortOptionChar(int ch)
|
bool
|
MakeLongOptions(OptionSet **optSets)
|
struct option *
|
MakeShortOptions(OptionSet **optSets)
|
char *
|
MakeUniqueHelpGroupNamesList(OptionSet *optSets[])
|
const char **
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Mengurai kumpulan argumen gaya command line, memanggil fungsi penanganan untuk memproses setiap opsi dan argumen non-opsi.
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgs(const char *progName, int argc, char *argv[], OptionSet *optSets[])
|
bool
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Mengurai kumpulan argumen dari variabel lingkungan bernama.
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[])
|
bool
|
ParseArgsFromEnvVar(const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown)
|
bool
Mengurai kumpulan argumen dari string yang diberikan.
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler)
|
bool
|
ParseArgsFromString(const char *progName, const char *argStr, OptionSet *optSets[])
|
bool
|
ParseBoolean(const char *str, bool & output)
|
bool
Mengurai string sebagai nilai boolean.
|
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
|
bool
Mengurai ID kain Weave dalam bentuk teks.
|
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
|
bool
Mengurai string byte yang diberikan dalam bentuk heksadesimal.
|
ParseIPAddress(const char *str, IPAddress & output)
|
bool
Mengurai alamat IP dalam bentuk teks.
|
ParseInt(const char *str, uint64_t & output, int base)
|
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat tanpa tanda tangan 64-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat tanpa tanda tangan 32-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
Mengurai dan mencoba mengonversi string menjadi bilangan bulat dengan tanda tangan 32-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, uint64_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 64-bit, dengan menerapkan penafsiran yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, uint32_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 32-bit, dengan menerapkan penafsiran yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, int32_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat dengan tanda tangan 32-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, uint16_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 16-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, int16_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat dengan tanda tangan 16-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseInt(const char *str, uint8_t & output)
|
bool
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 8-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
Mengurai ID node Weave dalam bentuk teks.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
Mengurai dan mencoba mengonversi string menjadi ID subnet 16-bit yang tidak ditandatangani, dengan menafsirkan string sebagai heksadesimal.
|
PrintOptionHelp(OptionSet *optSets[], FILE *s)
|
void
Mencetak teks bantuan untuk daftar opsi tertentu ke aliran data.
|
PutStringWithBlankLine(FILE *s, const char *str)
|
void
|
PutStringWithNewLine(FILE *s, const char *str)
|
void
|
SplitArgs(char *argStr, char **& argList, char *initialArg)
|
int32_t
|
Class |
|
---|---|
nl:: |
OptionSet umum untuk menangani opsi informasi (bantuan, versi). |
nl:: |
OptionSet dengan pengendali adalah fungsi virtual. |
Struct |
|
---|---|
nl:: |
Mendefinisikan opsi command line. |
nl:: |
Mendefinisikan grup opsi command line yang terkait secara logis dan dapat digunakan kembali. |
Enumerasi
OptionArgumentType
OptionArgumentType
Menentukan persyaratan argumen untuk opsi command line.
Typedef
NonOptionArgHandlerFunct
bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
Fungsi yang dapat dipanggil untuk menangani argumen command line non-opsi yang tersisa.
OptionHandlerFunct
bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
Fungsi yang dapat dipanggil untuk menangani serangkaian opsi command line.
Variabel
PrintArgError
void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError
Pointer ke fungsi yang digunakan untuk mencetak error yang terjadi selama penguraian argumen.
Aplikasi harus memanggil PrintArgError() untuk melaporkan error dalam fungsi penanganan argumen opsi dan non-opsinya, bukan mencetak langsung ke stdout/stderr.
Setelan defaultnya adalah pointer ke fungsi DefaultPrintArgError()
.
gActiveOptionSets
OptionSet ** gActiveOptionSets = NULL
Daftar OptionSets yang diteruskan ke panggilan ParseArgs() yang aktif saat ini.
Nilai ini akan menjadi NULL saat tidak ada panggilan ke ParseArgs() yang sedang berlangsung.
Fungsi
CountAllOptions
size_t CountAllOptions( OptionSet *optSets[] )
CountAllOptions
size_t CountAllOptions( OptionSet **optSets )
CountOptionSets
size_t CountOptionSets( OptionSet *optSets[] )
CountOptionSets
size_t CountOptionSets( OptionSet **optSets )
DefaultPrintArgError
void DefaultPrintArgError( const char *msg, ... )
Mencetak pesan error yang terkait dengan penguraian argumen.
Fungsi default yang digunakan untuk mencetak pesan error yang muncul karena penguraian argumen.
Detail | |||
---|---|---|---|
Parameter |
|
Aplikasi harus memanggil melalui pointer fungsi PrintArgError, bukan memanggil fungsi ini secara langsung.
FindOptionById
void FindOptionById( OptionSet **optSets, int optId, OptionSet *& optSet, OptionDef *& optDef )
FindOptionByIndex
void FindOptionByIndex( OptionSet **optSets, int optIndex, OptionSet *& optSet, OptionDef *& optDef )
GetNextArg
bool GetNextArg( char *& parsePoint )
IsShortOptionChar
bool IsShortOptionChar( int ch )
MakeLongOptions
struct option * MakeLongOptions( OptionSet **optSets )
MakeShortOptions
char * MakeShortOptions( OptionSet **optSets )
MakeUniqueHelpGroupNamesList
const char ** MakeUniqueHelpGroupNamesList( OptionSet *optSets[] )
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Mengurai kumpulan argumen gaya command line, memanggil fungsi penanganan untuk memproses setiap opsi dan argumen non-opsi.
ParseArgs() mengambil daftar argumen (argv
) dan mengurainya sesuai dengan sekumpulan definisi opsi yang disediakan. Fungsi ini mendukung opsi long (opt) dan short (-o) dan mengimplementasikan sintaksis opsi yang sama dengan fungsi GNU getopt_long(3).
Detail | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||||
Hasil |
true jika semua opsi dan argumen non-opsi berhasil diuraikan; false jika opsi tidak dikenal atau jika salah satu fungsi pengendali gagal (yaitu, menampilkan nilai salah). |
Definisi opsi diteruskan ke ParseArgs() sebagai array struktur OptionSet (optSets
). Setiap OptionSet berisi array definisi opsi dan fungsi pengendali. ParseArgs() memproses argumen opsi dalam urutan tertentu, memanggil fungsi pengendali masing-masing untuk setiap opsi yang dikenali. Setelah semua opsi diurai, fungsi pengendali non-opsi terpisah (nonOptArgHandler
) dipanggil satu kali untuk memproses argumen yang tersisa.
SET OPSI
OptionSet berisi kumpulan definisi opsi beserta pointer ke fungsi pengendali yang akan dipanggil saat salah satu opsi terkait ditemukan. Kumpulan opsi juga berisi teks bantuan yang menjelaskan sintaksis dan tujuan setiap opsi (lihat BANTUAN OPSI di bawah). Kumpulan opsi didesain untuk memungkinkan pembuatan kumpulan opsi terkait yang dapat digunakan kembali. Hal ini menyederhanakan upaya yang diperlukan untuk mengelola beberapa aplikasi yang menerima opsi serupa (mis. aplikasi pengujian).
Ada dua pola untuk menentukan OptionSetsone dapat melakukan inisialisasi instance struct OptionSet itu sendiri, misalnya sebagai global statis, atau membuat subclass OptionSetBase dan menyediakan konstruktor. Kode kedua menggunakan fungsi HandleOption()
virtual murni untuk mendelegasikan penanganan opsi ke subclass.
Daftar OptionSets diteruskan ke fungsi ParseArgs() sebagai array pointer yang dihentikan NULL. E.g.:
static OptionSet gToolOptions = { HandleOption, // handler function gToolOptionDefs, // array of option definitions "GENERAL OPTIONS", // help group gToolOptionHelp // option help text }; static OptionSet *gOptionSets[] = { &gToolOptions, &gNetworkOptions, &gTestingOptions, &gHelpOptions, NULL }; int main(int argc, char *argv[]) { if (!ParseArgs("test-app", argc, argv, gOptionSets)) { ... } }
DEFINISI OPSI
Opsi ditentukan menggunakan struktur OptionDef
. Definisi opsi disusun sebagai array elemen OptionDef, yang setiap elemennya berisi: nama opsi, ID bilangan bulat yang digunakan untuk mengidentifikasi opsi, dan apakah opsi tersebut mengharapkan/mengizinkan argumen. Akhir dari array opsi diberi sinyal oleh isian Nama NULL. E.g.:
enum { kOpt_Listen = 1000, kOpt_Length, kOpt_Count, }; static OptionDef gToolOptionDefs[] = { // NAME REQUIRES/ALLOWS ARG? ID/SHORT OPTION CHAR // ============================================================ { "listen", kNoArgument, kOpt_Listen }, { "length", kArgumentRequired, kOpt_Length }, { "count", kArgumentRequired, kOpt_Count }, { "num", kArgumentRequired, kOpt_Count }, // alias for --count { "debug", kArgumentOptional, 'd' }, { "help", kNoArgument, 'h' }, { NULL } };
ID OPSI
ID opsi mengidentifikasi opsi pada kode yang menanganinya (fungsi OptionHandler). ID opsi bersifat relatif terhadap OptionSet tempat ID tersebut muncul, sehingga dapat digunakan kembali di berbagai OptionSet (tetapi lihat OPSI PENDEK di bawah). Konvensi umumnya adalah memulai ID opsi penomoran dari 1000, tetapi angka berapa pun > 128 dapat digunakan. Opsi alias dapat dibuat menggunakan ID opsi yang sama dengan nama opsi yang berbeda.
OPSI PENDEK
Tidak seperti getopt_long(3), ParseArgs() tidak mengambil string terpisah yang menentukan daftar karakter opsi singkat. Sebaliknya, opsi apa pun yang nilai ID-nya berada dalam rentang karakter ASCII grafis akan memungkinkan karakter tersebut digunakan sebagai opsi singkat.
ParseArgs() mengharuskan karakter opsi singkat bersifat unik di semua OptionSet. Oleh karena itu, penggunaan opsi singkat tidak disarankan untuk OptionSet apa pun yang dibagikan di seluruh program karena besar peluang terjadinya konflik. Karakter opsi singkat dapat digunakan kembali dalam satu OptionSet untuk memungkinkan pembuatan alias nama opsi panjang.
BANTUAN OPSI
Setiap OptionSet berisi string OptionHelp
yang menjelaskan tujuan dan sintaksis opsi terkait. String ini digunakan oleh fungsi PrintOptionHelp()
untuk menghasilkan informasi penggunaan opsi.
Berdasarkan konvensi, string bantuan opsi terdiri dari contoh sintaksis yang diikuti dengan deskripsi tekstual opsi tersebut. Jika opsi tersebut memiliki versi pendek, atau nama alias, opsi ini diberikan sebelum nama panjang utama. Untuk konsistensi, baris sintaksis diindentasi dengan 2 spasi, sedangkan baris deskripsi diindentasi dengan 7 spasi. Satu baris kosong mengikuti setiap deskripsi opsi, termasuk yang terakhir.
E.g.:
static const char *const gToolOptionHelp = " --listen\n" " Listen and respond to requests sent from another node.\n" "\n" " --length\n" " Send requests with the specified number of bytes in the payload.\n" "\n" " --num, --count \n" " Send the specified number of requests and exit.\n" "\n" " -d, --debug [ ]\n" " Set debug logging to the given level. (Default: 1)\n" "\n" " -h, --help\n" " Print help information.\n" "\n";
GRUP BANTUAN OPSI
OptionSet berisi string HelpGroupName
yang digunakan untuk mengelompokkan opsi dalam output bantuan. Fungsi PrintOptionHelp()
menggunakan HelpGroupName sebagai judul bagian dalam output penggunaan yang dihasilkan. Jika beberapa OptionSet memiliki HelpGroupName yang sama, PrintOptionHelp() akan mencetak bantuan opsi untuk OptionSets yang berbeda secara bersamaan pada judul bagian yang umum.
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgs
bool ParseArgs( const char *progName, int argc, char *argv[], OptionSet *optSets[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Mengurai kumpulan argumen dari variabel lingkungan bernama.
ParseArgsFromEnvVar() membaca variabel lingkungan bernama dan meneruskan nilai ke ParseArgsFromString()
untuk diurai. Jika variabel lingkungan tidak ditetapkan, fungsi ini tidak akan melakukan apa pun.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Hasil |
true jika semua argumen opsi dan non-opsi berhasil diuraikan, atau jika variabel lingkungan yang ditentukan tidak ditetapkan; false jika opsi tidak dikenal, jika salah satu fungsi pengendali gagal (yaitu, ditampilkan salah), atau jika terjadi error internal. |
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[] )
ParseArgsFromEnvVar
bool ParseArgsFromEnvVar( const char *progName, const char *varName, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler, bool ignoreUnknown )
Mengurai kumpulan argumen dari string yang diberikan.
ParseArgsFromString() membagi string yang diberikan (argStr
) menjadi satu set argumen dan mengurai argumen menggunakan fungsi ParseArgs().
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Hasil |
true jika semua opsi dan argumen non-opsi berhasil diuraikan; false jika opsi tidak dikenal, jika salah satu fungsi pengendali gagal (yaitu, ditampilkan salah), atau jika terjadi error internal. |
Sintaksis string input mirip dengan sintaksis perintah shell unix, tetapi dengan skema kutipan yang disederhanakan. Khususnya:
- Argumen dibatasi oleh spasi kosong, kecuali jika spasi kosong dikutip atau di-escape.
- Garis miring terbalik meng-escape karakter berikut, menyebabkannya diperlakukan sebagai karakter normal. Garis miring terbalik itu sendiri dihilangkan.
- Tanda kutip tunggal atau ganda {i>substring<i} awal/akhir yang diberi tanda kutip. Dalam substring, satu-satunya karakter khusus adalah garis miring terbalik, yang meng-escape karakter berikutnya, dan tanda kutip akhir yang sesuai. Karakter kutipan awal/akhir akan dihapus.
E.g.:
--listen --count 10 --sw-version '1.0 (DEVELOPMENT)' "--hostname=nest.com"
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[], NonOptionArgHandlerFunct nonOptArgHandler )
ParseArgsFromString
bool ParseArgsFromString( const char *progName, const char *argStr, OptionSet *optSets[] )
ParseBoolean
bool ParseBoolean( const char *str, bool & output )
Mengurai string sebagai nilai boolean.
Fungsi ini menerima nilai input berikut (tidak peka huruf besar/kecil): "true", "yes", "t", "y", "1", "false", "no", "f", "n", "0".
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
Mengurai ID kain Weave dalam bentuk teks.
Fungsi ParseFabricId() menerima ID fabric 64-bit yang diberikan dalam format hex, dengan atau tanpa awalan '0x'.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
true jika nilai berhasil diuraikan; false jika tidak.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
Mengurai string byte yang diberikan dalam bentuk heksadesimal.
ParseHexString() mengharapkan input dalam bentuk pasangan digit heksadesimal (huruf besar atau kecil). Pasangan heksa dapat dipisahkan dengan salah satu karakter berikut: titik dua, titik koma, koma, titik, atau tanda hubung. Selain itu, karakter spasi kosong di mana pun dalam string input akan diabaikan.
Detail | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parameter |
|
||||||||||
Hasil |
true jika nilai berhasil diuraikan; false jika format data input salah, atau jika
outBuf terlalu kecil. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
Mengurai alamat IP dalam bentuk teks.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
true jika nilai berhasil diuraikan; false jika tidak.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
Mengurai dan mencoba mengonversi string menjadi bilangan bulat tanpa tanda tangan 64-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
Mengurai dan mencoba mengonversi string menjadi bilangan bulat tanpa tanda tangan 32-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
Mengurai dan mencoba mengonversi string menjadi bilangan bulat dengan tanda tangan 32-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||||
---|---|---|---|---|---|---|---|
Parameter |
|
||||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 64-bit, dengan menerapkan penafsiran yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 32-bit, dengan menerapkan penafsiran yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat dengan tanda tangan 32-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 16-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat dengan tanda tangan 16-bit, menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
Mengurai dan mencoba mengonversi string yang ditafsirkan sebagai nilai desimal menjadi bilangan bulat tanpa tanda tangan 8-bit, dengan menerapkan interpretasi yang sesuai berdasarkan parameter dasar.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
Mengurai ID node Weave dalam bentuk teks.
Fungsi ParseNodeId() menerima ID node 64-bit yang diberikan dalam format hex (dengan atau tanpa awalan '0x'), atau kata 'any' atau 'all' yang diartikan sebagai ID simpul apa pun (0xFFFFFFFFFFFFFFFF).
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
true jika nilai berhasil diuraikan; false jika tidak.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
Mengurai dan mencoba mengonversi string menjadi ID subnet 16-bit yang tidak ditandatangani, dengan menafsirkan string sebagai heksadesimal.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
||||
Hasil |
benar untuk
kesuksesan; jika tidak, false jika gagal.
|
PrintOptionHelp
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
Mencetak teks bantuan untuk daftar opsi tertentu ke aliran data.
Detail | |||||
---|---|---|---|---|---|
Parameter |
|
PutStringWithBlankLine
void PutStringWithBlankLine( FILE *s, const char *str )
PutStringWithNewLine
void PutStringWithNewLine( FILE *s, const char *str )
SplitArgs
int32_t SplitArgs( char *argStr, char **& argList, char *initialArg )