blob: e4bf0b808b86d1f1e0c888ef66b9c7bd303f2f99 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
This directory contains code that interfaces upb with external C/C++
libraries. For example:
* upb/bindings/{stdc,stdc++}
interfaces between upb and the standard libraries of C and C++ (like C's
FILE/stdio, C++'s string/iostream, etc.)
* upb/bindings/googlepb
interfaces between upb and the "protobuf" library distributed by Google.
* upb/bindings/lua:
a Lua extension that exposes upb to Lua programs via the Lua C API.
* upb/bindings/linux:
code and build system for building upb as a Linux kernel module.
The two key characteristics that decide whether code belongs in upb/bindings/
are:
* Does the code's public API refer to types from another library?
If so it belongs in upb/bindings/. But this doesn't include code that just
happens to use another library internally, as an implementation detail.
* Would this code be useful to someone who is not using this external library
in some other way? If so, the code probably doesn't belong in upb/bindings/.
|