class Bindgen::Processor::InstantiateContainers

Overview

Generates a class for each to-be instantiated container type. This processor must be run before any processor that generates platform specific Calls, like Crystal or Cpp.

Defined in:

bindgen/processor/instantiate_containers.cr

Constant Summary

ASSOCIATIVE_MODULE = "BindgenHelper::AssociativeContainer"

Module for associative containers

CPP_INTEGER_TYPE = "int"

Name of the "standard" built-in integer C++ type. Required for the generated #size method, and #unsafe_at of sequential containers.

Log = ::Log.for(self)

Generates a class for each to-be instantiated container type. This processor must be run before any processor that generates platform specific Calls, like Crystal or Cpp.

OPTIONAL_MODULE = "BindgenHelper::OptionalContainer"

Module for optionals

PAIR_MODULE = "BindgenHelper::PairContainer"

Module for pairs

SEQUENTIAL_MODULE = "BindgenHelper::SequentialContainer"

Module for sequential containers

SET_MODULE = "BindgenHelper::SetContainer"

Module for sets

Instance Method Summary

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

inherited_rules(class_name : String, & : TypeDatabase::TypeConfig -> TypeDatabase::KeepAlive) : TypeDatabase::KeepAlive inherited_rules, process(graph : Graph::Container, doc : Parser::Document) process, unmatched_patterns(klass : Graph::Class, rules : TypeDatabase::KeepAlive) : Array(Regex) unmatched_patterns

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

new(config : Configuration, db : TypeDatabase) new

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, visit_union(structure) visit_union

Instance Method Detail

def process(graph : Graph::Node, doc : Parser::Document) #

[View source]