]> git.tdb.fi Git - libs/core.git/blobdiff - source/strings/regmatch.h
Mark boolean conversion operators as explicit
[libs/core.git] / source / strings / regmatch.h
index c5116cdc5408ec7238c65f6a250feb9bc23f8308..6af309ea72185ea91e43706c1ef38538ced51976 100644 (file)
@@ -26,24 +26,21 @@ public:
        {
                typedef std::string::size_type size_type;
 
-               bool match;        //< Whether or not this group matched
-               size_type begin;   //< First offset of the match
-               size_type end;     //< One-past-last offset
-               size_type length;  //< Length of the match (end-begin)
-               std::string str;   //< The part of the string that matched
-
-               Group(): match(false) { }
-               operator bool() const { return match; }
-       };
+               bool match = false;  //< Whether or not this group matched
+               size_type begin;     //< First offset of the match
+               size_type end;       //< One-past-last offset
+               size_type length;    //< Length of the match (end-begin)
+               std::string str;     //< The part of the string that matched
 
-       typedef std::vector<Group> GroupArray;
+               explicit operator bool() const { return match; }
+       };
 
 private:
-       GroupArray groups;
+       std::vector<Group> groups;
 
 public:
        /** Constructs a RegMatch representing a non-match. */
-       RegMatch() { }
+       RegMatch() = default;
 
        /** Constructs a new RegMatch from a string and groups.  The length and str
        members of each group are computed and need not be set.  Intended to be used
@@ -68,7 +65,7 @@ public:
        /** Shorthand for the group() function. */
        const Group &operator[](unsigned i) const { return group(i); }
 
-       operator bool() const { return !empty(); }
+       explicit operator bool() const { return !empty(); }
 };
 
 } // namespace Msp