X7ROOT File Manager
Current Path:
/opt/alt/ruby33/include/ruby/internal
opt
/
alt
/
ruby33
/
include
/
ruby
/
internal
/
ðŸ“
..
📄
abi.h
(1.52 KB)
📄
anyargs.h
(36.38 KB)
ðŸ“
arithmetic
📄
arithmetic.h
(2.07 KB)
📄
assume.h
(3.17 KB)
ðŸ“
attr
📄
cast.h
(2.28 KB)
ðŸ“
compiler_is
📄
compiler_is.h
(2.06 KB)
📄
compiler_since.h
(2.72 KB)
📄
config.h
(4.77 KB)
📄
constant_p.h
(1.85 KB)
ðŸ“
core
📄
core.h
(1.83 KB)
📄
ctype.h
(22.56 KB)
📄
dllexport.h
(3.04 KB)
📄
dosish.h
(3.16 KB)
ðŸ“
encoding
📄
error.h
(20.77 KB)
📄
eval.h
(18.2 KB)
📄
event.h
(6.21 KB)
📄
fl_type.h
(32.57 KB)
📄
gc.h
(28.65 KB)
📄
glob.h
(4.98 KB)
📄
globals.h
(9.77 KB)
ðŸ“
has
ðŸ“
intern
📄
interpreter.h
(9.46 KB)
📄
iterator.h
(18.19 KB)
📄
memory.h
(23.04 KB)
📄
method.h
(7.08 KB)
📄
module.h
(7.07 KB)
📄
newobj.h
(7.71 KB)
📄
scan_args.h
(18.48 KB)
📄
special_consts.h
(11.9 KB)
📄
static_assert.h
(3.14 KB)
📄
stdalign.h
(4.58 KB)
📄
stdbool.h
(2.01 KB)
📄
symbol.h
(12.78 KB)
📄
value.h
(4.26 KB)
📄
value_type.h
(14.12 KB)
📄
variable.h
(11.81 KB)
📄
warning_push.h
(4.91 KB)
📄
xmalloc.h
(17.08 KB)
Editing: globals.h
#ifndef RBIMPL_GLOBALS_H /*-*-C++-*-vi:se ft=cpp:*/ #define RBIMPL_GLOBALS_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 Ruby-level global variables / constants, visible from C. */ #include "ruby/internal/attr/pure.h" #include "ruby/internal/dllexport.h" #include "ruby/internal/fl_type.h" #include "ruby/internal/special_consts.h" #include "ruby/internal/value.h" #include "ruby/internal/value_type.h" /** * @defgroup object Core objects and their operations * * @internal * * There are several questionable constants listed in this header file. They * are intentionally left untouched for purely academic backwards compatibility * concerns. But for instance do any one of 3rd party extension libraries even * need to know that there is NameError::Message? * * @endinternal * * @{ */ RBIMPL_SYMBOL_EXPORT_BEGIN() /** * @private * * @deprecated This macro once was a thing in the old days, but makes no sense * any longer today. Exists here for backwards compatibility * only. You can safely forget about it. */ #define RUBY_INTEGER_UNIFICATION 1 RUBY_EXTERN VALUE rb_mKernel; /**< `Kernel` module. */ RUBY_EXTERN VALUE rb_mComparable; /**< `Comparable` module. */ RUBY_EXTERN VALUE rb_mEnumerable; /**< `Enumerable` module. */ RUBY_EXTERN VALUE rb_mErrno; /**< `Errno` module. */ RUBY_EXTERN VALUE rb_mFileTest; /**< `FileTest` module. */ RUBY_EXTERN VALUE rb_mGC; /**< `GC` module. */ RUBY_EXTERN VALUE rb_mMath; /**< `Math` module. */ RUBY_EXTERN VALUE rb_mProcess; /**< `Process` module. */ RUBY_EXTERN VALUE rb_mWaitReadable; /**< `IO::WaitReadable` module. */ RUBY_EXTERN VALUE rb_mWaitWritable; /**< `IO::WaitReadable` module. */ RUBY_EXTERN VALUE rb_cBasicObject; /**< `BasicObject` class. */ RUBY_EXTERN VALUE rb_cObject; /**< `Object` class. */ RUBY_EXTERN VALUE rb_cArray; /**< `Array` class. */ RUBY_EXTERN VALUE rb_cBinding; /**< `Binding` class. */ RUBY_EXTERN VALUE rb_cClass; /**< `Class` class. */ RUBY_EXTERN VALUE rb_cDir; /**< `Dir` class. */ RUBY_EXTERN VALUE rb_cEncoding; /**< `Encoding` class. */ RUBY_EXTERN VALUE rb_cEnumerator; /**< `Enumerator` class. */ RUBY_EXTERN VALUE rb_cFalseClass; /**< `FalseClass` class. */ RUBY_EXTERN VALUE rb_cFile; /**< `File` class. */ RUBY_EXTERN VALUE rb_cComplex; /**< `Complex` class. */ RUBY_EXTERN VALUE rb_cFloat; /**< `Float` class. */ RUBY_EXTERN VALUE rb_cHash; /**< `Hash` class. */ RUBY_EXTERN VALUE rb_cIO; /**< `IO` class. */ RUBY_EXTERN VALUE rb_cInteger; /**< `Module` class. */ RUBY_EXTERN VALUE rb_cMatch; /**< `MatchData` class. */ RUBY_EXTERN VALUE rb_cMethod; /**< `Method` class. */ RUBY_EXTERN VALUE rb_cModule; /**< `Module` class. */ RUBY_EXTERN VALUE rb_cRefinement; /**< `Refinement` class. */ RUBY_EXTERN VALUE rb_cNameErrorMesg; /**< `NameError::Message` class. */ RUBY_EXTERN VALUE rb_cNilClass; /**< `NilClass` class. */ RUBY_EXTERN VALUE rb_cNumeric; /**< `Numeric` class. */ RUBY_EXTERN VALUE rb_cProc; /**< `Proc` class. */ RUBY_EXTERN VALUE rb_cRandom; /**< `Random` class. */ RUBY_EXTERN VALUE rb_cRange; /**< `Range` class. */ RUBY_EXTERN VALUE rb_cRational; /**< `Rational` class. */ RUBY_EXTERN VALUE rb_cRegexp; /**< `Regexp` class. */ RUBY_EXTERN VALUE rb_cStat; /**< `File::Stat` class. */ RUBY_EXTERN VALUE rb_cString; /**< `String` class. */ RUBY_EXTERN VALUE rb_cStruct; /**< `Struct` class. */ RUBY_EXTERN VALUE rb_cSymbol; /**< `Symbol` class. */ RUBY_EXTERN VALUE rb_cThread; /**< `Thread` class. */ RUBY_EXTERN VALUE rb_cTime; /**< `Time` class. */ RUBY_EXTERN VALUE rb_cTrueClass; /**< `TrueClass` class. */ RUBY_EXTERN VALUE rb_cUnboundMethod; /**< `UnboundMethod` class. */ /** * @} * @addtogroup exception * @{ */ RUBY_EXTERN VALUE rb_eException; /**< Mother of all exceptions. */ RUBY_EXTERN VALUE rb_eStandardError; /**< `StandardError` exception. */ RUBY_EXTERN VALUE rb_eSystemExit; /**< `SystemExit` exception. */ RUBY_EXTERN VALUE rb_eInterrupt; /**< `Interrupt` exception. */ RUBY_EXTERN VALUE rb_eSignal; /**< `SignalException` exception. */ RUBY_EXTERN VALUE rb_eFatal; /**< `fatal` exception. */ RUBY_EXTERN VALUE rb_eArgError; /**< `ArgumentError` exception. */ RUBY_EXTERN VALUE rb_eEOFError; /**< `EOFError` exception. */ RUBY_EXTERN VALUE rb_eIndexError; /**< `IndexError` exception. */ RUBY_EXTERN VALUE rb_eStopIteration; /**< `StopIteration` exception. */ RUBY_EXTERN VALUE rb_eKeyError; /**< `KeyError` exception. */ RUBY_EXTERN VALUE rb_eRangeError; /**< `RangeError` exception. */ RUBY_EXTERN VALUE rb_eIOError; /**< `IOError` exception. */ RUBY_EXTERN VALUE rb_eRuntimeError; /**< `RuntimeError` exception. */ RUBY_EXTERN VALUE rb_eFrozenError; /**< `FrozenError` exception. */ RUBY_EXTERN VALUE rb_eSecurityError; /**< `SecurityError` exception. */ RUBY_EXTERN VALUE rb_eSystemCallError; /**< `SystemCallError` exception. */ RUBY_EXTERN VALUE rb_eThreadError; /**< `ThreadError` exception. */ RUBY_EXTERN VALUE rb_eTypeError; /**< `TypeError` exception. */ RUBY_EXTERN VALUE rb_eZeroDivError; /**< `ZeroDivisionError` exception. */ RUBY_EXTERN VALUE rb_eNotImpError; /**< `NotImplementedError` exception. */ RUBY_EXTERN VALUE rb_eNoMemError; /**< `NoMemoryError` exception. */ RUBY_EXTERN VALUE rb_eNoMethodError; /**< `NoMethodError` exception. */ RUBY_EXTERN VALUE rb_eFloatDomainError; /**< `FloatDomainError` exception. */ RUBY_EXTERN VALUE rb_eLocalJumpError; /**< `LocalJumpError` exception. */ RUBY_EXTERN VALUE rb_eSysStackError; /**< `SystemStackError` exception. */ RUBY_EXTERN VALUE rb_eRegexpError; /**< `RegexpError` exception. */ RUBY_EXTERN VALUE rb_eEncodingError; /**< `EncodingError` exception. */ RUBY_EXTERN VALUE rb_eEncCompatError; /**< `Encoding::CompatibilityError` exception. */ RUBY_EXTERN VALUE rb_eNoMatchingPatternError; /**< `NoMatchingPatternError` exception. */ RUBY_EXTERN VALUE rb_eNoMatchingPatternKeyError; /**< `NoMatchingPatternKeyError` exception. */ RUBY_EXTERN VALUE rb_eScriptError; /**< `ScriptError` exception. */ RUBY_EXTERN VALUE rb_eNameError; /**< `NameError` exception. */ RUBY_EXTERN VALUE rb_eSyntaxError; /**< `SyntaxError` exception. */ RUBY_EXTERN VALUE rb_eLoadError; /**< `LoadError` exception. */ RUBY_EXTERN VALUE rb_eMathDomainError; /**< `Math::DomainError` exception. */ /** * @} * @addtogroup object * @{ */ RUBY_EXTERN VALUE rb_stdin; /**< `STDIN` constant. */ RUBY_EXTERN VALUE rb_stdout; /**< `STDOUT` constant. */ RUBY_EXTERN VALUE rb_stderr; /**< `STDERR` constant. */ RBIMPL_ATTR_PURE() /** * Object to class mapping function. Every object have its class. This * function obtains that. * * @param[in] obj Target object to query. * @return The class of the given object. * * @internal * * This function is a super-duper hot path. Optimised targeting modern C * compilers and x86_64 architecture. */ static inline VALUE rb_class_of(VALUE obj) { if (! RB_SPECIAL_CONST_P(obj)) { return RBASIC_CLASS(obj); } else if (obj == RUBY_Qfalse) { return rb_cFalseClass; } else if (obj == RUBY_Qnil) { return rb_cNilClass; } else if (obj == RUBY_Qtrue) { return rb_cTrueClass; } else if (RB_FIXNUM_P(obj)) { return rb_cInteger; } else if (RB_STATIC_SYM_P(obj)) { return rb_cSymbol; } else if (RB_FLONUM_P(obj)) { return rb_cFloat; } #if !RUBY_DEBUG RBIMPL_UNREACHABLE_RETURN(Qfalse); #else RUBY_ASSERT_FAIL("unexpected type"); #endif } #define CLASS_OF rb_class_of /**< @old{rb_class_of} */ RBIMPL_SYMBOL_EXPORT_END() /** @} */ #endif /* RBIMPL_GLOBALS_H */
Upload File
Create Folder