forked from swiftlang/swift-corelibs-foundation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCFRegularExpression.h
68 lines (55 loc) · 3.7 KB
/
CFRegularExpression.h
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
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See http://swift.org/LICENSE.txt for license information
// See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
/* CFRegularExpression.h
Copyright (c) 2015 Apple Inc. and the Swift project authors
*/
#if !defined(__COREFOUNDATION_CFREGULAREXPRESSION__)
#define __COREFOUNDATION_CFREGULAREXPRESSION__ 1
#include <CoreFoundation/CFBase.h>
#include <CoreFoundation/CFString.h>
#include <CoreFoundation/CFError.h>
CF_ASSUME_NONNULL_BEGIN
CF_IMPLICIT_BRIDGING_ENABLED
typedef CF_OPTIONS(CFOptionFlags, _CFRegularExpressionOptions) {
_kCFRegularExpressionCaseInsensitive = 1 << 0,
_kCFRegularExpressionAllowCommentsAndWhitespace = 1 << 1,
_kCFRegularExpressionIgnoreMetacharacters = 1 << 2,
_kCFRegularExpressionDotMatchesLineSeparators = 1 << 3,
_kCFRegularExpressionAnchorsMatchLines = 1 << 4,
_kCFRegularExpressionUseUnixLineSeparators = 1 << 5,
_kCFRegularExpressionUseUnicodeWordBoundaries = 1 << 6
};
typedef CF_OPTIONS(CFOptionFlags, _CFRegularExpressionMatchingOptions) {
_kCFRegularExpressionMatchingReportProgress = 1 << 0,
_kCFRegularExpressionMatchingReportCompletion = 1 << 1,
_kCFRegularExpressionMatchingAnchored = 1 << 2,
_kCFRegularExpressionMatchingWithTransparentBounds = 1 << 3,
_kCFRegularExpressionMatchingWithoutAnchoringBounds = 1 << 4,
_kCFRegularExpressionMatchingOmitResult = 1 << 13
};
typedef CF_OPTIONS(CFOptionFlags, _CFRegularExpressionMatchingFlags) {
_kCFRegularExpressionMatchingProgress = 1 << 0, /* Set when the block is called to report progress during a long-running match operation. */
_kCFRegularExpressionMatchingCompleted = 1 << 1, /* Set when the block is called after completion of any matching. */
_kCFRegularExpressionMatchingHitEnd = 1 << 2, /* Set when the current match operation reached the end of the search range. */
_kCFRegularExpressionMatchingRequiredEnd = 1 << 3, /* Set when the current match depended on the location of the end of the search range. */
_kCFRegularExpressionMatchingInternalError = 1 << 4 /* Set when matching failed due to an internal error. */
};
typedef const struct CF_BRIDGED_TYPE(_NSCFRegex) ___CFRegularExpression * _CFRegularExpressionRef;
typedef void (*_CFRegularExpressionMatch)(void *_Nullable context, CFRange * _Nullable ranges, CFIndex count, _CFRegularExpressionMatchingFlags flags, Boolean *stop);
CFStringRef _CFRegularExpressionCreateEscapedPattern(CFStringRef pattern);
_CFRegularExpressionRef _Nullable _CFRegularExpressionCreate(CFAllocatorRef allocator, CFStringRef pattern, _CFRegularExpressionOptions options, CFErrorRef *errorPtr);
void _CFRegularExpressionDestroy(_CFRegularExpressionRef regex);
CFIndex _CFRegularExpressionGetNumberOfCaptureGroups(_CFRegularExpressionRef regex);
CFIndex _CFRegularExpressionGetCaptureGroupNumberWithName(_CFRegularExpressionRef regex, CFStringRef groupName);
void _CFRegularExpressionEnumerateMatchesInString(_CFRegularExpressionRef regexObj, CFStringRef string, _CFRegularExpressionMatchingOptions options, CFRange range, void *_Nullable context, _CFRegularExpressionMatch match);
CFStringRef _CFRegularExpressionGetPattern(_CFRegularExpressionRef regex);
_CFRegularExpressionOptions _CFRegularExpressionGetOptions(_CFRegularExpressionRef regex);
CF_IMPLICIT_BRIDGING_DISABLED
CF_ASSUME_NONNULL_END
#endif /* __COREFOUNDATION_CFREGULAREXPRESSION__ */