RX: Inherited RX fixes from clog

This commit is contained in:
Paul Beckingham 2015-10-10 20:37:15 -04:00
parent df7a7e6dd2
commit 1590ab6564
2 changed files with 36 additions and 4 deletions

View file

@ -29,6 +29,14 @@
#include <string.h> #include <string.h>
#include <RX.h> #include <RX.h>
////////////////////////////////////////////////////////////////////////////////
RX::RX ()
: _compiled (false)
, _pattern ("")
, _case_sensitive (false)
{
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
RX::RX ( RX::RX (
const std::string& pattern, const std::string& pattern,
@ -40,6 +48,14 @@ RX::RX (
compile (); compile ();
} }
////////////////////////////////////////////////////////////////////////////////
RX::RX (const RX& other)
{
_compiled = false;
_pattern = other._pattern;
_case_sensitive = other._case_sensitive;
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
RX::~RX () RX::~RX ()
{ {
@ -47,6 +63,19 @@ RX::~RX ()
regfree (&_regex); regfree (&_regex);
} }
////////////////////////////////////////////////////////////////////////////////
RX& RX::operator= (const RX& other)
{
if (this != &other)
{
_compiled = false;
_pattern = other._pattern;
_case_sensitive = other._case_sensitive;
}
return *this;
}
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
void RX::compile () void RX::compile ()
{ {

View file

@ -34,8 +34,11 @@
class RX class RX
{ {
public: public:
RX ();
RX (const std::string&, bool caseSensitive = true); RX (const std::string&, bool caseSensitive = true);
RX (const RX&);
~RX (); ~RX ();
RX& operator= (const RX&);
bool match (const std::string&); bool match (const std::string&);
bool match (std::vector<std::string>&, const std::string&); bool match (std::vector<std::string>&, const std::string&);