libraries/spcre/inc/tregexoptions.h
changeset 0 7f656887cf89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libraries/spcre/inc/tregexoptions.h	Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,113 @@
+// tregexoptions.h
+//
+// Copyright (c) 2005 - 2006, Google Inc.
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+//
+//     * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+//     * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+//     * Neither the name of Google Inc. nor the names of its
+// contributors may be used to endorse or promote products derived from
+// this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+// Author: Sanjay Ghemawat
+//
+// Heavily refactored for Symbian OS by Accenture.
+
+#ifndef TREGEXOPTIONS_H_
+#define TREGEXOPTIONS_H_
+
+#include <e32base.h>
+
+enum TRegExOptionFlags
+	{
+	EPcreCaseless 			= 0x00000001,
+	EPcreMultiline 			= 0x00000002,
+	EPcreDotAll 			= 0x00000004,
+	EPcreExtended 			= 0x00000008,
+	EPcreAnchored 			= 0x00000010,
+	EPcreDollarEndOnly 		= 0x00000020,
+	EPcreExtra 				= 0x00000040,
+	EPcreNotBol 			= 0x00000080,
+	EPcreNotEol 			= 0x00000100,
+	EPcreUngreedy 			= 0x00000200,
+	EPcreNotEmpty 			= 0x00000400,
+	EPcreUtf8 				= 0x00000800,
+	EPcreNoAutoCapture		= 0x00001000,
+	EPcreNoUtf8Check 		= 0x00002000,
+	EPcreAutoCallout 		= 0x00004000,
+	EPcrePartial 			= 0x00008000,
+	EPcreDfaShortest 		= 0x00010000,
+	EPcreDfaRestart 		= 0x00020000,
+	EPcreFirstline 			= 0x00040000,
+	EPcreDupnames 			= 0x00080000,
+	EPcreNewlineCr 			= 0x00100000,
+	EPcreNewlineLf 			= 0x00200000,
+	EPcreNewlineCrLf 		= 0x00300000,
+	EPcreNewlineAny			= 0x00400000,
+	EPcreNewlineAnyCrLf 	= 0x00500000,
+	EPcreBsrAnyCrLf 		= 0x00800000,
+	EPcreBsrUnicode 		= 0x01000000,
+	EPcreJavascriptCompat 	= 0x02000000
+	};
+
+class TRegExOptions
+	{
+public:
+	IMPORT_C TRegExOptions();
+	IMPORT_C TRegExOptions(TUint aOptionFlags);
+	
+	// Getters / Setters
+	inline TInt MatchLimit() const;
+	inline TRegExOptions SetMatchLimit(TInt aLimit);
+	inline TInt MatchLimitRecursion() const;
+	inline TRegExOptions SetMatchLimitRecursion(TInt aLimit);
+	inline TInt AllOptions() const;
+	inline TRegExOptions SetAllOptions(TInt aOptions);
+	
+	inline TBool Caseless() const;
+	inline TRegExOptions SetCaseless(TBool aCaseLess);
+	inline TBool Multiline() const;
+	inline TRegExOptions SetMultiline(TBool aMultiline);
+	inline TBool DotAll() const;
+	inline TRegExOptions SetDotAll(TBool aDotAll);
+	inline TBool Extended() const;
+	inline TRegExOptions SetExtended(TBool aExtended);
+	inline TBool DollarEndOnly() const;
+	inline TRegExOptions SetDollarEndOnly(TBool aDollarEndOnly);
+	inline TBool Extra() const;
+	inline TRegExOptions SetExtra(TBool aSetExtra);
+	inline TBool Ungreedy() const;
+	inline TRegExOptions SetUngreedy(TBool aUngreedy);
+	inline TBool Utf8() const;
+	inline TRegExOptions SetUtf8(TBool aUtf8);
+	inline TBool NoAutoCapture() const;
+	inline TRegExOptions SetNoAutoCapture(TBool aAutoCapture);
+	
+private:
+	  TInt iMatchLimit;
+	  TInt iMatchLimitRecursion;
+	  TUint iAllOptions;
+	};
+
+#include "tregexoptions.inl"
+#endif /* TREGEXOPTIONS_H_ */