]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Changed default separator for tuple to ":"
authorLuca Heltai <luca.heltai@sissa.it>
Fri, 27 Oct 2017 11:57:54 +0000 (13:57 +0200)
committerLuca Heltai <luca.heltai@sissa.it>
Sat, 28 Oct 2017 17:57:07 +0000 (19:57 +0200)
include/deal.II/base/patterns.h
source/base/patterns.cc
tests/base/patterns_11.cc

index d694d4e1b419faced6fd24c5ccc4c5b8afdac334..cbadcfdb182519c9f1d2c9fbb05401c4fe27b86b 100644 (file)
@@ -664,7 +664,7 @@ namespace Patterns
 
 
   /**
-   * This pattern matches comma-separated values of arbitrary types. Each type
+   * This pattern matches column-separated values of arbitrary types. Each type
    * has to match a pattern given to the constructor.
    *
    * An example usage is the following:
@@ -676,14 +676,17 @@ namespace Patterns
    * ps.push_back(std::unique_ptr<Patterns::Double>());
    * ps.push_back(std::unique_ptr<Patterns::Anything>());
    *
-   * Patterns::Tuple pattern(ps, ";");
+   * Patterns::Tuple pattern(ps, ":");
    *
-   * bool check = ps.match("5; 3.14; Ciao"); // check = true
+   * bool check = ps.match("5: 3.14: Ciao"); // check = true
    * @endcode
    *
    * The constructor expects a vector of Patterns, and optionally a string
    * specifying the separator to use when parsing the Tuple from a string.
    *
+   * The default separator is the semicolumn, owing to the fact that a pair
+   * is in fact a tuple with two elements.
+   *
    * @author Luca Heltai, 2017.
    */
   class Tuple : public PatternBase
@@ -698,7 +701,7 @@ namespace Patterns
      * Constructor.
      */
     Tuple (const std::vector<std::unique_ptr<PatternBase> > &patterns,
-           const std::string  &separator = ",");
+           const std::string  &separator = ":");
 
     /**
      * Constructor. Same as above, specialized for const char *. This is
@@ -1256,7 +1259,7 @@ namespace Patterns
   Tuple::Tuple(const char *separator,
                const PatternTypes &... ps)
     :
-    // simply forward to the std::string version
+    // forward to the version with std::string argument
     Tuple (std::string(separator), ps...)
   {}
 
@@ -1282,7 +1285,7 @@ namespace Patterns
   Tuple::Tuple(const PatternTypes &... ps)
     :
     // forward to the version with the separator argument
-    Tuple (std::string(","), ps...)
+    Tuple (std::string(":"), ps...)
   {}
 
 
index 7c529584cc2685004e5a2f255b3c621c475d994c..502ef9c35dd1e8d5d4bcd1f422daf93863e7a514 100644 (file)
@@ -1020,7 +1020,7 @@ namespace Patterns
                       << patterns[i]->description(style)
                       << ">";
 
-        if (separator != ",")
+        if (separator != ":")
           description << " separated by <" << separator << ">";
         description << "]";
 
@@ -1034,7 +1034,7 @@ namespace Patterns
         description << "A Tuple of "
                     << patterns.size()
                     << " elements ";
-        if (separator != ",")
+        if (separator != ":")
           description << " separated by <" << separator << "> ";
         description << " where each element is ["
                     <<  patterns[0]->description(style)
@@ -1108,7 +1108,7 @@ namespace Patterns
         if (is)
           std::getline(is, separator, '>');
         else
-          separator = ",";
+          separator = ":";
 
         return std::unique_ptr<Tuple>(new Tuple(patterns,separator));
       }
index 9a99dbde0d574e0c254c221ebabbe0b948647daf..8a76f93a09bbe05d9e7c0e1a145ae3a2b53c686a 100644 (file)
@@ -29,7 +29,7 @@ int main()
 
   deallog << desc << std::endl;
 
-  std::string test = "3.14, Ciao";
+  std::string test = "3.14: Ciao";
 
   if (pattern.match(test))
     deallog << "OK" << std::endl;

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.