Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00031
00032 #pragma once
00033
00034 #include "../Core/System/sharedptr.h"
00035 #include "api_regexp.h"
00036
00037 class CL_RegExpMatch_Impl;
00038
00042 class CL_API_REGEXP CL_RegExpMatch
00043 {
00046
00047 public:
00048 CL_RegExpMatch();
00049
00050 ~CL_RegExpMatch();
00051
00055
00056 public:
00057 const int *get_vector() const;
00058
00062 int *get_vector();
00063
00067 int get_vector_size() const;
00068
00075 CL_StringRef8 get_capture(const char *subject, int capture) const;
00076
00083 CL_StringRef8 get_capture(const CL_StringRef8 &subject, int capture) const;
00084
00090 int get_capture_pos(int capture) const;
00091
00097 int get_capture_length(int capture) const;
00098
00104 int get_capture_end(int capture) const;
00105
00109 int get_captures_count() const;
00110
00114 bool is_partial() const;
00115
00119 bool is_match() const;
00120
00124
00125 public:
00126 CL_RegExpMatch &operator =(const CL_RegExpMatch &other);
00127
00131 void set_vector_size(int size);
00132
00136 void set_captures_count(int count);
00137
00141 void set_partial_match(bool partial);
00142
00146
00147 private:
00148 CL_SharedPtr<CL_RegExpMatch_Impl> impl;
00150 };
00151