nl:: ArgParser
סיכום
ספירות |
|
---|---|
OptionArgumentType
|
טיפוסים בני מנייה (enum) מגדיר את דרישות הארגומנטים של אפשרות בשורת הפקודה. |
ערכי דף |
|
---|---|
NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
|
typedefbool(*
פונקציה שניתן לקרוא לה כדי לטפל בארגומנטים שנותרו בשורת הפקודה, שאינם אפשרות. |
OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
|
typedefbool(*
פונקציה שניתן לקרוא לה כדי לטפל בקבוצה של אפשרויות שורת פקודה. |
משתנים |
|
---|---|
PrintArgError = DefaultPrintArgError)(const char *msg,...)
|
void(*
מצביע לפונקציה המשמשת להדפסה שמתרחשת במהלך ניתוח ארגומנטים.
|
gActiveOptionSets = NULL
|
OptionSet **
הרשימה של OptionSets שהועברו לקריאה הפעילה הנוכחית של ParseArgs() .
|
פונקציות |
|
---|---|
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
הדפסה של הודעת שגיאה המשויכת לניתוח ארגומנטים.
|
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
מנתחים קבוצה של ארגומנטים בסגנון שורת פקודה, תוך קריאה לפונקציות הטיפול לעבד כל אפשרות וארגומנט ללא אפשרות.
|
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
ניתוח של קבוצת ארגומנטים ממשתנה סביבה בעל שם.
|
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
ניתוח של קבוצת ארגומנטים ממחרוזת נתונה.
|
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
נתחו מחרוזת כערך בוליאני.
|
ParseFabricId(const char *str, uint64_t & fabricId, bool allowReserved)
|
bool
ניתוח מזהה של בד Weave בצורת טקסט.
|
ParseHexString(const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen)
|
bool
נתחו מחרוזת של בייטים המצוינת בצורת הקסדצימלית.
|
ParseIPAddress(const char *str, IPAddress & output)
|
bool
מנתחים כתובת IP בצורת טקסט.
|
ParseInt(const char *str, uint64_t & output, int base)
|
bool
מנתחים ומנסים להמיר מחרוזת למספר שלם ללא סימן (unsigned integer) של 64 סיביות, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
|
ParseInt(const char *str, uint32_t & output, int base)
|
bool
מנתחים ומנסים להמיר מחרוזת למספר שלם ללא סימן 32 סיביות, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
|
ParseInt(const char *str, int32_t & output, int base)
|
bool
מנתחים ומנסים להמיר מחרוזת למספר שלם וחתום של 32 ביט, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
|
ParseInt(const char *str, uint64_t & output)
|
bool
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 64 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
|
ParseInt(const char *str, uint32_t & output)
|
bool
נתחו ונסו להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 32 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
|
ParseInt(const char *str, int32_t & output)
|
bool
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם חתום של 32 ביט, תוך יישום הפרשנות המתאימה על סמך פרמטר הבסיס.
|
ParseInt(const char *str, uint16_t & output)
|
bool
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 16 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
|
ParseInt(const char *str, int16_t & output)
|
bool
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם חתום של 16 ביט, תוך יישום הפרשנות המתאימה על סמך פרמטר הבסיס.
|
ParseInt(const char *str, uint8_t & output)
|
bool
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום בגודל 8 ביט, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
|
ParseNodeId(const char *str, uint64_t & nodeId)
|
bool
ניתוח מזהה צומת של Weave בצורת טקסט.
|
ParseSubnetId(const char *str, uint16_t & subnetId)
|
bool
מנתחים מחרוזת ומנסים להמיר אותה למזהה רשת משנה לא חתום של 16 סיביות, תוך פרשנות למחרוזת כהקסדצימלית.
|
PrintOptionHelp(OptionSet *optSets[], FILE *s)
|
void
ניתן להדפיס בזרם את טקסט העזרה עבור רשימת אפשרויות ספציפית.
|
PutStringWithBlankLine(FILE *s, const char *str)
|
void
|
PutStringWithNewLine(FILE *s, const char *str)
|
void
|
SplitArgs(char *argStr, char **& argList, char *initialArg)
|
int32_t
|
מחלקות |
|
---|---|
nl:: |
OptionSet נפוץ לטיפול באפשרויות מידע (עזרה, גרסה). |
nl:: |
ערך OptionSet שבו ה-handler הוא פונקציה וירטואלית. |
מבנים |
|
---|---|
nl:: |
מגדיר אפשרות של שורת פקודה. |
nl:: |
מגדירה קבוצה של אפשרויות שורת פקודה קשורות מבחינה לוגית וניתנות לשימוש חוזר. |
ספירות
OptionArgumentType
OptionArgumentType
מגדיר את דרישות הארגומנטים של אפשרות בשורת הפקודה.
ערכי דף
NonOptionArgHandlerFunct
bool(* NonOptionArgHandlerFunct)(const char *progName, int argc, char *argv[])
פונקציה שניתן לקרוא לה כדי לטפל בארגומנטים שנותרו בשורת הפקודה, שאינם אפשרות.
OptionHandlerFunct
bool(* OptionHandlerFunct)(const char *progName, OptionSet *optSet, int id, const char *name, const char *arg)
פונקציה שניתן לקרוא לה כדי לטפל בקבוצה של אפשרויות שורת פקודה.
משתנים
PrintArgError
void(* PrintArgError)(const char *msg,...) = DefaultPrintArgError
מצביע לפונקציה המשמשת להדפסה שמתרחשת במהלך ניתוח ארגומנטים.
על האפליקציות להפעיל את PrintArgError() כדי לדווח על שגיאות בפונקציות טיפול בארגומנטים ובאפשרויות שאינן אפשרויות, במקום להדפיס ישירות ל-stdout/stderr.
ברירת המחדל היא מצביע לפונקציה DefaultPrintArgError()
.
gActiveOptionSets
OptionSet ** gActiveOptionSets = NULL
הרשימה של OptionSets שהועברו לקריאה הפעילה הנוכחית של ParseArgs() .
הערך יהיה NULL כאשר לא מתבצעת קריאה ל-ParseArgs() .
פונקציות
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, ... )
הדפסה של הודעת שגיאה המשויכת לניתוח ארגומנטים.
פונקציית ברירת המחדל שמשמשת להדפסת הודעות שגיאה שנוצרות בעקבות ניתוח ארגומנטים.
פרטים | |||
---|---|---|---|
פרמטרים |
|
אפליקציות צריכות לקרוא דרך מצביע הפונקציה PrintArgError, ולא לקרוא לפונקציה הזו ישירות.
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 )
מנתחים קבוצה של ארגומנטים בסגנון שורת פקודה, תוך קריאה לפונקציות הטיפול לעבד כל אפשרות וארגומנט ללא אפשרות.
ParseArgs() לוקח רשימה של ארגומנטים (argv
) ומנתח אותם לפי קבוצה של הגדרות אפשרויות שסופקו. הפונקציה תומכת גם באפשרות הארוך (opt) וגם באפשרות קצרה (-o) ומיישמת את אותו תחביר של אפשרויות, של פונקציית GNU getopt_long(3).
פרטים | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||||
החזרות |
true אם כל האפשרויות והארגומנטים ללא אפשרויות נותחו בהצלחה; false אם אפשרות כלשהי לא הייתה מזוהה או אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה הערך false). |
הגדרות האפשרויות מועברות אל ParseArgs() כמערך של מבני OptionSet (optSets
). כל OptionSet מכיל מערך של הגדרות אפשרויות ופונקציית handler. ParseArgs() מעבדת ארגומנטים של אפשרויות בסדר הנתון, וקוראת לפונקציית ה-handler המתאימה לכל אפשרות מזוהה. לאחר שכל האפשרויות מנותחות, פונקציית handler נפרדת שאינה של אפשרות (nonOptArgHandler
) מופעלת פעם אחת כדי לעבד את שאר הארגומנטים.
קבוצות אפשרויות
OptionSet מכיל קבוצה של הגדרות של אפשרויות יחד עם מצביע אל פונקציית handler שתיקרא כשיתגלה אחת מהאפשרויות המשויכות. ערכות האפשרויות מכילות גם טקסט עזרה שמתאר את התחביר והמטרה של כל אפשרות (ניתן לעיין בעזרה לאפשרות 'עזרה' בהמשך). קבוצות של אפשרויות נועדו לאפשר יצירת אוספים של אפשרויות קשורות, לשימוש חוזר. השיטה הזו מפשטת את המאמץ הנדרש לניהול אפליקציות מרובות שמקבלות אפשרויות דומות (למשל, אפליקציות לבדיקה).
יש שתי תבניות להגדרה של OptionSetsone. הן יכולות לאתחל מופע של ה-OptionSet עצמו, למשל כמערך גלובלי סטטי או כמחלקה משנית OptionSetBase ולספק בנאי. הפונקציה השנייה משתמשת בפונקציה HandleOption()
וירטואלית טהורה כדי להאציל את הטיפול באפשרות למחלקה המשנית.
רשימות של OptionSets מועברות אל הפונקציה ParseArgs() כמערך מצביעים עם סגירת 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)) { ... } }
הגדרות האפשרויות
האפשרויות מוגדרות באמצעות המבנה OptionDef
. הגדרות האפשרויות מאורגנות כמערך של רכיבי OptionDef, כאשר כל רכיב מכיל: את שם האפשרות, מזהה מספר שלם המשמש לזיהוי האפשרות, ואם האפשרות מצפה/מאפשרת ארגומנט. בסוף מערך האפשרויות מופיע שדה NULL Name. 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 } };
מזהי אפשרויות
מזהי אפשרויות מזהים אפשרויות לקוד שמטפל בהן (הפונקציה OptionHandler). מזהי אפשרויות הם יחסיים ל-OptionSet שבו הם מופיעים, ולכן ניתן להשתמש בהם שוב במערכי Option שונים (אבל כדאי לעיין ב'אפשרויות קצרות' בהמשך). המוסכמה המקובלת היא להתחיל מספור של מזהי אפשרויות מ-1,000, אך ניתן להשתמש בכל מספר שגדול מ-128. ניתן ליצור אפשרויות כינוי על ידי שימוש באותו מזהה אפשרות עם שמות אפשרויות שונים.
אפשרויות קצרות
שלא כמו getopt_long(3), ב-ParseArgs() לא נלקח מחרוזת נפרדת שמציינת את רשימת התווים הקצרים של האפשרות. לעומת זאת, כל אפשרות שערך המזהה שלה נופל בטווח של תווי ASCII גרפיים תאפשר להשתמש בתו הזה כאפשרות קצרה.
כדי להשתמש ב-ParseArgs() , תווי האפשרות הקצרים צריכים להיות ייחודיים בכל OptionSets. לכן, לא מומלץ להשתמש באפשרויות קצרות ל-OptionSets שמשותפות בין התוכניות, עקב הסיכוי המשמעותי להתנגשויות. ניתן לעשות שימוש חוזר בתווים של אפשרויות קצרות בתוך OptionSet יחיד כדי לאפשר יצירה של אפשרויות כינוי ארוכות.
עזרה באפשרות
כל OptionSet מכיל מחרוזת OptionHelp
שמתארת את המטרה ואת התחביר של האפשרויות המשויכות. המחרוזות האלה משמשות את הפונקציה PrintOptionHelp()
כדי ליצור מידע על השימוש באפשרויות.
לפי המוסכמה, מחרוזות העזרה של אפשרויות מורכבות מדוגמה לתחביר שאחריה תיאור טקסטואלי של האפשרות. אם לאפשרות יש גרסה מקוצרת או שם חלופי, הוא יופיע לפני השם הארוך הראשי. כדי לשמור על עקביות, שורות התחביר מוכנסות עם 2 רווחים, ואילו בשורות התיאור יש 7 רווחים. שורה ריקה אחת אחרי כל תיאור אפשרות, כולל השורה האחרונה.
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";
קבוצות עזרה לאפשרות
ה-OptionSets מכיל מחרוזת HelpGroupName
שמשמשת לקיבוץ אפשרויות בפלט העזרה. הפונקציה PrintOptionHelp()
משתמשת ב-HelpGroupName ככותרת של הקטע בפלט השימוש שנוצר. אם למספר OptionSets יש את אותו HelpGroupName, PrintOptionHelp() ידפיס יחד את העזרה ל-OptionSets השונים תחת כותרת קטע משותפת.
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 )
ניתוח של קבוצת ארגומנטים ממשתנה סביבה בעל שם.
ParseArgsFromEnvVar() קורא משתנה סביבה בעל שם ומעבירה את הערך ל-ParseArgsFromString()
לצורך ניתוח. אם משתנה הסביבה לא מוגדר, הפונקציה לא עושה דבר.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
true אם כל האפשרויות והארגומנטים ללא אפשרויות נותחו בהצלחה, או אם משתנה הסביבה שצוין לא מוגדר; false אם אחת האפשרויות לא הייתה מזוהה, אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה כ-false) או אם אירעה שגיאה פנימית. |
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 )
ניתוח של קבוצת ארגומנטים ממחרוזת נתונה.
ParseArgsFromString() מפצל מחרוזת נתונה (argStr
) לקבוצת ארגומנטים ומנתח את הארגומנטים באמצעות הפונקציה ParseArgs() .
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
true אם כל האפשרויות והארגומנטים ללא אפשרות נותחו בהצלחה; false אם אפשרות כלשהי לא זוהה, אם אחת מהפונקציות של ה-handler נכשלה (כלומר הוחזרה הערך false) או אם אירעה שגיאה פנימית. |
התחביר של מחרוזות הקלט דומה לתחביר של פקודות מעטפת של Unix, אבל עם סכמת ציטוט פשוטה. פרטים נוספים:
- הארגומנטים מופרדים באמצעות רווח, אלא אם הם מוקפים במירכאות או בסימון בתו בריחה (escape).
- תו אלכסוני משמש ליציאה מהתו הבא וכתוצאה מכך המערכת תתייחס אליו כאל תו רגיל. הלוכסן ההפוך עצמו מוסר.
- מירכאות בודדות או כפולות בהתחלה/סיום של מחרוזות משנה במירכאות. בתוך מחרוזת משנה, התווים המיוחדים היחידים הם לוכסן הפוך, שמסמן את התו הבא בתור והציטוט הסופי שלו. המערכת מסירה את תווי המירכאות של ההתחלה/הסיום.
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 )
נתחו מחרוזת כערך בוליאני.
הפונקציה הזו מקבלת את ערכי הקלט הבאים (לא תלויי-רישיות): "true", "yes", "t", "y", "1", "false", "no", "f", "n", "0".
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseFabricId
bool ParseFabricId( const char *str, uint64_t & fabricId, bool allowReserved )
ניתוח מזהה של בד Weave בצורת טקסט.
הפונקציה ParseFabricId() מקבלת מזהה בד של 64 ביט בפורמט הקסדצימלי, עם או בלי '0x' מוביל.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
TRUE אם הערך נותח בהצלחה; false אם לא.
|
ParseHexString
bool ParseHexString( const char *hexStr, uint32_t strLen, uint8_t *outBuf, uint32_t outBufSize, uint32_t & outDataLen )
נתחו מחרוזת של בייטים המצוינת בצורת הקסדצימלית.
ParseHexString() מצפה שהקלט יהיה בצורת צמדים של ספרות הקסדצימליות (אותיות רישיות או קטנות). צמדים הקסדצימליים יכולים להיות מופרדים באמצעות כל אחד מהתווים הבאים: נקודתיים, נקודה ופסיק, פסיק, נקודה או מקף. בנוסף, המערכת מתעלמת מתווי רווח בכל מקום במחרוזת הקלט.
פרטים | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||||||
החזרות |
True אם הערך ניתוח בהצלחה; False אם נתוני הקלט שגויים או אם
outBuf קטן מדי. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
מנתחים כתובת IP בצורת טקסט.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
TRUE אם הערך נותח בהצלחה; false אם לא.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
מנתחים ומנסים להמיר מחרוזת למספר שלם ללא סימן (unsigned integer) של 64 סיביות, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
מנתחים ומנסים להמיר מחרוזת למספר שלם ללא סימן 32 סיביות, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
מנתחים ומנסים להמיר מחרוזת למספר שלם וחתום של 32 ביט, תוך שימוש בפרשנות המתאימה על סמך פרמטר הבסיס.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 64 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
נתחו ונסו להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 32 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם חתום של 32 ביט, תוך יישום הפרשנות המתאימה על סמך פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום של 16 סיביות, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם חתום של 16 ביט, תוך יישום הפרשנות המתאימה על סמך פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
מנתחים ומנסים להמיר מחרוזת שמפוענחת כערך עשרוני למספר שלם לא חתום בגודל 8 ביט, תוך יישום הפרשנות המתאימה המבוססת על פרמטר הבסיס.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
ניתוח מזהה צומת של Weave בצורת טקסט.
הפונקציה ParseNodeId() מקבלת מזהה צומת של 64 סיביות הנתון בפורמט הקסדצימלי (עם או בלי '0x' מוביל), או את המילים 'כל' או 'הכול' שמשמעותן היא כל מזהה צומת (0xFFFFFFFFFFFFFFFF).
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
TRUE אם הערך נותח בהצלחה; false אם לא.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
מנתחים מחרוזת ומנסים להמיר אותה למזהה רשת משנה לא חתום של 16 סיביות, תוך פרשנות למחרוזת כהקסדצימלית.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
החזרות |
נכון לגבי הצלחה; אחרת, הערך false לגבי כישלון.
|
PrintOptionHelp
void PrintOptionHelp( OptionSet *optSets[], FILE *s )
ניתן להדפיס בזרם את טקסט העזרה עבור רשימת אפשרויות ספציפית.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
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 )