diff options
Diffstat (limited to 'include/cow_inline.hrl')
-rw-r--r-- | include/cow_inline.hrl | 176 |
1 files changed, 29 insertions, 147 deletions
diff --git a/include/cow_inline.hrl b/include/cow_inline.hrl index 758459e..458e011 100644 --- a/include/cow_inline.hrl +++ b/include/cow_inline.hrl @@ -15,95 +15,6 @@ -ifndef(COW_INLINE_HRL). -define(COW_INLINE_HRL, 1). -%% IS_ALPHA(Character) - --define(IS_ALPHA(C), - C =:= $a orelse C =:= $b orelse C =:= $c orelse C =:= $d orelse C =:= $e orelse - C =:= $f orelse C =:= $g orelse C =:= $h orelse C =:= $i orelse C =:= $j orelse - C =:= $k orelse C =:= $l orelse C =:= $m orelse C =:= $n orelse C =:= $o orelse - C =:= $p orelse C =:= $q orelse C =:= $r orelse C =:= $s orelse C =:= $t orelse - C =:= $u orelse C =:= $v orelse C =:= $w orelse C =:= $x orelse C =:= $y orelse - C =:= $z orelse - C =:= $A orelse C =:= $B orelse C =:= $C orelse C =:= $D orelse C =:= $E orelse - C =:= $F orelse C =:= $G orelse C =:= $H orelse C =:= $I orelse C =:= $J orelse - C =:= $K orelse C =:= $L orelse C =:= $M orelse C =:= $N orelse C =:= $O orelse - C =:= $P orelse C =:= $Q orelse C =:= $R orelse C =:= $S orelse C =:= $T orelse - C =:= $U orelse C =:= $V orelse C =:= $W orelse C =:= $X orelse C =:= $Y orelse - C =:= $Z -). - -%% IS_ALPHANUM(Character) - --define(IS_ALPHANUM(C), ?IS_ALPHA(C) orelse ?IS_DIGIT(C)). - -%% IS_CHAR(Character) - --define(IS_CHAR(C), C > 0, C < 128). - -%% IS_DIGIT(Character) - --define(IS_DIGIT(C), - C =:= $0 orelse C =:= $1 orelse C =:= $2 orelse C =:= $3 orelse C =:= $4 orelse - C =:= $5 orelse C =:= $6 orelse C =:= $7 orelse C =:= $8 orelse C =:= $9 -). - -%% IS_ETAGC(Character) - --define(IS_ETAGC(C), C =:= 16#21; C >= 16#23, C =/= 16#7f). - -%% IS_HEX(Character) - --define(IS_HEX(C), - ?IS_DIGIT(C) orelse - C =:= $a orelse C =:= $b orelse C =:= $c orelse - C =:= $d orelse C =:= $e orelse C =:= $f orelse - C =:= $A orelse C =:= $B orelse C =:= $C orelse - C =:= $D orelse C =:= $E orelse C =:= $F). - -%% IS_LHEX(Character) - --define(IS_LHEX(C), - ?IS_DIGIT(C) orelse - C =:= $a orelse C =:= $b orelse C =:= $c orelse - C =:= $d orelse C =:= $e orelse C =:= $f). - -%% IS_TOKEN(Character) - --define(IS_TOKEN(C), - ?IS_ALPHA(C) orelse ?IS_DIGIT(C) - orelse C =:= $! orelse C =:= $# orelse C =:= $$ orelse C =:= $% orelse C =:= $& - orelse C =:= $' orelse C =:= $* orelse C =:= $+ orelse C =:= $- orelse C =:= $. - orelse C =:= $^ orelse C =:= $_ orelse C =:= $` orelse C =:= $| orelse C =:= $~ -). - -%% IS_TOKEN68(Character) - --define(IS_TOKEN68(C), - ?IS_ALPHA(C) orelse ?IS_DIGIT(C) orelse - C =:= $- orelse C =:= $. orelse C =:= $_ orelse - C =:= $~ orelse C =:= $+ orelse C =:= $/). - -%% IS_URI_UNRESERVED(Character) - --define(IS_URI_UNRESERVED(C), - ?IS_ALPHA(C) orelse ?IS_DIGIT(C) orelse - C =:= $- orelse C =:= $. orelse C =:= $_ orelse C =:= $~). - -%% IS_URI_SUB_DELIMS(Character) - --define(IS_URI_SUB_DELIMS(C), - C =:= $! orelse C =:= $$ orelse C =:= $& orelse C =:= $' orelse - C =:= $( orelse C =:= $) orelse C =:= $* orelse C =:= $+ orelse - C =:= $, orelse C =:= $; orelse C =:= $=). - -%% IS_VCHAR(Character) - --define(IS_VCHAR(C), C =:= $\t; C > 31, C < 127). - -%% IS_VCHAR_OBS(Character) - --define(IS_VCHAR_OBS(C), C =:= $\t; C > 31, C =/= 127). - %% LC(Character) -define(LC(C), case C of @@ -136,12 +47,18 @@ _ -> C end). -%% INLINE_LOWERCASE(Function, Rest, Acc, ...) +%% LOWER(Bin) +%% +%% Lowercase the entire binary string in a binary comprehension. + +-define(LOWER(Bin), << << ?LC(C) >> || << C >> <= Bin >>). + +%% LOWERCASE(Function, Rest, Acc, ...) %% %% To be included at the end of a case block. %% Defined for up to 10 extra arguments. --define(INLINE_LOWERCASE(Function, Rest, Acc), +-define(LOWER(Function, Rest, Acc), case C of $A -> Function(Rest, << Acc/binary, $a >>); $B -> Function(Rest, << Acc/binary, $b >>); $C -> Function(Rest, << Acc/binary, $c >>); @@ -169,9 +86,9 @@ end). $Y -> Function(Rest, << Acc/binary, $y >>); $Z -> Function(Rest, << Acc/binary, $z >>); C -> Function(Rest, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, Acc), +-define(LOWER(Function, Rest, A0, Acc), case C of $A -> Function(Rest, A0, << Acc/binary, $a >>); $B -> Function(Rest, A0, << Acc/binary, $b >>); $C -> Function(Rest, A0, << Acc/binary, $c >>); @@ -199,9 +116,9 @@ end). $Y -> Function(Rest, A0, << Acc/binary, $y >>); $Z -> Function(Rest, A0, << Acc/binary, $z >>); C -> Function(Rest, A0, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, Acc), +-define(LOWER(Function, Rest, A0, A1, Acc), case C of $A -> Function(Rest, A0, A1, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, << Acc/binary, $c >>); @@ -229,9 +146,9 @@ end). $Y -> Function(Rest, A0, A1, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, Acc), case C of $A -> Function(Rest, A0, A1, A2, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, << Acc/binary, $c >>); @@ -259,9 +176,9 @@ end). $Y -> Function(Rest, A0, A1, A2, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $c >>); @@ -289,9 +206,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $c >>); @@ -319,9 +236,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, A5, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $c >>); @@ -349,9 +266,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, A5, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, A5, A6, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $c >>); @@ -379,9 +296,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $c >>); @@ -409,9 +326,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $c >>); @@ -439,9 +356,9 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, << Acc/binary, C >>) -). +end). --define(INLINE_LOWERCASE(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Acc), +-define(LOWER(Function, Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Acc), case C of $A -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $a >>); $B -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $b >>); $C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $c >>); @@ -469,41 +386,6 @@ end). $Y -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $y >>); $Z -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, $z >>); C -> Function(Rest, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, << Acc/binary, C >>) -). - -%% INLINE_LOWERCASE_BC(Bin) -%% -%% Lowercase the entire binary string in a binary comprehension. - --define(INLINE_LOWERCASE_BC(Bin), - << << case C of - $A -> $a; - $B -> $b; - $C -> $c; - $D -> $d; - $E -> $e; - $F -> $f; - $G -> $g; - $H -> $h; - $I -> $i; - $J -> $j; - $K -> $k; - $L -> $l; - $M -> $m; - $N -> $n; - $O -> $o; - $P -> $p; - $Q -> $q; - $R -> $r; - $S -> $s; - $T -> $t; - $U -> $u; - $V -> $v; - $W -> $w; - $X -> $x; - $Y -> $y; - $Z -> $z; - C -> C - end >> || << C >> <= Bin >>). +end). -endif. |