tree: 0313958b9f3587ad47f93829e43796473dfefa2b [path history] [tgz]
  1. docs/
  2. include/
  3. internal/
  4. tests/
  5. wire/
  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
sdk/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.