]> git.tdb.fi Git - libs/core.git/blobdiff - source/regmatch.h
Move files around to prepare for assimilation into core
[libs/core.git] / source / regmatch.h
diff --git a/source/regmatch.h b/source/regmatch.h
deleted file mode 100644 (file)
index 19cac11..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/* $Id$
-
-This file is part of libmspstrings
-Copyright © 2007 Mikko Rasa
-Distributed under the LGPL
-*/
-
-#ifndef MSP_STRINGS_REGMATCH_H_
-#define MSP_STRINGS_REGMATCH_H_
-
-#include <string>
-#include <vector>
-
-namespace Msp {
-
-/**
-This class stores the result of a Regex being matched against a string.  If the
-match was successful, the RegMatch object evaluates to true.
-
-A RegMatch representing a successful match has one or more groups, indicating
-matching parts of the string.  The first group (with index 0) indicates the
-part matched by the whole regex.  Further groups, if present, indicate parts
-matched by subregexes.  These are ordered from left to right, by the opening
-parenthesis of the subregex.
-*/
-class RegMatch
-{
-public:
-       /**
-       A single subregex of the match.
-       */
-       struct Group
-       {
-               bool match;       //< Whether or not this group matched
-               unsigned begin;   //< First offset of the match
-               unsigned end;     //< One-past-last offset
-               unsigned 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; }
-       };
-
-       typedef std::vector<Group> GroupArray;
-
-private:
-       GroupArray groups;
-
-public:
-       /** Constructs a RegMatch representing a non-match. */
-       RegMatch() { }
-
-       /** 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
-       by the Regex class. */
-       RegMatch(const std::string &, const std::vector<Group> &);
-
-       /** Returns a reference to a single group in the match. */
-       const Group &group(unsigned) const;
-
-       /** Returns true if the RegMatch object represents a non-match. */
-       bool empty() const { return groups.empty(); }
-
-       /** Returns the number of groups in this match. */
-       unsigned size() const { return groups.size(); }
-
-       /** Returns the begin offset of the whole match. */
-       unsigned begin() const { return groups.empty() ? 0 : groups[0].begin; }
-
-       /** Returns the end offset of the whole match. */
-       unsigned end() const { return groups.empty() ? 0 : groups[0].end; }
-
-       /** Shorthand for the group() function. */
-       const Group &operator[](unsigned i) const { return group(i); }
-
-       operator bool() const { return !empty(); }
-};
-
-} // namespace Msp
-
-#endif