$41 GRAYBYTE WORDPRESS FILE MANAGER $43

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

/opt/alt/ruby32/include/ruby/internal/intern/

HOME
Current File : /opt/alt/ruby32/include/ruby/internal/intern//enum.h
#ifndef RBIMPL_INTERN_ENUM_H                         /*-*-C++-*-vi:se ft=cpp:*/
#define RBIMPL_INTERN_ENUM_H
/**
 * @file
 * @author     Ruby developers <[email protected]>
 * @copyright  This  file  is   a  part  of  the   programming  language  Ruby.
 *             Permission  is hereby  granted,  to  either redistribute  and/or
 *             modify this file, provided that  the conditions mentioned in the
 *             file COPYING are met.  Consult the file for details.
 * @warning    Symbols   prefixed  with   either  `RBIMPL`   or  `rbimpl`   are
 *             implementation details.   Don't take  them as canon.  They could
 *             rapidly appear then vanish.  The name (path) of this header file
 *             is also an  implementation detail.  Do not expect  it to persist
 *             at the place it is now.  Developers are free to move it anywhere
 *             anytime at will.
 * @note       To  ruby-core:  remember  that   this  header  can  be  possibly
 *             recursively included  from extension  libraries written  in C++.
 *             Do not  expect for  instance `__VA_ARGS__` is  always available.
 *             We assume C99  for ruby itself but we don't  assume languages of
 *             extension libraries.  They could be written in C++98.
 * @brief      Public APIs related to ::rb_mEnumerable.
 */
#include "ruby/internal/dllexport.h"
#include "ruby/internal/value.h"

RBIMPL_SYMBOL_EXPORT_BEGIN()

/* enum.c */

/**
 * Basically identical to rb_ary_new_form_values(), except it returns something
 * different when `argc` < 2.
 *
 * @param[in]  argc       Number of objects of `argv`.
 * @param[in]  argv       Arbitrary objects.
 * @retval     RUBY_Qnil  `argc` is zero.
 * @retval     argv[0]    `argc` is one.
 * @retval     otherwise  Otherwise.
 *
 * @internal
 *
 * What  is this  business?   Well,  this function  is  about `yield`'s  taking
 * multiple values.  Consider following user-defined class:
 *
 * ```ruby
 * class Foo
 *   include Enumerable
 *
 *   def each
 *     yield :q, :w, :e, :r
 *   end
 * end
 *
 * Foo.new.each_with_object([]) do |i, j|
 *   j << i                      # ^^^ <- What to expect for `i`?
 * end
 * ```
 *
 * Here, `Foo#each_with_object` is in fact `Enumerable#each_with_object`, which
 * doesn't know what would be yielded.  Yet, it has to take a block of arity 2.
 * This function  is used here, to  "pack" arbitrary number of  yielded objects
 * into one.
 *
 * If people want to implement their own `Enumerable#each_with_object` this API
 * can be handy.  Though @shyouhei suspects it is relatively rare for 3rd party
 * extension libraries  to have  such things.  Also  `Enumerable#each_entry` is
 * basically this function exposed as a Ruby method.
 */
VALUE rb_enum_values_pack(int argc, const VALUE *argv);

RBIMPL_SYMBOL_EXPORT_END()

#endif /* RBIMPL_INTERN_ENUM_H */


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
1 Jan 1970 12.00 AM
root / root
0
select
--
31 Mar 2026 8.34 AM
root / linksafe
0755
array.h
25.151 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
bignum.h
30.043 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
class.h
15.675 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
compar.h
2.513 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
complex.h
8.209 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
cont.h
11.427 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
dir.h
1.896 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
enum.h
2.823 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
enumerator.h
12.131 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
error.h
9.603 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
eval.h
8.492 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
file.h
9.373 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
gc.h
15.96 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
hash.h
11.617 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
io.h
26.238 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
load.h
9.15 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
marshal.h
5.447 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
numeric.h
7.492 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
object.h
19.126 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
parse.h
6.178 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
proc.h
13.535 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
process.h
11.01 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
random.h
4.297 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
range.h
3.976 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
rational.h
6.339 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
re.h
8.728 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
ruby.h
2.781 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
select.h
3.854 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
signal.h
6.551 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
sprintf.h
6.316 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
string.h
67.368 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
struct.h
8.242 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
thread.h
18.027 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
time.h
6.334 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
variable.h
20.809 KB
13 Mar 2026 3.20 PM
root / linksafe
0644
vm.h
16.477 KB
13 Mar 2026 3.20 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF