summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-05-29 21:35:20 -0600
committerKarl Williamson <public@khwilliamson.com>2011-07-03 14:05:47 -0600
commit25e94a65210bfb047577ed6d937202a078380533 (patch)
tree921227e58c5a87f3ec03aa672989172955563fbf /proto.h
parent768318b83da36cf3ab22b9ad4cb19c47630a8ed6 (diff)
downloadperl-25e94a65210bfb047577ed6d937202a078380533.tar.gz
Add 3 methods for inversion lists
This adds inversion, cloning, and set subtraction
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/proto.h b/proto.h
index bfb0f83911..be4dfb4029 100644
--- a/proto.h
+++ b/proto.h
@@ -6071,6 +6071,12 @@ PERL_STATIC_INLINE UV* S_invlist_array(pTHX_ SV* const invlist)
#define PERL_ARGS_ASSERT_INVLIST_ARRAY \
assert(invlist)
+PERL_STATIC_INLINE SV* S_invlist_clone(pTHX_ SV* const invlist)
+ __attribute__warn_unused_result__
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_CLONE \
+ assert(invlist)
+
STATIC void S_invlist_extend(pTHX_ SV* const invlist, const UV len)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_EXTEND \
@@ -6083,6 +6089,11 @@ 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_invert(pTHX_ SV* const invlist)
+ __attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_INVERT \
+ assert(invlist)
+
PERL_STATIC_INLINE void S_invlist_iterinit(pTHX_ SV* invlist)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_ITERINIT \
@@ -6113,6 +6124,13 @@ PERL_STATIC_INLINE void S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
#define PERL_ARGS_ASSERT_INVLIST_SET_LEN \
assert(invlist)
+STATIC void S_invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result)
+ __attribute__nonnull__(pTHX_1)
+ __attribute__nonnull__(pTHX_2)
+ __attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INVLIST_SUBTRACT \
+ assert(a); assert(b); assert(result)
+
PERL_STATIC_INLINE void S_invlist_trim(pTHX_ SV* const invlist)
__attribute__nonnull__(pTHX_1);
#define PERL_ARGS_ASSERT_INVLIST_TRIM \