nl:: ArgParser
ملخّص
عمليات التعداد |
|
---|---|
OptionArgumentType
|
تعداد تحدد متطلبات الوسيطة لخيار سطر الأوامر. |
تحديدات النوع |
|
---|---|
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
حلِّل سلسلة معيّنة وحاوِل تحويلها إلى عدد صحيح 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 حيث يكون المعالج دالة افتراضية. |
الهياكل |
|
---|---|
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() النشط حاليًا.
ستكون هذه القيمة فارغة عندما لا يكون هناك استدعاء لـ 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
) وتحلّلها وفقًا لمجموعة من تعريفات الخيارات المتوفّرة. تدعم الدالة كل من خياري long (opt) وقصير (-o) وتنفذ نفس بنية الخيار مثل دالة GNU getopt_long(3).
التفاصيل | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||||
المرتجعات |
true إذا تم تحليل جميع الخيارات والوسيطات التي لا تحتوي على خيارات بنجاح، أو false إذا لم يتم التعرُّف على خيار أو إذا تعذَّر على إحدى وظائف المعالجات (أي عرض خطأ). |
يتم تمرير تعريفات الخيارات إلى ParseArgs() كمصفوفة من بُنى OptionSet (optSets
). تحتوي كل OptionSet على مصفوفة من تعريفات الخيارات ودالة معالج. يعالج ParseArgs() وسيطات الخيار بالترتيب المحدد، مع استدعاء دالة المعالج المعنية لكل خيار تم التعرف عليه. بعد تحليل جميع الخيارات، يتم استدعاء دالة معالج منفصلة لا تعتمد على الخيارات (nonOptArgHandler
) مرة واحدة لمعالجة أي وسيطات متبقية.
مجموعات الخيارات
تحتوي OptionSet على مجموعة من تعريفات الخيارات مع مؤشر يشير إلى دالة معالج سيتم استدعائها عند العثور على أحد الخيارات المرتبطة. تحتوي مجموعات الخيارات أيضًا على نص المساعدة الذي يصف بناء الجملة والغرض من كل خيار (راجع OPTION HELP أدناه). صُممت مجموعات الخيارات للسماح بإنشاء مجموعات قابلة لإعادة الاستخدام من الخيارات ذات الصلة. وهذا من شأنه أن يبسط الجهود اللازمة للحفاظ على العديد من التطبيقات التي تقبل خيارات مماثلة (على سبيل المثال، تطبيقات الاختبار).
هناك نمطان لتحديد دالة OptionSetsone التي يمكنها إما إعداد مثيل لبنية OptionSet نفسها، على سبيل المثال، كقاعدة عامة ثابتة أو فئة فرعية OptionSetBase وتوفير دالة إنشاء. تستخدم الطريقة الثانية دالة HandleOption()
الافتراضية الخالصة لتفويض معالجة الخيارات للفئة الفرعية.
يتم تمرير قوائم OptionSets إلى الدالة ParseArgs() باعتبارها مصفوفة مؤشرات تم إنهاؤها فارغة. 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، حيث يحتوي كل عنصر على: اسم الخيار، ومعرّف عدد صحيح يُستخدم لتحديد الخيار، وما إذا كان الخيار يتوقع/يسمح بوسيطة. تتم الإشارة إلى نهاية صفيف الخيارات من خلال حقل اسم فارغ. 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 التي تظهر فيها، وبالتالي يمكن إعادة استخدامها في مجموعات OptionSet المختلفة (ولكن اطّلِع على SHORT OPTIONS أدناه). الاصطلاح الشائع هو بدء أرقام تعريف خيارات الترقيم على 1000، ومع ذلك يمكن استخدام أي رقم أكبر من 128. يمكن إنشاء خيارات الاسم المستعار باستخدام نفس معرّف الخيار مع أسماء خيارات مختلفة.
خيارات الفيديوهات القصيرة
على عكس getopt_long(3)، لا تأخذ ParseArgs() سلسلة منفصلة تحدد قائمة أحرف الخيارات القصيرة. بدلاً من ذلك، سيسمح أي خيار توجد قيمة معرفه ضمن نطاق حروف ASCII الرسومية باستخدام هذا الحرف كخيار قصير.
تتطلب ParseArgs() أن تكون أحرف الخيارات القصيرة فريدة عبر جميع OptionSets. لهذا السبب، لا ننصح باستخدام الخيارات القصيرة في أي مجموعة OptionSet تتم مشاركتها بين البرامج، وذلك بسبب احتمال حدوث اصطدامات كبيرة. يمكن إعادة استخدام أحرف الخيارات المختصرة ضمن OptionSet واحدة للسماح بإنشاء أسماء خيارات طويلة للاسم المستعار.
مساعدة الخيارات
تحتوي كل OptionSet على سلسلة OptionHelp
تصف الغرض من الخيارات المرتبطة وبنيتها. تستخدم الدالة PrintOptionHelp()
هذه السلاسل لإنشاء معلومات استخدام الخيار.
حسب الاصطلاح، تتكون سلاسل مساعدة الخيارات من مثال بناء جملة يتبعه وصف نصي للخيار. إذا كان الخيار يتضمن نسخة قصيرة أو اسمًا مستعارًا، يتم منحه قبل الاسم الطويل الأساسي. من أجل الاتساق، يتم وضع مسافة بادئة لسطور بناء الجملة بمسافتين، بينما مسافة بادئة سطور الوصف بـ 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";
مجموعات مساعدة الخيارات
تحتوي OptionSet على سلسلة HelpGroupName
التي تُستخدم لتجميع الخيارات معًا في مخرجات المساعدة. تستخدم الدالة PrintOptionHelp()
HelpGroupName كعنوان قسم في نتيجة الاستخدام التي يتم إنشاؤها. إذا كان العديد من OptionSets يحتوي على نفس HelpGroupName، فإن PrintOptionHelp() ستطبع مساعدة الخيار لمجموعات OptionSet المختلفة معًا ضمن عنوان قسم مشترك.
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 إذا لم يتم التعرف على خيار، أو إذا فشل أحد وظائف المعالج (أي تم عرض خطأ) أو حدث خطأ داخلي. |
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 إذا لم يتم التعرُّف على خيار، أو في حال تعذَّر تنفيذ إحدى وظائف المعالجات (أي تم عرض خطأ) أو حدث خطأ داخلي. |
تشبه بناء جملة سلاسل الإدخال بناء جملة أمر Unix Shell، ولكن مع نظام اقتباس مبسط. وهذه القيود تحديدًا هي كالآتي:
- يتم تحديد الوسيطات بمسافة بيضاء، ما لم يتم إدراج المسافة البيضاء بين علامتي اقتباس أو تخطيها.
- تؤدي الشرطة المائلة للخلف إلى إلغاء الحرف التالي، مما يؤدي إلى التعامل معه كحرف عادي. تتم إزالة الشرطة المائلة للخلف نفسها.
- علامات الاقتباس المفردة أو المزدوجة في بداية/نهاية السلاسل الفرعية المقتبَسة. داخل السلسلة الفرعية، الأحرف الخاصة الوحيدة هي الشرطة المائلة للخلف، والتي تتخطى الحرف التالي وعلامة الاقتباس النهائية المقابلة. تتم إزالة حروف البداية/النهاية.
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".
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
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() أن يكون الإدخال في شكل أزواج من الأرقام السداسية (الأحرف الكبيرة أو الصغيرة). يمكن فصل الأزواج السداسية بشكل اختياري بأي من الأحرف التالية: نقطتين أو فاصلة منقوطة أو فاصلة أو نقطة أو شرطة. بالإضافة إلى ذلك، يتم تجاهل أحرف المسافة البيضاء في أي مكان في سلسلة الإدخال.
التفاصيل | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||||||
المرتجعات |
صحيح إذا تم تحليل القيمة بنجاح، أو خطأ إذا كانت بيانات الإدخال مكتوبة بشكلٍ غير صحيح، أو إذا كانت
outBuf صغيرة جدًا. |
ParseIPAddress
bool ParseIPAddress( const char *str, IPAddress & output )
تحليل عنوان IP في شكل نصي.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
true إذا تم تحليل القيمة بنجاح، أو false إذا لم يتم تحليلها.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output, int base )
حلِّل سلسلة معيّنة وحاوِل تحويلها إلى عدد صحيح 64 بت غير موقَّع، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output, int base )
حلِّل السلسلة وحاوِل تحويلها إلى عدد صحيح غير موقَّع 32 بت، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, int32_t & output, int base )
حلِّل السلسلة وحاوِل تحويلها إلى عدد صحيح موقَّع 32 بت، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||||
---|---|---|---|---|---|---|---|
المَعلمات |
|
||||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, uint64_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية وتحاول تحويلها إلى عدد صحيح 64 بت غير مُوقَّع، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, uint32_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية وتحاول تحويلها إلى عدد صحيح 32 بت غير مُوقَّع، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, int32_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية إلى عدد صحيح موقَّع 32 بت ومحاولة تحويلها، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, uint16_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية وتحاول تحويلها إلى عدد صحيح مؤلف من 16 بت غير مُوقَّع، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, int16_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية إلى عدد صحيح موقَّع 16 بت ومحاولة تحويلها، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseInt
bool ParseInt( const char *str, uint8_t & output )
حلِّل سلسلة مفسَّرة كقيمة عشرية كقيمة عشرية إلى عدد صحيح غير مُوقَّع مكوَّن من 8 بت، مع تطبيق التفسير المناسب استنادًا إلى المَعلمة الأساسية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
ParseNodeId
bool ParseNodeId( const char *str, uint64_t & nodeId )
تحليل معرّف عقدة Weave في نموذج نصي.
تقبل الدالة ParseNodeId() إما معرّف عقدة 64 بت تم تقديمه بتنسيق ست عشري (مع أو بدون البادئة '0x')، أو الكلمات 'any' أو 'all' التي يتم تفسيرها على أنها تعني أي معرّف عقدة (0xFFFFFFFFFFFFFF).
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
true إذا تم تحليل القيمة بنجاح، أو false إذا لم يتم تحليلها.
|
ParseSubnetId
bool ParseSubnetId( const char *str, uint16_t & subnetId )
حلِّل السلسلة وحاوِل تحويلها إلى رقم تعريف شبكة فرعية مكوَّن من 16 بت غير موقَّع، مع تفسير السلسلة على أنّها سداسية عشرية.
التفاصيل | |||||
---|---|---|---|---|---|
المَعلمات |
|
||||
المرتجعات |
صواب عند النجاح؛ وإلا، فخطأ عند الفشل.
|
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 )