module Safec::Macros::SafeCStructMacroExample

Overview

Usage example for the safe_c_struct macro.

Extended Modules

Defined in:

doc/macros.cr

Class Method Summary

Macro Summary

Class Method Detail

def self.free(p : Pointer(Safec::Macros::SafeCStructMacroExample::C::Struct)) #

Creates a new Free instance initialized with the p pointer.

This class was automatically defined by the Safec library.


[View source]
def self.null #

Returns an Unfree instance initialized with a null pointer.


[View source]
def self.unfree(p : Pointer(Safec::Macros::SafeCStructMacroExample::C::Struct)) #

Creates a new Unfree instance initialized with the p pointer.

This class was automatically defined by the Safec library.


[View source]
def self.value(value) #

Creates a new Value instance initialized with the value value.

This class was automatically defined by the Safec library.


[View source]

Macro Detail

macro safe_c_pointer(klass, free = true) #

Defines the classes for wrapping C pointers.

Defines the Free and Unfree classes for wrapping C pointers.

To define the Free class, you must implement the AsFree#free method to deallocate memory.

To define the Unfree class only, set free falsey.

This macro was automatically defined by the Safec library.


[View source]
macro safe_c_struct(klass, free = true) #

Defines the classes for wrapping C structs.

Defines the Value, Free and Unfree classes for wrapping C structs.

To define the Free class, you must implement the AsFree#free method to deallocate memory.

To define the Value and Unfree classes only, set free falsey.

This macro was automatically defined by the Safec library.


[View source]