This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlxs.pod; rpc is considered obsolete
[perl5.git] / overload.inc
CommitLineData
8261f8eb
NC
1/* -*- buffer-read-only: t -*-
2 *
6ffcffbd 3 * overload.inc
8261f8eb 4 *
c4ac9b44
DM
5 * Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007, 2011
6 * by Larry Wall and others
8261f8eb
NC
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 *
78102347
NC
11 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
12 * This file is built by regen/overload.pl.
13 * Any changes made here will be lost!
8261f8eb
NC
14 */
15
16#define AMG_id2name(id) (PL_AMG_names[id]+1)
82af6593 17#define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
8261f8eb 18
2e1c5ef0 19static const U8 PL_AMG_namelens[NofAMmeth] = {
d279ab82
NC
20 2,
21 4,
22 4,
23 4,
24 4,
25 4,
26 3,
27 3,
28 5,
29 3,
30 3,
31 2,
32 2,
33 4,
34 4,
35 3,
36 4,
37 2,
38 3,
39 2,
40 3,
41 3,
42 3,
43 3,
44 3,
45 3,
46 3,
47 3,
48 3,
49 9,
50 2,
51 3,
52 2,
53 3,
54 2,
55 3,
56 2,
57 3,
58 2,
59 3,
60 3,
61 4,
62 3,
63 4,
64 3,
65 4,
66 2,
67 3,
7dd64841
FC
68 3,
69 4,
d279ab82
NC
70 2,
71 3,
7dd64841
FC
72 3,
73 4,
d279ab82
NC
74 2,
75 3,
7dd64841
FC
76 3,
77 4,
d279ab82
NC
78 4,
79 4,
80 2,
7dd64841 81 3,
d279ab82
NC
82 6,
83 4,
84 4,
85 4,
86 4,
87 5,
88 2,
89 3,
90 2,
91 3,
92 3,
9846fe22 93 3,
8c34e50d 94 3
d279ab82
NC
95};
96
2e1c5ef0 97static const char * const PL_AMG_names[NofAMmeth] = {
8261f8eb
NC
98 /* Names kept in the symbol table. fallback => "()", the rest has
99 "(" prepended. The only other place in perl which knows about
100 this convention is AMG_id2name (used for debugging output and
101 'nomethod' only), the only other place which has it hardwired is
102 overload.pm. */
c4ac9b44
DM
103 "()", /* fallback */
104 "(${}", /* to_sv */
105 "(@{}", /* to_av */
106 "(%{}", /* to_hv */
107 "(*{}", /* to_gv */
108 "(&{}", /* to_cv */
109 "(++", /* inc */
110 "(--", /* dec */
111 "(bool", /* bool_ */
112 "(0+", /* numer */
113 "(\"\"", /* string */
114 "(!", /* not */
115 "(=", /* copy */
116 "(abs", /* abs */
117 "(neg", /* neg */
118 "(<>", /* iter */
119 "(int", /* int */
120 "(<", /* lt */
121 "(<=", /* le */
122 "(>", /* gt */
123 "(>=", /* ge */
124 "(==", /* eq */
125 "(!=", /* ne */
126 "(lt", /* slt */
127 "(le", /* sle */
128 "(gt", /* sgt */
129 "(ge", /* sge */
130 "(eq", /* seq */
131 "(ne", /* sne */
132 "(nomethod", /* nomethod */
133 "(+", /* add */
134 "(+=", /* add_ass */
135 "(-", /* subtr */
136 "(-=", /* subtr_ass */
137 "(*", /* mult */
138 "(*=", /* mult_ass */
139 "(/", /* div */
140 "(/=", /* div_ass */
141 "(%", /* modulo */
142 "(%=", /* modulo_ass */
143 "(**", /* pow */
144 "(**=", /* pow_ass */
145 "(<<", /* lshift */
146 "(<<=", /* lshift_ass */
147 "(>>", /* rshift */
148 "(>>=", /* rshift_ass */
149 "(&", /* band */
150 "(&=", /* band_ass */
7dd64841
FC
151 "(&.", /* sband */
152 "(&.=", /* sband_ass */
c4ac9b44
DM
153 "(|", /* bor */
154 "(|=", /* bor_ass */
7dd64841
FC
155 "(|.", /* sbor */
156 "(|.=", /* sbor_ass */
c4ac9b44
DM
157 "(^", /* bxor */
158 "(^=", /* bxor_ass */
7dd64841
FC
159 "(^.", /* sbxor */
160 "(^.=", /* sbxor_ass */
c4ac9b44
DM
161 "(<=>", /* ncmp */
162 "(cmp", /* scmp */
163 "(~", /* compl */
7dd64841 164 "(~.", /* scompl */
c4ac9b44
DM
165 "(atan2", /* atan2 */
166 "(cos", /* cos */
167 "(sin", /* sin */
168 "(exp", /* exp */
169 "(log", /* log */
170 "(sqrt", /* sqrt */
171 "(x", /* repeat */
172 "(x=", /* repeat_ass */
173 "(.", /* concat */
174 "(.=", /* concat_ass */
175 "(~~", /* smart */
176 "(-X", /* ftest */
8c34e50d 177 "(qr"
8261f8eb 178};
ce716c52
NC
179
180/* ex: set ro: */