This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Keep verbatim pod in various dist/* pods within 79 cols
[perl5.git] / overload.h
1 /* -*- buffer-read-only: t -*-
2  *
3  *    overload.h
4  *
5  *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
6  *    by Larry Wall and others
7  *
8  *    You may distribute under the terms of either the GNU General Public
9  *    License or the Artistic License, as specified in the README file.
10  *
11  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
12  * This file is built by regen/overload.pl.
13  * Any changes made here will be lost!
14  */
15
16 enum {
17     fallback_amg,       /* 0x00 fallback */
18     to_sv_amg,          /* 0x01 ${}      */
19     to_av_amg,          /* 0x02 @{}      */
20     to_hv_amg,          /* 0x03 %{}      */
21     to_gv_amg,          /* 0x04 *{}      */
22     to_cv_amg,          /* 0x05 &{}      */
23     inc_amg,            /* 0x06 ++       */
24     dec_amg,            /* 0x07 --       */
25     bool__amg,          /* 0x08 bool     */
26     numer_amg,          /* 0x09 0+       */
27     string_amg,         /* 0x0a ""       */
28     not_amg,            /* 0x0b !        */
29     copy_amg,           /* 0x0c =        */
30     abs_amg,            /* 0x0d abs      */
31     neg_amg,            /* 0x0e neg      */
32     iter_amg,           /* 0x0f <>       */
33     int_amg,            /* 0x10 int      */
34     lt_amg,             /* 0x11 <        */
35     le_amg,             /* 0x12 <=       */
36     gt_amg,             /* 0x13 >        */
37     ge_amg,             /* 0x14 >=       */
38     eq_amg,             /* 0x15 ==       */
39     ne_amg,             /* 0x16 !=       */
40     slt_amg,            /* 0x17 lt       */
41     sle_amg,            /* 0x18 le       */
42     sgt_amg,            /* 0x19 gt       */
43     sge_amg,            /* 0x1a ge       */
44     seq_amg,            /* 0x1b eq       */
45     sne_amg,            /* 0x1c ne       */
46     nomethod_amg,       /* 0x1d nomethod */
47     add_amg,            /* 0x1e +        */
48     add_ass_amg,        /* 0x1f +=       */
49     subtr_amg,          /* 0x20 -        */
50     subtr_ass_amg,      /* 0x21 -=       */
51     mult_amg,           /* 0x22 *        */
52     mult_ass_amg,       /* 0x23 *=       */
53     div_amg,            /* 0x24 /        */
54     div_ass_amg,        /* 0x25 /=       */
55     modulo_amg,         /* 0x26 %        */
56     modulo_ass_amg,     /* 0x27 %=       */
57     pow_amg,            /* 0x28 **       */
58     pow_ass_amg,        /* 0x29 **=      */
59     lshift_amg,         /* 0x2a <<       */
60     lshift_ass_amg,     /* 0x2b <<=      */
61     rshift_amg,         /* 0x2c >>       */
62     rshift_ass_amg,     /* 0x2d >>=      */
63     band_amg,           /* 0x2e &        */
64     band_ass_amg,       /* 0x2f &=       */
65     bor_amg,            /* 0x30 |        */
66     bor_ass_amg,        /* 0x31 |=       */
67     bxor_amg,           /* 0x32 ^        */
68     bxor_ass_amg,       /* 0x33 ^=       */
69     ncmp_amg,           /* 0x34 <=>      */
70     scmp_amg,           /* 0x35 cmp      */
71     compl_amg,          /* 0x36 ~        */
72     atan2_amg,          /* 0x37 atan2    */
73     cos_amg,            /* 0x38 cos      */
74     sin_amg,            /* 0x39 sin      */
75     exp_amg,            /* 0x3a exp      */
76     log_amg,            /* 0x3b log      */
77     sqrt_amg,           /* 0x3c sqrt     */
78     repeat_amg,         /* 0x3d x        */
79     repeat_ass_amg,     /* 0x3e x=       */
80     concat_amg,         /* 0x3f .        */
81     concat_ass_amg,     /* 0x40 .=       */
82     smart_amg,          /* 0x41 ~~       */
83     ftest_amg,          /* 0x42 -X       */
84     regexp_amg,         /* 0x43 qr       */
85     DESTROY_amg,        /* 0x44 DESTROY  */
86     max_amg_code
87     /* Do not leave a trailing comma here.  C9X allows it, C89 doesn't. */
88 };
89
90 #define NofAMmeth max_amg_code
91
92 /* ex: set ro: */