Ruby  3.4.0dev (2024-11-05 revision 348a53415339076afc4a02fcd09f3ae36e9c4c61)
Macros
size_t.h File Reference

(348a53415339076afc4a02fcd09f3ae36e9c4c61)

Arithmetic conversion between C's size_t and Ruby's. More...

#include "ruby/internal/config.h"
#include "ruby/internal/arithmetic/int.h"
#include "ruby/internal/arithmetic/long.h"
#include "ruby/internal/arithmetic/long_long.h"
#include "ruby/backward/2/long_long.h"
Include dependency graph for size_t.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define RB_SIZE2NUM   RB_ULONG2NUM
 Converts a C's size_t into an instance of rb_cInteger. More...
 
#define RB_SSIZE2NUM   RB_LONG2NUM
 Converts a C's ssize_t into an instance of rb_cInteger. More...
 
#define RB_NUM2SIZE   RB_NUM2ULONG
 Converts an instance of rb_cInteger into C's size_t. More...
 
#define RB_NUM2SSIZE   RB_NUM2LONG
 Converts an instance of rb_cInteger into C's ssize_t. More...
 
#define NUM2SIZET   RB_NUM2SIZE
 Old name of RB_NUM2SIZE. More...
 
#define SIZET2NUM   RB_SIZE2NUM
 Old name of RB_SIZE2NUM. More...
 
#define NUM2SSIZET   RB_NUM2SSIZE
 Old name of RB_NUM2SSIZE. More...
 
#define SSIZET2NUM   RB_SSIZE2NUM
 Old name of RB_SSIZE2NUM. More...
 

Detailed Description

Arithmetic conversion between C's size_t and Ruby's.

Author
Ruby developers ruby-.nosp@m.core.nosp@m.@ruby.nosp@m.-lan.nosp@m.g.org
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.

Definition in file size_t.h.

Macro Definition Documentation

◆ RB_NUM2SIZE

#define RB_NUM2SIZE   RB_NUM2ULONG

Converts an instance of rb_cInteger into C's size_t.

Definition at line 47 of file size_t.h.

◆ RB_NUM2SSIZE

#define RB_NUM2SSIZE   RB_NUM2LONG

Converts an instance of rb_cInteger into C's ssize_t.

Definition at line 49 of file size_t.h.

◆ RB_SIZE2NUM

#define RB_SIZE2NUM   RB_ULONG2NUM

Converts a C's size_t into an instance of rb_cInteger.

Definition at line 31 of file size_t.h.

◆ RB_SSIZE2NUM

#define RB_SSIZE2NUM   RB_LONG2NUM

Converts a C's ssize_t into an instance of rb_cInteger.

Definition at line 33 of file size_t.h.