From 107d87dc983f34e4ff23a4db188baa650ac51f98 Mon Sep 17 00:00:00 2001 From: Pixel Date: Tue, 22 Jan 2013 00:32:13 -0800 Subject: Cleaning up some cruft. --- includes/BRegex.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'includes/BRegex.h') diff --git a/includes/BRegex.h b/includes/BRegex.h index 4a2f207..9b030bc 100644 --- a/includes/BRegex.h +++ b/includes/BRegex.h @@ -11,12 +11,18 @@ namespace Balau { class Regex { public: typedef std::vector Captures; + Regex(const String & regex, bool icase = false) : Regex(regex.to_charp(), icase) { } + Regex(const Regex & regex) : Regex(regex.m_regexStr, regex.m_icase) { } + Regex(Regex && regex) { regex.m_moved = true; m_regex = regex.m_regex; } Regex(const char * regex, bool icase = false) throw (GeneralException); - ~Regex(); + ~Regex() { if (!m_moved) regfree(&m_regex); } Captures match(const char * str) const throw (GeneralException); private: + Regex & operator=(const Regex &) = delete; String getError(int err) const; + String m_regexStr; regex_t m_regex; + bool m_icase, m_moved = false; }; class Regexes { -- cgit v1.2.3