You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CIB is currently designed for single translation-unit compilation. This can result in very long compilation and re-compilation times. It would be very helpful to enable the option for multi translation unit compilation.
This can be done by decoupling service extension declarations from definitions. The resulting API will look something like this:
CIB component declarations go into header files.
Component declarations represent how a component interfaces with the rest of the system. It exports services it provides and extends services as needed.
Instead of providing callables or the equivalent to extensions, a string tag-type is used to name each extension. Tag dispatch is used for extensions to call their implementation (which can be located in a different translation unit). LTO is recommended, but not required.
CIB extension implementations can be in independent translation units.
All component header files are included in a project's nexus translation unit. All of the compile-time initialization and build happens in this one translation unit. These header files do not need to be included by any other translation unit.
The text was updated successfully, but these errors were encountered:
CIB is currently designed for single translation-unit compilation. This can result in very long compilation and re-compilation times. It would be very helpful to enable the option for multi translation unit compilation.
This can be done by decoupling service extension declarations from definitions. The resulting API will look something like this:
The text was updated successfully, but these errors were encountered: