tree: d840a31a82f988f88cf987a52af1a60c4437b932 [path history] [tgz]
  1. contrib/
  2. docs/
  3. include/
  4. internal/
  5. tests/
  6. any_error_in.cc
  7. BUILD.gn
  8. fidl_cpp_base_v2.api
  9. fidl_cpp_hlcpp_conversion.api
  10. fidl_cpp_natural_ostream.api
  11. fidl_cpp_v2.api
  12. natural_coding_traits.cc
  13. natural_decoder.cc
  14. natural_encoder.cc
  15. natural_types.cc
  16. README.md
src/lib/fidl/cpp/README.md

New C++ bindings headers

The headers in this directory are meant to support the new C++ bindings (https://fxbug.dev/42138399). The headers would be exposed to users via the same include pattern as those from the high-level C++ bindings at //sdk/lib/fidl/cpp, i.e. #include <lib/fidl/cpp/foobar.h>. The intention is that as the unified C++ bindings becomes the prevalent C++ bindings API, we won‘t have to make another LSC to move the header locations. Therefore, a bit of extra attention is needed to ensure the headers and definitions in this library don’t collide with those in //sdk/lib/fidl/cpp.

Different from //sdk/lib/fidl/cpp, this library has an explicit “include” folder that hosts the headers. This is desirable because we avoid exposing the entire “//src” tree available for inclusion otherwise. Given enough time, we should migrate libraries in //sdk to use a dedicated “include” folder too.

Design

See structure of new C++ FIDL bindings.