summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-05-28 18:38:45 -0600
committerKarl Williamson <public@khwilliamson.com>2011-07-03 14:05:46 -0600
commitf3dc70d12790e82ff4a6e947fbd697a2152d0040 (patch)
treec08ad9d92c4bf11a7e61e15c20fb25f13fc50586 /proto.h
parent97b14ce75a908d3b10dc3ba9714c4514d32a0b43 (diff)
downloadperl-f3dc70d12790e82ff4a6e947fbd697a2152d0040.tar.gz
Add iterator for inversion lists
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/proto.h b/proto.h
index fdfc82b0c8..320edfd0b7 100644
--- a/proto.h
+++ b/proto.h
@@ -6041,6 +6041,12 @@ STATIC void S_cl_or(const struct RExC_state_t *pRExC_state, struct regnode_charc
#define PERL_ARGS_ASSERT_CL_OR \
assert(pRExC_state); assert(cl); assert(or_with)
+PERL_STATIC_INLINE UV* S_get_invlist_iter_addr(pTHX_ SV* invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR \
+ assert(invlist)
+
PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);
@@ -6059,6 +6065,19 @@ STATIC void S_invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i)
#define PERL_ARGS_ASSERT_INVLIST_INTERSECTION \
assert(a); assert(b); assert(i)
+PERL_STATIC_INLINE void S_invlist_iterinit(pTHX_ SV* invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \
+ assert(invlist)
+
+STATIC bool S_invlist_iternext(pTHX_ SV* invlist, UV* start, UV* end)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT \
+ assert(invlist); assert(start); assert(end)
+
PERL_STATIC_INLINE UV S_invlist_len(pTHX_ SV* const invlist)
__attribute__warn_unused_result__
__attribute__nonnull__(pTHX_1);