diff options
author | Yuval Kogman <nothingmuch@woobling.org> | 2008-08-09 16:01:15 +0300 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2009-01-02 09:52:55 +0100 |
commit | e46c382ee1a26c0abddc80ad1249dc544d229d4e (patch) | |
tree | d890a3e8023dbe3fbb3b35fe4f6b85efe8002a3f /lib/overload | |
parent | 50eca76146e11e9c375c0a5c02f5f2102f0911bc (diff) | |
download | perl-e46c382ee1a26c0abddc80ad1249dc544d229d4e.tar.gz |
'overloading' pragma
Diffstat (limited to 'lib/overload')
-rw-r--r-- | lib/overload/numbers.pm | 159 |
1 files changed, 159 insertions, 0 deletions
diff --git a/lib/overload/numbers.pm b/lib/overload/numbers.pm new file mode 100644 index 0000000000..b76875891a --- /dev/null +++ b/lib/overload/numbers.pm @@ -0,0 +1,159 @@ +# -*- buffer-read-only: t -*- +# +# lib/overload/numbers.pm +# +# Copyright (C) 2008 by Larry Wall and others +# +# You may distribute under the terms of either the GNU General Public +# License or the Artistic License, as specified in the README file. +# +# !!!!!!! DO NOT EDIT THIS FILE !!!!!!! +# This file is built by overload.pl +# + +package overload::numbers; + +our @names = qw# + () + (${} + (@{} + (%{} + (*{} + (&{} + (++ + (-- + (bool + (0+ + ("" + (! + (= + (abs + (neg + (<> + (int + (< + (<= + (> + (>= + (== + (!= + (lt + (le + (gt + (ge + (eq + (ne + (nomethod + (+ + (+= + (- + (-= + (* + (*= + (/ + (/= + (% + (%= + (** + (**= + (<< + (<<= + (>> + (>>= + (& + (&= + (| + (|= + (^ + (^= + (<=> + (cmp + (~ + (atan2 + (cos + (sin + (exp + (log + (sqrt + (x + (x= + (. + (.= + (~~ + DESTROY +#; + +our @enums = qw# + fallback + to_sv + to_av + to_hv + to_gv + to_cv + inc + dec + bool_ + numer + string + not + copy + abs + neg + iter + int + lt + le + gt + ge + eq + ne + slt + sle + sgt + sge + seq + sne + nomethod + add + add_ass + subtr + subtr_ass + mult + mult_ass + div + div_ass + modulo + modulo_ass + pow + pow_ass + lshift + lshift_ass + rshift + rshift_ass + band + band_ass + bor + bor_ass + bxor + bxor_ass + ncmp + scmp + compl + atan2 + cos + sin + exp + log + sqrt + repeat + repeat_ass + concat + concat_ass + smart + DESTROY +#; + +{ my $i; our %names = map { $_ => ++$i } @names } + +{ my $i; our %enums = map { $_ => ++$i } @enums } + |