Mailinglist Archive: zypp-devel (92 mails)

< Previous Next >
[zypp-devel] JFYI: Parsing boolean from string
  • From: Michael Andres <ma@xxxxxxx>
  • Date: Fri, 31 Aug 2007 21:42:34 +0200
  • Message-id: <20070831194234.GA10884@xxxxxxx>
zypp/base/String.h

+    /** Parsing boolean from string.
+    */
+    //@{
+    /** Return \c true if str is <tt>1, true, yes, on</tt>. */
+    bool strToTrue( const std::string & str );
+
+    /** Return \c false if str is <tt>0, false, no, off</tt>. */
+    bool strToFalse( const std::string & str );
+
+    /** Parse \c str into a bool depending on the default value.
+     * If the \c default is true, look for a legal \c false string.
+     * If the \c default is false, look for a legal \c true string.
+    */
+    inline bool strToBool( const std::string & str, bool default_r )
+    { return( default_r ? strToFalse( str ) : strToTrue( str ) ); }
+    //@}


    bool flag = str::strToBool( "1",        false ); -> true
    bool flag = str::strToBool( "Yes",      false ); -> true
    bool flag = str::strToBool( "on",       false ); -> true
    bool flag = str::strToBool( "true",     false ); -> true
    bool flag = str::strToBool( "otherwise",false ); -> false

    bool flag = str::strToBool( "0",        true  ); -> false
    bool flag = str::strToBool( "no",       true  ); -> false
    bool flag = str::strToBool( "OFF",      true  ); -> false
    bool flag = str::strToBool( "False",    true  ); -> false
    bool flag = str::strToBool( "otherwise",true  ); -> true

-- 

cu,
    Michael Andres

+------------------------------------------------------------------+
Key fingerprint = 2DFA 5D73 18B1 E7EF A862  27AC 3FB8 9E3A 27C6 B0E4
+------------------------------------------------------------------+
Michael Andres             YaST Development            ma@xxxxxxxxxx
SUSE LINUX Products GmbH, GF:  Markus Rex,  HRB 16746 (AG Nuernberg)
Maxfeldstrasse 5, D-90409 Nuernberg, Germany, ++49 (0)911 - 740 53-0
+------------------------------------------------------------------+

-- 
To unsubscribe, e-mail: zypp-devel+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: zypp-devel+help@xxxxxxxxxxxx

< Previous Next >
List Navigation
This Thread
  • No further messages