Preview Ruby 4.1 is a preview. It can change before the final release. Switch to Ruby 4.0 →
instance method
IO::Buffer::Storage#external?
external? → true or false
io_buffer.c
View on GitHub ↗
static VALUE
rb_io_buffer_external_p(VALUE self)
{
struct rb_io_buffer_view *buffer = get_io_buffer_view(self);
return RBOOL(buffer->flags & RB_IO_BUFFER_EXTERNAL);
}
The buffer is external if it references the memory which is not allocated or mapped by the buffer itself.
A buffer created using ::for has an external reference to the string’s memory.
External buffer can’t be resized.