SILENT KILLERPanel

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


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

NameTypeSizeLast ModifiedActions
arithmetic Directory - -
attr Directory - -
compiler_is Directory - -
core Directory - -
encoding Directory - -
has Directory - -
intern Directory - -
abi.h File 1555 bytes April 24 2025 07:57:42.
anyargs.h File 37255 bytes April 24 2025 07:57:42.
arithmetic.h File 2117 bytes April 24 2025 07:57:42.
assume.h File 3245 bytes April 24 2025 07:57:42.
cast.h File 2330 bytes April 24 2025 07:57:42.
compiler_is.h File 2105 bytes April 24 2025 07:57:42.
compiler_since.h File 2783 bytes April 24 2025 07:57:42.
config.h File 4889 bytes April 24 2025 07:57:42.
constant_p.h File 1895 bytes April 24 2025 07:57:42.
core.h File 1874 bytes April 24 2025 07:57:42.
ctype.h File 23097 bytes April 24 2025 07:57:42.
dllexport.h File 3118 bytes April 24 2025 07:57:42.
dosish.h File 3240 bytes April 24 2025 07:57:42.
error.h File 21270 bytes April 24 2025 07:57:42.
eval.h File 18637 bytes April 24 2025 07:57:42.
event.h File 6358 bytes April 24 2025 07:57:42.
fl_type.h File 33348 bytes April 24 2025 07:57:42.
gc.h File 29338 bytes April 24 2025 07:57:42.
glob.h File 5102 bytes April 24 2025 07:57:42.
globals.h File 10008 bytes April 24 2025 07:57:42.
interpreter.h File 9683 bytes April 24 2025 07:57:42.
iterator.h File 18627 bytes April 24 2025 07:57:42.
memory.h File 23595 bytes April 24 2025 07:57:42.
method.h File 7249 bytes April 24 2025 07:57:42.
module.h File 7235 bytes April 24 2025 07:57:42.
newobj.h File 7894 bytes April 24 2025 07:57:42.
scan_args.h File 18921 bytes April 24 2025 07:57:42.
special_consts.h File 12183 bytes April 24 2025 07:57:42.
static_assert.h File 3215 bytes April 24 2025 07:57:42.
stdalign.h File 4693 bytes April 24 2025 07:57:42.
stdbool.h File 2055 bytes April 24 2025 07:57:42.
symbol.h File 13082 bytes April 24 2025 07:57:42.
value.h File 4360 bytes April 24 2025 07:57:42.
value_type.h File 14457 bytes April 24 2025 07:57:42.
variable.h File 12091 bytes April 24 2025 07:57:42.
warning_push.h File 5028 bytes April 24 2025 07:57:42.
xmalloc.h File 17485 bytes April 24 2025 07:57:42.

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

#ifndef RBIMPL_VALUE_H                               /*-*-C++-*-vi:se ft=cpp:*/
#define RBIMPL_VALUE_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      Defines ::VALUE and ::ID.
 */
#include "ruby/internal/static_assert.h"
#include "ruby/backward/2/long_long.h"
#include "ruby/backward/2/limits.h"

#if defined(__DOXYGEN__)

/**
 * Type that represents a Ruby object.  It is an unsigned integer of some kind,
 * depending on platforms.
 *
 * ```CXX
 * VALUE value = rb_eval_string("ARGF.readlines.map.with_index");
 * ```
 *
 * @warning  ::VALUE is not a pointer.
 * @warning  ::VALUE can be wider than `long`.
 */
typedef uintptr_t VALUE;

/**
 * Type that represents a Ruby identifier such as a variable name.
 *
 * ```CXX
 * ID method = rb_intern("method");
 * VALUE result = rb_funcall(obj, method, 0);
 * ```
 *
 * @note  ::rb_cSymbol is a Ruby-level data type for the same thing.
 */
typedef uintptr_t ID;

/**
 * A signed integer type that has the same width with ::VALUE.
 *
 * @internal
 *
 * @shyouhei wonders: is it guaranteed  that `uintptr_t` and `intptr_t` are the
 * same width?  As far as I read ISO/IEC 9899:2018 section 7.20.1.4 paragraph 1
 * no such description is given... or defined elsewhere?
 */
typedef intptr_t SIGNED_VALUE;

/**
 * Identical to  `sizeof(VALUE)`, except it  is a macro  that can also  be used
 * inside of preprocessor directives such as `#if`.  Handy on occasions.
 */
#define SIZEOF_VALUE SIZEOF_UINTPTR_T

/**
 * @private
 *
 * A compile-time constant of type ::VALUE whose value is 0.
 */
#define RBIMPL_VALUE_NULL UINTPTR_C(0)

/**
 * @private
 *
 * A compile-time constant of type ::VALUE whose value is 1.
 */
#define RBIMPL_VALUE_ONE  UINTPTR_C(1)

/**
 * @private
 *
 * Maximum possible value that a ::VALUE can take.
 */
#define RBIMPL_VALUE_FULL UINTPTR_MAX

#elif defined HAVE_UINTPTR_T && 0
typedef uintptr_t VALUE;
typedef uintptr_t ID;
# define SIGNED_VALUE intptr_t
# define SIZEOF_VALUE SIZEOF_UINTPTR_T
# undef PRI_VALUE_PREFIX
# define RBIMPL_VALUE_NULL UINTPTR_C(0)
# define RBIMPL_VALUE_ONE  UINTPTR_C(1)
# define RBIMPL_VALUE_FULL UINTPTR_MAX

#elif SIZEOF_LONG == SIZEOF_VOIDP
typedef unsigned long VALUE;
typedef unsigned long ID;
# define SIGNED_VALUE long
# define SIZEOF_VALUE SIZEOF_LONG
# define PRI_VALUE_PREFIX "l"
# define RBIMPL_VALUE_NULL 0UL
# define RBIMPL_VALUE_ONE  1UL
# define RBIMPL_VALUE_FULL ULONG_MAX

#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP
typedef unsigned LONG_LONG VALUE;
typedef unsigned LONG_LONG ID;
# define SIGNED_VALUE LONG_LONG
# define LONG_LONG_VALUE 1
# define SIZEOF_VALUE SIZEOF_LONG_LONG
# define PRI_VALUE_PREFIX PRI_LL_PREFIX
# define RBIMPL_VALUE_NULL 0ULL
# define RBIMPL_VALUE_ONE  1ULL
# define RBIMPL_VALUE_FULL ULLONG_MAX

#else
# error ---->> ruby requires sizeof(void*) == sizeof(long) or sizeof(LONG_LONG) to be compiled. <<----
#endif

/** @cond INTERNAL_MACRO */
RBIMPL_STATIC_ASSERT(sizeof_int, SIZEOF_INT == sizeof(int));
RBIMPL_STATIC_ASSERT(sizeof_long, SIZEOF_LONG == sizeof(long));
RBIMPL_STATIC_ASSERT(sizeof_long_long, SIZEOF_LONG_LONG == sizeof(LONG_LONG));
RBIMPL_STATIC_ASSERT(sizeof_voidp, SIZEOF_VOIDP == sizeof(void *));
/** @endcond */
#endif /* RBIMPL_VALUE_H */

SILENT KILLER Tool