diff options
author | Karl Williamson <public@khwilliamson.com> | 2011-05-29 21:35:20 -0600 |
---|---|---|
committer | Karl Williamson <public@khwilliamson.com> | 2011-07-03 14:05:47 -0600 |
commit | 25e94a65210bfb047577ed6d937202a078380533 (patch) | |
tree | 921227e58c5a87f3ec03aa672989172955563fbf /proto.h | |
parent | 768318b83da36cf3ab22b9ad4cb19c47630a8ed6 (diff) | |
download | perl-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.h | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -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 \ |