SILENT KILLERPanel

Current Path: > > opt > alt > ruby33 > include > ruby > internal > intern >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/alt/ruby33/include/ruby/internal/intern/

NameTypeSizeLast ModifiedActions
select Directory - -
array.h File 25755 bytes April 24 2025 07:57:42.
bignum.h File 30764 bytes April 24 2025 07:57:42.
class.h File 16051 bytes April 24 2025 07:57:42.
compar.h File 2573 bytes April 24 2025 07:57:42.
complex.h File 8406 bytes April 24 2025 07:57:42.
cont.h File 11701 bytes April 24 2025 07:57:42.
dir.h File 1942 bytes April 24 2025 07:57:42.
enum.h File 2891 bytes April 24 2025 07:57:42.
enumerator.h File 12422 bytes April 24 2025 07:57:42.
error.h File 9821 bytes April 24 2025 07:57:42.
eval.h File 8696 bytes April 24 2025 07:57:42.
file.h File 9598 bytes April 24 2025 07:57:42.
hash.h File 11896 bytes April 24 2025 07:57:42.
io.h File 26868 bytes April 24 2025 07:57:42.
load.h File 10670 bytes April 24 2025 07:57:42.
marshal.h File 5578 bytes April 24 2025 07:57:42.
numeric.h File 7672 bytes April 24 2025 07:57:42.
object.h File 19585 bytes April 24 2025 07:57:42.
parse.h File 6326 bytes April 24 2025 07:57:42.
proc.h File 13860 bytes April 24 2025 07:57:42.
process.h File 11569 bytes April 24 2025 07:57:42.
random.h File 4400 bytes April 24 2025 07:57:42.
range.h File 4071 bytes April 24 2025 07:57:42.
rational.h File 6491 bytes April 24 2025 07:57:42.
re.h File 8728 bytes April 24 2025 07:57:42.
ruby.h File 2848 bytes April 24 2025 07:57:42.
select.h File 3946 bytes April 24 2025 07:57:42.
signal.h File 6547 bytes April 24 2025 07:57:42.
sprintf.h File 6468 bytes April 24 2025 07:57:42.
string.h File 68985 bytes April 24 2025 07:57:42.
struct.h File 8946 bytes April 24 2025 07:57:42.
thread.h File 18460 bytes April 24 2025 07:57:42.
time.h File 6486 bytes April 24 2025 07:57:42.
variable.h File 21308 bytes April 24 2025 07:57:42.
vm.h File 16872 bytes April 24 2025 07:57:42.

Reading File: //opt/alt/ruby33/include/ruby/internal/intern//range.h

#ifndef RBIMPL_INTERN_RANGE_H                        /*-*-C++-*-vi:se ft=cpp:*/
#define RBIMPL_INTERN_RANGE_H
/**
 * @file
 * @author     Ruby developers <ruby-core@ruby-lang.org>
 * @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_cRange.
 */
#include "ruby/internal/attr/nonnull.h"
#include "ruby/internal/dllexport.h"
#include "ruby/internal/value.h"

RBIMPL_SYMBOL_EXPORT_BEGIN()

/* range.c */

/**
 * Creates a new Range.
 *
 * @param[in]  beg           "Left" or "lowest" endpoint of the range.
 * @param[in]  end           "Right" or "highest" endpoint of the range.
 * @param[in]  excl          Whether the range is open-ended.
 * @exception  rb_eArgError  `beg` and `end` are not comparable.
 * @note       These days both  endpoints can be ::RUBY_Qnil,  which means that
 *             endpoint is unbound.
 */
VALUE rb_range_new(VALUE beg, VALUE end, int excl);

RBIMPL_ATTR_NONNULL(())
/**
 * Deconstructs  a numerical  range.  As  the  arguments are  `long` based,  it
 * expects everything are in the `long` domain.
 *
 * @param[in]   range           A range of numerical endpoints.
 * @param[out]  begp            Return value buffer.
 * @param[out]  lenp            Return value buffer.
 * @param[in]   len             Updated length.
 * @param[in]   err             In case `len` is out of range...
 *                                - `0`: returns ::RUBY_Qnil.
 *                                - `1`: raises  ::rb_eRangeError.
 *                                - `2`: `beg` and `len` expanded accordingly.
 * @exception   rb_eTypeError   `range` is not a numerical range.
 * @exception   rb_eRangeError  `range` cannot fit into `long`.
 * @retval      RUBY_Qfalse     `range` is not an ::rb_cRange.
 * @retval      RUBY_Qnil       `len` is out of `range` but `err` is zero.
 * @retval      RUBY_Qtrue      Otherwise.
 * @post        `beg` is the (possibly updated) left endpoint.
 * @post        `len` is the (possibly updated) length of the range.
 *
 * @internal
 *
 * The complex  error handling  switch reflects the  fact that  `Array#[]=` and
 * `String#[]=` behave differently when they take ranges.
 */
VALUE rb_range_beg_len(VALUE range, long *begp, long *lenp, long len, int err);

RBIMPL_ATTR_NONNULL(())
/**
 * Deconstructs a range into its components.
 *
 * @param[in]   range        Range or range-ish object.
 * @param[out]  begp         Return value buffer.
 * @param[out]  endp         Return value buffer.
 * @param[out]  exclp        Return value buffer.
 * @retval      RUBY_Qfalse  `range` is not an instance of ::rb_cRange.
 * @retval      RUBY_Qtrue   Argument pointers are updated.
 * @post        `*begp` is the left endpoint of the range.
 * @post        `*endp` is the right endpoint of the range.
 * @post        `*exclp` is whether the range is open-ended or not.
 */
int rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp);

RBIMPL_SYMBOL_EXPORT_END()

#endif /* RBIMPL_INTERN_RANGE_H */

SILENT KILLER Tool