================ @@ -58,23 +58,156 @@ namespace __format { /// This helper is used together with the @ref back_insert_iterator to offer /// type-erasure for the formatting functions. This reduces the number to /// template instantiations. +/// +/// The design of the class is being changed to improve performance and do some +/// code cleanups. +/// The original design (as shipped up to LLVM-19) uses the following design: +/// - There is an external object that connects the buffer to the output. +/// - The class constructor stores a function pointer to a grow function and a +/// type-erased pointer to the object that does the grow. +/// - When writing data to the buffer would exceed the external buffer's +/// capacity it requests the external buffer to flush its contents. ---------------- mordante wrote:
Note the last patch in the series will remove this comment. The implementation itself is in a transition state too, this also will be cleaned in the final patch of the series. https://github.com/llvm/llvm-project/pull/101817 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits