{
  "_id": "6a20a382cd65a98ecbd17cea",
  "Package": "Rtinycc",
  "Title": "Builds the 'TinyCC' Command-Line Interface and Library for 'C'\nScripting in 'R'",
  "Version": "0.1.11.9000",
  "Authors@R": "c(\nperson(given = \"Sounkou Mahamane\", family = \"Toure\",\nemail = \"sounkoutoure@gmail.com\", role = c(\"aut\", \"cre\")),\nperson(given = \"Mike\", family = \"Cheng\", role = c(\"cph\"),\ncomment = \"Adapted parts of the vignette knitr engine from the callme package\"),\nperson(given = \"Adam\", family = \"Dunkels\", role = c(\"cph\"),\ncomment = \"Author of the bundled protothreads library\"),\nperson( given =\"Fabrice Bellard and tinycc Authors\" , role = c(\"ctb\"),\ncomment = \"Tinycc Compiler (tinycc) authors and COPYRIGHT holders\")\n)",
  "Description": "Builds the 'TinyCC' (Tiny 'C' Compiler) command-line\ninterface and library for package use in 'R'. The package\ncompiles 'TinyCC' from source and provides R functions to\ninteract with the compiler. 'TinyCC' can be used for header\npreprocessing, just-in-time compilation of 'C' code in 'R', and\nlightweight 'C' scripting workflows.",
  "License": "GPL (>= 3)",
  "Copyright": "See inst/LICENSE.note for bundled TinyCC copyright and\nlicensing details.",
  "VignetteBuilder": "knitr",
  "SystemRequirements": "GNU make",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "URL": "https://github.com/sounkou-bioinfo/Rtinycc,\nhttps://sounkou-bioinfo.github.io/Rtinycc/",
  "BugReports": "https://github.com/sounkou-bioinfo/Rtinycc/issues",
  "Config/pak/sysreqs": "make",
  "Repository": "https://sounkou-bioinfo.r-universe.dev",
  "Date/Publication": "2026-06-03 20:20:38 UTC",
  "RemoteUrl": "https://github.com/sounkou-bioinfo/Rtinycc",
  "RemoteRef": "HEAD",
  "RemoteSha": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-03 21:53:06 UTC",
    "User": "root"
  },
  "Author": "Sounkou Mahamane Toure [aut, cre],\nMike Cheng [cph] (Adapted parts of the vignette knitr engine from the\ncallme package),\nAdam Dunkels [cph] (Author of the bundled protothreads library),\nFabrice Bellard and tinycc Authors [ctb] (Tinycc Compiler (tinycc)\nauthors and COPYRIGHT holders)",
  "Maintainer": "Sounkou Mahamane Toure <sounkoutoure@gmail.com>",
  "MD5sum": "3802f774a5f1a57bef25537da85e429d",
  "_user": "sounkou-bioinfo",
  "_type": "src",
  "_file": "Rtinycc_0.1.11.9000.tar.gz",
  "_fileid": "951567c0d36f090821ecc30699c6ca94ac586ba3cb437e2bcddbabcaa8696380",
  "_filesize": 1623793,
  "_sha256": "951567c0d36f090821ecc30699c6ca94ac586ba3cb437e2bcddbabcaa8696380",
  "_created": "2026-06-03T21:53:06.000Z",
  "_published": "2026-06-03T21:58:26.332Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79403603755,
      "time": 177,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7397675424"
    },
    {
      "job": 79403603744,
      "time": 220,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7397687907"
    },
    {
      "job": 79403603800,
      "time": 179,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397675898"
    },
    {
      "job": 79403603772,
      "time": 216,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397686459"
    },
    {
      "job": 79403603814,
      "time": 194,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7397679202"
    },
    {
      "job": 79403603693,
      "time": 277,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7397704998"
    },
    {
      "job": 79403603714,
      "time": 180,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397675404"
    },
    {
      "job": 79403603757,
      "time": 241,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397694092"
    },
    {
      "job": 79403016092,
      "time": 223,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397620322"
    },
    {
      "job": 79403603705,
      "time": 100,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 79403603715,
      "time": 180,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7397675157"
    },
    {
      "job": 79403603674,
      "time": 158,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7397668361"
    },
    {
      "job": 79403603675,
      "time": 177,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7397674331"
    }
  ],
  "_buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/sounkou-bioinfo/Rtinycc",
  "_commit": {
    "id": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
    "author": "sounkou-bioinfo <sounkoutoure@gmail.com>",
    "committer": "sounkou-bioinfo <sounkoutoure@gmail.com>",
    "message": "Document and guard tcc_call_symbol .C calls\n",
    "time": 1780518038
  },
  "_maintainer": {
    "name": "Sounkou Mahamane Toure",
    "email": "sounkoutoure@gmail.com",
    "login": "sounkou-bioinfo",
    "uuid": 56392505
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.4.0",
      "role": "Depends"
    },
    {
      "package": "lambda.r",
      "role": "Imports"
    },
    {
      "package": "bench",
      "role": "Suggests"
    },
    {
      "package": "callme",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    },
    {
      "package": "treesitter.c",
      "version": ">= 0.0.4",
      "role": "Suggests"
    }
  ],
  "_owner": "sounkou-bioinfo",
  "_selfowned": true,
  "_usedby": 2,
  "_updates": [
    {
      "week": "2026-08",
      "n": 40
    },
    {
      "week": "2026-09",
      "n": 2
    },
    {
      "week": "2026-15",
      "n": 4
    },
    {
      "week": "2026-16",
      "n": 30
    },
    {
      "week": "2026-17",
      "n": 25
    },
    {
      "week": "2026-18",
      "n": 9
    },
    {
      "week": "2026-20",
      "n": 10
    },
    {
      "week": "2026-21",
      "n": 9
    },
    {
      "week": "2026-22",
      "n": 2
    },
    {
      "week": "2026-23",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.0.1",
      "date": "2026-02-01"
    },
    {
      "name": "v0.0.3",
      "date": "2026-02-07"
    },
    {
      "name": "v0.1.0",
      "date": "2026-04-16"
    },
    {
      "name": "v0.1.8",
      "date": "2026-04-22"
    },
    {
      "name": "v0.1.10",
      "date": "2026-04-27"
    }
  ],
  "_topics": [
    "c",
    "ffi",
    "tinycc"
  ],
  "_stars": 10,
  "_contributors": [
    {
      "user": "sounkou-bioinfo",
      "count": 259,
      "uuid": 56392505
    }
  ],
  "_userbio": {
    "uuid": 56392505,
    "type": "user",
    "name": "Sounkou Mahamane Toure",
    "description": "Sequences and Consequences."
  },
  "_downloads": {
    "count": 444,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/Rtinycc"
  },
  "_devurl": "https://github.com/sounkou-bioinfo/rtinycc",
  "_pkgdown": "https://sounkou-bioinfo.github.io/Rtinycc/",
  "_searchresults": 32,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/Rtinycc.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/sounkou-bioinfo/rtinycc",
  "_realowner": "sounkou-bioinfo",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.8",
      "date": "2026-04-24"
    },
    {
      "version": "0.1.9",
      "date": "2026-04-27"
    },
    {
      "version": "0.1.10",
      "date": "2026-04-27"
    }
  ],
  "_exports": [
    "blas_lapack_info",
    "get_external_ptr_addr",
    "tcc_add_file",
    "tcc_add_include_path",
    "tcc_add_library",
    "tcc_add_library_path",
    "tcc_add_symbol",
    "tcc_add_sysinclude_path",
    "tcc_bin_path",
    "tcc_bind",
    "tcc_call_symbol",
    "tcc_callback",
    "tcc_callback_async_drain",
    "tcc_callback_async_schedule",
    "tcc_callback_close",
    "tcc_callback_ptr",
    "tcc_callback_valid",
    "tcc_cli",
    "tcc_compile",
    "tcc_compile_string",
    "tcc_container_of",
    "tcc_cstring",
    "tcc_cstring_object",
    "tcc_data_ptr",
    "tcc_enum",
    "tcc_ffi",
    "tcc_field_addr",
    "tcc_free",
    "tcc_generate_bindings",
    "tcc_get_symbol",
    "tcc_global",
    "tcc_header",
    "tcc_include",
    "tcc_include_path",
    "tcc_include_paths",
    "tcc_introspect",
    "tcc_lib_path",
    "tcc_lib_paths",
    "tcc_library",
    "tcc_library_path",
    "tcc_link",
    "tcc_list_symbols",
    "tcc_malloc",
    "tcc_map_c_type_to_ffi",
    "tcc_null_ptr",
    "tcc_options",
    "tcc_output",
    "tcc_path",
    "tcc_prefix",
    "tcc_ptr_addr",
    "tcc_ptr_free_set_null",
    "tcc_ptr_is_null",
    "tcc_ptr_is_owned",
    "tcc_ptr_set",
    "tcc_read_bytes",
    "tcc_read_cstring",
    "tcc_read_f32",
    "tcc_read_f64",
    "tcc_read_i16",
    "tcc_read_i32",
    "tcc_read_i64",
    "tcc_read_i8",
    "tcc_read_ptr",
    "tcc_read_u16",
    "tcc_read_u32",
    "tcc_read_u64",
    "tcc_read_u8",
    "tcc_recompile",
    "tcc_relocate",
    "tcc_run_cli",
    "tcc_set_options",
    "tcc_source",
    "tcc_state",
    "tcc_struct",
    "tcc_struct_raw_access",
    "tcc_symbol_is_valid",
    "tcc_sysinclude_paths",
    "tcc_treesitter_bindings",
    "tcc_treesitter_defines",
    "tcc_treesitter_enum_bindings",
    "tcc_treesitter_enum_members",
    "tcc_treesitter_enums",
    "tcc_treesitter_functions",
    "tcc_treesitter_global_types",
    "tcc_treesitter_globals",
    "tcc_treesitter_struct_accessors",
    "tcc_treesitter_struct_bindings",
    "tcc_treesitter_struct_members",
    "tcc_treesitter_structs",
    "tcc_treesitter_union_accessors",
    "tcc_treesitter_union_bindings",
    "tcc_treesitter_union_members",
    "tcc_treesitter_unions",
    "tcc_union",
    "tcc_write_bytes",
    "tcc_write_f32",
    "tcc_write_f64",
    "tcc_write_i16",
    "tcc_write_i32",
    "tcc_write_i64",
    "tcc_write_i8",
    "tcc_write_ptr",
    "tcc_write_u16",
    "tcc_write_u32",
    "tcc_write_u64",
    "tcc_write_u8"
  ],
  "_help": [
    {
      "page": "cash-.tcc_compiled",
      "title": "Access a compiled FFI symbol",
      "topics": [
        "$.tcc_compiled"
      ]
    },
    {
      "page": "as.character.tcc_cstring",
      "title": "Convert a 'tcc_cstring' object to an R string",
      "topics": [
        "as.character.tcc_cstring"
      ]
    },
    {
      "page": "blas_lapack_info",
      "title": "Report active BLAS/LAPACK runtime information from R",
      "topics": [
        "blas_lapack_info"
      ]
    },
    {
      "page": "generate_trampoline",
      "title": "Generate trampoline code for a callback argument",
      "topics": [
        "generate_trampoline"
      ]
    },
    {
      "page": "get_external_ptr_addr",
      "title": "Get the address of an external pointer",
      "topics": [
        "get_external_ptr_addr"
      ]
    },
    {
      "page": "is_callback_type",
      "title": "Check if a type represents a callback",
      "topics": [
        "is_callback_type"
      ]
    },
    {
      "page": "parse_callback_type",
      "title": "Parse callback type specification",
      "topics": [
        "parse_callback_type"
      ]
    },
    {
      "page": "print.tcc_callback",
      "title": "Print tcc_callback object",
      "topics": [
        "print.tcc_callback"
      ]
    },
    {
      "page": "print.tcc_compiled",
      "title": "Print tcc_compiled object",
      "topics": [
        "print.tcc_compiled"
      ]
    },
    {
      "page": "print.tcc_cstring",
      "title": "Print a 'tcc_cstring' object",
      "topics": [
        "print.tcc_cstring"
      ]
    },
    {
      "page": "print.tcc_ffi",
      "title": "Print tcc_ffi object",
      "topics": [
        "print.tcc_ffi"
      ]
    },
    {
      "page": "tcc_add_file",
      "title": "Add a source file to a libtcc state",
      "topics": [
        "tcc_add_file"
      ]
    },
    {
      "page": "tcc_add_include_path",
      "title": "Add an include path to a libtcc state",
      "topics": [
        "tcc_add_include_path"
      ]
    },
    {
      "page": "tcc_add_library",
      "title": "Add a library to a libtcc state",
      "topics": [
        "tcc_add_library"
      ]
    },
    {
      "page": "tcc_add_library_path",
      "title": "Add a library path to a libtcc state",
      "topics": [
        "tcc_add_library_path"
      ]
    },
    {
      "page": "tcc_add_symbol",
      "title": "Add a symbol to a libtcc state",
      "topics": [
        "tcc_add_symbol"
      ]
    },
    {
      "page": "tcc_add_sysinclude_path",
      "title": "Add a system include path to a libtcc state",
      "topics": [
        "tcc_add_sysinclude_path"
      ]
    },
    {
      "page": "tcc_bind",
      "title": "Bind symbols with type specifications",
      "topics": [
        "tcc_bind"
      ]
    },
    {
      "page": "tcc_call_symbol",
      "title": "Call a symbol from a TinyCC state",
      "topics": [
        "tcc_call_symbol"
      ]
    },
    {
      "page": "tcc_callback",
      "title": "Register an R function as a callback",
      "topics": [
        "tcc_callback"
      ]
    },
    {
      "page": "tcc_callback_async_drain",
      "title": "Drain the async callback queue",
      "topics": [
        "tcc_callback_async_drain"
      ]
    },
    {
      "page": "tcc_callback_async_schedule",
      "title": "Schedule a callback to run on the main thread",
      "topics": [
        "tcc_callback_async_schedule"
      ]
    },
    {
      "page": "tcc_callback_close",
      "title": "Close/unregister a callback",
      "topics": [
        "tcc_callback_close"
      ]
    },
    {
      "page": "tcc_callback_ptr",
      "title": "Get the C-compatible function pointer",
      "topics": [
        "tcc_callback_ptr"
      ]
    },
    {
      "page": "tcc_callback_valid",
      "title": "Check if callback is still valid",
      "topics": [
        "tcc_callback_valid"
      ]
    },
    {
      "page": "tcc_compile",
      "title": "Compile FFI bindings",
      "topics": [
        "tcc_compile"
      ]
    },
    {
      "page": "tcc_compile_string",
      "title": "Compile C code from a character string",
      "topics": [
        "tcc_compile_string"
      ]
    },
    {
      "page": "tcc_container_of",
      "title": "Generate container_of helper for struct member",
      "topics": [
        "tcc_container_of"
      ]
    },
    {
      "page": "tcc_cstring",
      "title": "Create a C-style string pointer",
      "topics": [
        "tcc_cstring"
      ]
    },
    {
      "page": "tcc_cstring_object",
      "title": "CString S3 Class",
      "topics": [
        "tcc_cstring_object"
      ]
    },
    {
      "page": "tcc_data_ptr",
      "title": "Dereference a pointer-to-pointer",
      "topics": [
        "tcc_data_ptr"
      ]
    },
    {
      "page": "tcc_enum",
      "title": "Declare enum for FFI helper generation",
      "topics": [
        "tcc_enum"
      ]
    },
    {
      "page": "tcc_ffi",
      "title": "Create a new FFI compilation context",
      "topics": [
        "tcc_ffi"
      ]
    },
    {
      "page": "tcc_field_addr",
      "title": "Generate field address getter helpers",
      "topics": [
        "tcc_field_addr"
      ]
    },
    {
      "page": "tcc_free",
      "title": "Free owned memory",
      "topics": [
        "tcc_free"
      ]
    },
    {
      "page": "tcc_generate_bindings",
      "title": "Generate bindings from header declarations",
      "topics": [
        "tcc_generate_bindings"
      ]
    },
    {
      "page": "tcc_get_symbol",
      "title": "Get a symbol pointer from a libtcc state",
      "topics": [
        "tcc_get_symbol"
      ]
    },
    {
      "page": "tcc_global",
      "title": "Declare a global variable getter",
      "topics": [
        "tcc_global"
      ]
    },
    {
      "page": "tcc_header",
      "title": "Add C headers",
      "topics": [
        "tcc_header"
      ]
    },
    {
      "page": "tcc_include",
      "title": "Add include path to FFI context",
      "topics": [
        "tcc_include"
      ]
    },
    {
      "page": "tcc_include_paths",
      "title": "TinyCC include search paths",
      "topics": [
        "tcc_include_paths",
        "tcc_sysinclude_paths"
      ]
    },
    {
      "page": "tcc_introspect",
      "title": "Enable introspection helpers",
      "topics": [
        "tcc_introspect"
      ]
    },
    {
      "page": "tcc_library",
      "title": "Add library to link against",
      "topics": [
        "tcc_library"
      ]
    },
    {
      "page": "tcc_library_path",
      "title": "Add library path to FFI context",
      "topics": [
        "tcc_library_path"
      ]
    },
    {
      "page": "tcc_link",
      "title": "Link an external shared library with Bun-style FFI bindings",
      "topics": [
        "tcc_link"
      ]
    },
    {
      "page": "tcc_list_symbols",
      "title": "List symbols known to a libtcc state",
      "topics": [
        "tcc_list_symbols"
      ]
    },
    {
      "page": "tcc_malloc",
      "title": "Allocate memory buffer",
      "topics": [
        "tcc_malloc"
      ]
    },
    {
      "page": "tcc_map_c_type_to_ffi",
      "title": "Map a C type string to an Rtinycc FFI type",
      "topics": [
        "tcc_map_c_type_to_ffi"
      ]
    },
    {
      "page": "tcc_null_ptr",
      "title": "Create a NULL pointer",
      "topics": [
        "tcc_null_ptr"
      ]
    },
    {
      "page": "tcc_options",
      "title": "Add TinyCC compiler options to FFI context",
      "topics": [
        "tcc_options"
      ]
    },
    {
      "page": "tcc_output",
      "title": "Set output type for FFI compilation",
      "topics": [
        "tcc_output"
      ]
    },
    {
      "page": "tcc_path",
      "title": "Locate the TinyCC executable",
      "topics": [
        "tcc_path"
      ]
    },
    {
      "page": "tcc_prefix",
      "title": "TinyCC paths",
      "topics": [
        "tcc_bin_path",
        "tcc_cli",
        "tcc_include_path",
        "tcc_lib_path",
        "tcc_lib_paths",
        "tcc_prefix"
      ]
    },
    {
      "page": "tcc_ptr_addr",
      "title": "Get pointer address as integer",
      "topics": [
        "tcc_ptr_addr"
      ]
    },
    {
      "page": "tcc_ptr_free_set_null",
      "title": "Free the pointed memory and set to NULL",
      "topics": [
        "tcc_ptr_free_set_null"
      ]
    },
    {
      "page": "tcc_ptr_is_null",
      "title": "Check whether an external pointer is NULL",
      "topics": [
        "tcc_ptr_is_null"
      ]
    },
    {
      "page": "tcc_ptr_is_owned",
      "title": "Check for the '\"rtinycc_owned\"' tag",
      "topics": [
        "tcc_ptr_is_owned"
      ]
    },
    {
      "page": "tcc_ptr_set",
      "title": "Set a pointer-to-pointer value",
      "topics": [
        "tcc_ptr_set"
      ]
    },
    {
      "page": "tcc_ptr_utils",
      "title": "Pointer and Buffer Utilities for FFI",
      "topics": [
        "tcc_ptr_utils"
      ]
    },
    {
      "page": "tcc_read_bytes",
      "title": "Read raw bytes from a pointer",
      "topics": [
        "tcc_read_bytes"
      ]
    },
    {
      "page": "tcc_read_cstring",
      "title": "Read C-style string from pointer",
      "topics": [
        "tcc_read_cstring"
      ]
    },
    {
      "page": "tcc_read_f32",
      "title": "Read 32-bit float",
      "topics": [
        "tcc_read_f32"
      ]
    },
    {
      "page": "tcc_read_f64",
      "title": "Read 64-bit doubles from a pointer",
      "topics": [
        "tcc_read_f64"
      ]
    },
    {
      "page": "tcc_read_i16",
      "title": "Read signed 16-bit integer",
      "topics": [
        "tcc_read_i16"
      ]
    },
    {
      "page": "tcc_read_i32",
      "title": "Read signed 32-bit integers from a pointer",
      "topics": [
        "tcc_read_i32"
      ]
    },
    {
      "page": "tcc_read_i64",
      "title": "Read signed 64-bit integer",
      "topics": [
        "tcc_read_i64"
      ]
    },
    {
      "page": "tcc_read_i8",
      "title": "Read signed 8-bit integer",
      "topics": [
        "tcc_read_i8"
      ]
    },
    {
      "page": "tcc_read_ptr",
      "title": "Read a pointer at byte offset",
      "topics": [
        "tcc_read_ptr"
      ]
    },
    {
      "page": "tcc_read_u16",
      "title": "Read unsigned 16-bit integer",
      "topics": [
        "tcc_read_u16"
      ]
    },
    {
      "page": "tcc_read_u32",
      "title": "Read unsigned 32-bit integer",
      "topics": [
        "tcc_read_u32"
      ]
    },
    {
      "page": "tcc_read_u64",
      "title": "Read unsigned 64-bit integer",
      "topics": [
        "tcc_read_u64"
      ]
    },
    {
      "page": "tcc_read_u8",
      "title": "Read unsigned 8-bit values from a pointer",
      "topics": [
        "tcc_read_u8"
      ]
    },
    {
      "page": "tcc_recompile",
      "title": "Recompile a tcc_compiled object",
      "topics": [
        "tcc_recompile"
      ]
    },
    {
      "page": "tcc_relocate",
      "title": "Relocate compiled code",
      "topics": [
        "tcc_relocate"
      ]
    },
    {
      "page": "tcc_run_cli",
      "title": "Run the tinycc CLI",
      "topics": [
        "tcc_run_cli"
      ]
    },
    {
      "page": "tcc_set_options",
      "title": "Apply raw TinyCC options to a libtcc state",
      "topics": [
        "tcc_set_options"
      ]
    },
    {
      "page": "tcc_source",
      "title": "Add C source code",
      "topics": [
        "tcc_source"
      ]
    },
    {
      "page": "tcc_state",
      "title": "Create a libtcc state",
      "topics": [
        "tcc_state"
      ]
    },
    {
      "page": "tcc_struct",
      "title": "Declare struct for FFI helper generation",
      "topics": [
        "tcc_struct"
      ]
    },
    {
      "page": "tcc_struct_raw_access",
      "title": "Enable raw byte access for struct",
      "topics": [
        "tcc_struct_raw_access"
      ]
    },
    {
      "page": "tcc_symbol_is_valid",
      "title": "Check if a tcc_symbol external pointer is valid",
      "topics": [
        "tcc_symbol_is_valid"
      ]
    },
    {
      "page": "tcc_treesitter_bindings",
      "title": "Generate bindings from a header",
      "topics": [
        "tcc_treesitter_bindings"
      ]
    },
    {
      "page": "tcc_treesitter_defines",
      "title": "Extract macro defines from a header file",
      "topics": [
        "tcc_treesitter_defines"
      ]
    },
    {
      "page": "tcc_treesitter_enum_bindings",
      "title": "Apply tcc_enum() bindings from a header",
      "topics": [
        "tcc_treesitter_enum_bindings"
      ]
    },
    {
      "page": "tcc_treesitter_enum_members",
      "title": "Parse enum members with treesitter.c",
      "topics": [
        "tcc_treesitter_enum_members"
      ]
    },
    {
      "page": "tcc_treesitter_enums",
      "title": "Parse enum declarations with treesitter.c",
      "topics": [
        "tcc_treesitter_enums"
      ]
    },
    {
      "page": "tcc_treesitter_functions",
      "title": "Parse function declarations with treesitter.c",
      "topics": [
        "tcc_treesitter_functions"
      ]
    },
    {
      "page": "tcc_treesitter_global_types",
      "title": "Parse global declarations with types using treesitter.c",
      "topics": [
        "tcc_treesitter_global_types"
      ]
    },
    {
      "page": "tcc_treesitter_globals",
      "title": "Parse global declarations with treesitter.c",
      "topics": [
        "tcc_treesitter_globals"
      ]
    },
    {
      "page": "tcc_treesitter_struct_accessors",
      "title": "Generate tcc_struct() accessors from header structs",
      "topics": [
        "tcc_treesitter_struct_accessors"
      ]
    },
    {
      "page": "tcc_treesitter_struct_bindings",
      "title": "Apply tcc_struct() bindings from a header",
      "topics": [
        "tcc_treesitter_struct_bindings"
      ]
    },
    {
      "page": "tcc_treesitter_struct_members",
      "title": "Parse struct members (including bitfields) with treesitter.c",
      "topics": [
        "tcc_treesitter_struct_members"
      ]
    },
    {
      "page": "tcc_treesitter_structs",
      "title": "Parse struct declarations with treesitter.c",
      "topics": [
        "tcc_treesitter_structs"
      ]
    },
    {
      "page": "tcc_treesitter_union_accessors",
      "title": "Generate tcc_union() accessors from header unions",
      "topics": [
        "tcc_treesitter_union_accessors"
      ]
    },
    {
      "page": "tcc_treesitter_union_bindings",
      "title": "Apply tcc_union() bindings from a header",
      "topics": [
        "tcc_treesitter_union_bindings"
      ]
    },
    {
      "page": "tcc_treesitter_union_members",
      "title": "Parse union members with treesitter.c",
      "topics": [
        "tcc_treesitter_union_members"
      ]
    },
    {
      "page": "tcc_treesitter_unions",
      "title": "Parse union declarations with treesitter.c",
      "topics": [
        "tcc_treesitter_unions"
      ]
    },
    {
      "page": "tcc_union",
      "title": "Declare union for FFI helper generation",
      "topics": [
        "tcc_union"
      ]
    },
    {
      "page": "tcc_write_bytes",
      "title": "Write raw bytes to a pointer",
      "topics": [
        "tcc_write_bytes"
      ]
    },
    {
      "page": "tcc_write_f32",
      "title": "Write a 32-bit float",
      "topics": [
        "tcc_write_f32"
      ]
    },
    {
      "page": "tcc_write_f64",
      "title": "Write a 64-bit double",
      "topics": [
        "tcc_write_f64"
      ]
    },
    {
      "page": "tcc_write_i16",
      "title": "Write a signed 16-bit integer",
      "topics": [
        "tcc_write_i16"
      ]
    },
    {
      "page": "tcc_write_i32",
      "title": "Write a signed 32-bit integer",
      "topics": [
        "tcc_write_i32"
      ]
    },
    {
      "page": "tcc_write_i64",
      "title": "Write a signed 64-bit integer",
      "topics": [
        "tcc_write_i64"
      ]
    },
    {
      "page": "tcc_write_i8",
      "title": "Write a signed 8-bit integer",
      "topics": [
        "tcc_write_i8"
      ]
    },
    {
      "page": "tcc_write_ptr",
      "title": "Write a pointer at byte offset",
      "topics": [
        "tcc_write_ptr"
      ]
    },
    {
      "page": "tcc_write_u16",
      "title": "Write an unsigned 16-bit integer",
      "topics": [
        "tcc_write_u16"
      ]
    },
    {
      "page": "tcc_write_u32",
      "title": "Write an unsigned 32-bit integer",
      "topics": [
        "tcc_write_u32"
      ]
    },
    {
      "page": "tcc_write_u64",
      "title": "Write an unsigned 64-bit integer",
      "topics": [
        "tcc_write_u64"
      ]
    },
    {
      "page": "tcc_write_u8",
      "title": "Write an unsigned 8-bit integer",
      "topics": [
        "tcc_write_u8"
      ]
    }
  ],
  "_readme": "https://github.com/sounkou-bioinfo/Rtinycc/raw/HEAD/README.md",
  "_rundeps": [
    "formatR",
    "lambda.r"
  ],
  "_vignettes": [
    {
      "source": "advanced-ffi-types.Rmd",
      "filename": "advanced-ffi-types.html",
      "title": "Advanced FFI Types",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Array Returns",
        "Callbacks",
        "Globals",
        "Struct Helpers"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-04-22 10:16:41",
      "commits": 4
    },
    {
      "source": "compilation-and-call-overhead.Rmd",
      "filename": "compilation-and-call-overhead.html",
      "title": "Compilation and Call Overhead",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Three Minimal Cases",
        "Availability",
        "Compilation Latency",
        "Generated Wrapper Code",
        "noop() Call Overhead",
        "fill_rand(out, n) And Zero-Copy Arrays",
        "rand_unif(n) And Copy Cost",
        "What These Numbers Mean"
      ],
      "created": "2026-04-16 21:49:52",
      "modified": "2026-05-24 18:24:21",
      "commits": 13
    },
    {
      "source": "ffi-boundary-semantics.Rmd",
      "filename": "ffi-boundary-semantics.html",
      "title": "FFI Boundary Semantics",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Scalar Inputs Are Converted",
        "Vector Inputs Are Usually Borrowed",
        "tcc_call_symbol() Uses .C()-Style Copy-In/Copy-Out",
        "cstring_array Is Rebuilt Per Call",
        "Returned Arrays Are Copied into Fresh R Vectors",
        "Returned cstring Values Are Copied",
        "Returned ptr Values Stay as Pointers",
        "sexp Passes Through Directly",
        "Owned vs Borrowed Helper Pointers",
        "Bitfields Are Scalar Helpers, Not Addressable Views",
        "Serialization Boundary"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-06-03 20:20:38",
      "commits": 7
    },
    {
      "source": "ffi-helpers.Rmd",
      "filename": "ffi-helpers.html",
      "title": "FFI Helper APIs",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Allocation and Ownership",
        "Reading and Writing Raw Bytes",
        "Typed Reads and Writes",
        "Pointer-to-Pointer Helpers",
        "C String Helpers"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-04-22 10:16:41",
      "commits": 3
    },
    {
      "source": "ffi-objects-and-callbacks.Rmd",
      "filename": "ffi-objects-and-callbacks.html",
      "title": "FFI Objects, Structs, and Callbacks",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Working with Struct Helpers",
        "Registering Callbacks",
        "Async Callback Caveats",
        "Soundness Notes"
      ],
      "created": "2026-04-16 21:07:44",
      "modified": "2026-04-22 10:16:41",
      "commits": 5
    },
    {
      "source": "ffi-types.Rmd",
      "filename": "ffi-types.html",
      "title": "FFI Types",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Scalar Types",
        "A Minimal Example",
        "String and Pointer Types",
        "Array Types",
        "Direct R Objects with sexp"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-04-22 12:58:53",
      "commits": 5
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with Rtinycc",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Toolchain Paths",
        "A Minimal FFI Example",
        "Managing Globals",
        "When to Use tcc_link()"
      ],
      "created": "2026-04-16 21:07:44",
      "modified": "2026-04-22 10:16:41",
      "commits": 4
    },
    {
      "source": "treesitter-header-parsing.Rmd",
      "filename": "treesitter-header-parsing.html",
      "title": "Header Parsing with treesitter.c",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Availability",
        "Start from a Header Snippet",
        "Inspect Parsed Functions",
        "Generate a Working FFI Object",
        "Struct Helpers",
        "Conservative Type Mapping"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-04-22 10:16:41",
      "commits": 5
    },
    {
      "source": "internals.Rmd",
      "filename": "internals.html",
      "title": "Internals",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The tcc_ffi Object Is a Recipe",
        "Code Generation Is Central",
        "How Values Move Between R, The Wrapper, And C",
        "Copying Versus Borrowing Happens In The Wrapper",
        "Why lambda.r Is Used",
        "Wrapper Builders Work at the SEXP Boundary",
        "Protection And Lifetime Rules Matter",
        "Ownership And Lifetime Semantics In The Main Cases",
        "Call-scoped borrows from R objects",
        "Owned native allocations",
        "Borrowed native views",
        "Returned R objects",
        "Callback registry lifetime",
        "Compiled object lifetime",
        "Host Symbol Injection Happens Before Relocation",
        "Callback Round-Trips Cross The Boundary Twice",
        "State Creation Is Separate from Compilation",
        "The Compiled Object Is an Environment of Closures",
        "Serialization Works by Recompiling the Recipe",
        "Where To Read Next"
      ],
      "created": "2026-04-16 21:37:30",
      "modified": "2026-05-24 18:24:21",
      "commits": 5
    },
    {
      "source": "linking-external-libraries.Rmd",
      "filename": "linking-external-libraries.html",
      "title": "Linking External Libraries",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What tcc_link() Is For",
        "A Minimal Linking Example",
        "Adding Helper Code Beside External Symbols",
        "Linking by Name or by Path",
        "Relationship to tcc_compile()"
      ],
      "created": "2026-04-16 21:29:29",
      "modified": "2026-04-25 09:31:59",
      "commits": 9
    }
  ],
  "_score": 7.982271233039569,
  "_indexed": true,
  "_nocasepkg": "rtinycc",
  "_universes": [
    "sounkou-bioinfo"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:38.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "7f9ab6324a40e568b91e877ea9173137094104ba407b9cb12051e80586e47784",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:27.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "0290e29487b79a6d402e61171e091b6db7e01f4799220ff6629e891199d5fe34",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:38.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "6a40c708f59a795de4ca687201488835b277135b868c165459e13a726fe7edb1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:25.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "0680cbe8051d11db3d1132ae14284d86379d56d420ee75d61a23d65d9256159b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:18.000Z",
      "arch": "aarch64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "c032c2a5f7f32c8457776f99344f2ce318d175f2cd73805750fbbc1442c05066",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:56:26.000Z",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "33342e77396fe3da7a6b373998d384571a7a0a8c3e771a36632556adafc0a528",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:04.000Z",
      "arch": "aarch64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "b613e687aa420ce562b9f0fff1010b27d609760dd57fb7d58a4f740e39427bd7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:56:04.000Z",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "645a386c53702ce8cfadb0b226c94811b8954760aea102b3a65d9e9857ed8f80",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:55:06.000Z",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "5f2b3e0f873b42d6008621783a74f1582bdc3d2a461decee8849c1a318e85cc4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:54:50.000Z",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "770a7ce9c656f9ebcfbb3a898a7a8ee7ad898fdd8d77bb0f5a4e36ceb7b13ac5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.11.9000",
      "date": "2026-06-03T21:54:58.000Z",
      "arch": "x86_64",
      "commit": "b79e789a60d3b31c7a68d3f1884025ee8618206a",
      "fileid": "16be5ff8445c328b121f0f0a178499c884f9df81896af41fc61d17e3dc9b4b42",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/sounkou-bioinfo/actions/runs/26915162468"
    }
  ]
}