1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
//////////////////////////////////////////////////////////////////////////
//
// pgScript - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
//////////////////////////////////////////////////////////////////////////
#ifndef PGSREGEXGEN_H_
#define PGSREGEXGEN_H_
#include "pgscript/pgScript.h"
#include "pgscript/generators/pgsObjectGen.h"
#include "pgscript/generators/pgsStringGen.h"
WX_DECLARE_OBJARRAY(pgsStringGen, pgsVectorStringGen);
class pgsRegexGen : public pgsObjectGen
{
private:
class pgsRegex
{
private:
pgsVectorChar m_characters;
long m_first;
long m_second;
public:
pgsRegex(const pgsVectorChar &characters, const long &first,
const long &second);
pgsRegex();
~pgsRegex();
pgsRegex *clone();
/* pgsRegex & operator =(const pgsRegex & that); */
/* pgsRegex(const pgsRegex & that); */
void set_characters(const pgsVectorChar &characters);
void add_character(const wxChar &c);
void set_first(const long &first);
void set_second(const long &second);
const pgsVectorChar &get_characters() const;
const long &get_first() const;
const long &get_second() const;
};
private:
wxString m_regex;
bool m_valid;
pgsVectorStringGen m_string_gens;
public:
pgsRegexGen(const wxString ®ex, const long &seed = wxDateTime::GetTimeNow());
virtual wxString random();
virtual ~pgsRegexGen();
virtual pgsRegexGen *clone();
/* pgsRegexGen & operator =(const pgsRegexGen & that); */
/* pgsRegexGen(const pgsRegexGen & that); */
const bool &is_valid() const;
const pgsVectorStringGen &string_gens() const;
size_t string_gens_size() const;
private:
static wxString espace_xml_char(const wxChar &c);
static wxString char_range(const wxChar &b, const wxChar &c);
};
#endif /*PGSREGEXGEN_H_*/
|