class Bindgen::Generator::Cpp

Overview

Generator for C functions calling C++ code.

Included Modules

Defined in:

bindgen/generator/cpp.cr

Constant Summary

CONSTANT_TYPES = {Bool => "bool", UInt8 => "uint8_t", UInt16 => "uint16_t", UInt32 => "uint32_t", UInt64 => "uint64_t", Int8 => "int8_t", Int16 => "int16_t", Int32 => "int32_t", Int64 => "int64_t", String => "const char *", Float32 => "float", Float64 => "double"}
PLATFORM = Graph::Platform::Cpp

Instance Method Summary

Instance methods inherited from module Bindgen::Graph::Visitor

visit_alias(alias_name) visit_alias, visit_children(container : Container) visit_children, visit_class(klass) visit_class, visit_constant(constant) visit_constant, visit_enum(enumeration) visit_enum, visit_library(library) visit_library, visit_method(method) visit_method, visit_namespace(ns) visit_namespace, visit_node(node : Node) visit_node, visit_node?(node : Node) visit_node?, visit_platform_specific(specific) visit_platform_specific, visit_struct(structure) visit_struct

Instance methods inherited from class Bindgen::Generator::Base

config : Configuration::Generator config, indented(&) indented, puts(text : String) puts, user_config : Configuration user_config, write(node : Graph::Container) write, write_all(node : Graph::Container, io : IO | Nil = nil, depth : Int32 = 0) write_all

Constructor methods inherited from class Bindgen::Generator::Base

new(user_config : Configuration, config : Configuration::Generator, db : TypeDatabase) new

Instance Method Detail

def visit_alias(alias_name) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Alias.


[View source]
def visit_class(klass) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Class. The default implementation calls #visit_children to visit all child nodes.


[View source]
def visit_constant(constant) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Constant.


[View source]
def visit_library(_library) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Library. The default implementation calls #visit_children to visit all child nodes.


[View source]
def visit_method(method) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Method.


[View source]
def visit_platform_specific(specific) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::PlatformSpecific.


[View source]
def visit_struct(structure) #
Description copied from module Bindgen::Graph::Visitor

Visits a Graph::Struct.


[View source]
def write(node : Graph::Container) #
Description copied from class Bindgen::Generator::Base

Writes the node to the output file(s). Make sure to call #begin_section before writing any data.


[View source]