From ce1d512a0c1922ab5f43f28e7bae573508c98601 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Tue, 8 Jul 2025 11:43:17 +1000 Subject: Replace std::unique_ptr with a custom implementation is a costly header we can avoid by just implementing UniquePtr ourselves, which is a pretty straightforward in modern C++, this saves around 10% of the compilation time here. --- src/highlighter.hh | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/highlighter.hh') diff --git a/src/highlighter.hh b/src/highlighter.hh index fbeef9e4..3583c788 100644 --- a/src/highlighter.hh +++ b/src/highlighter.hh @@ -9,8 +9,7 @@ #include "string.hh" #include "utils.hh" #include "parameters_parser.hh" - -#include +#include "unique_ptr.hh" namespace Kakoune { @@ -68,7 +67,7 @@ struct Highlighter virtual bool has_children() const; virtual Highlighter& get_child(StringView path); - virtual void add_child(String name, std::unique_ptr&& hl, bool override = false); + virtual void add_child(String name, UniquePtr&& hl, bool override = false); virtual void remove_child(StringView id); virtual Completions complete_child(StringView path, ByteCount cursor_pos, bool group) const; virtual void fill_unique_ids(Vector& unique_ids) const; @@ -83,7 +82,7 @@ private: }; using HighlighterParameters = ConstArrayView; -using HighlighterFactory = std::unique_ptr (*)(HighlighterParameters params, Highlighter* parent); +using HighlighterFactory = UniquePtr (*)(HighlighterParameters params, Highlighter* parent); struct HighlighterDesc { -- cgit v1.2.3