summaryrefslogtreecommitdiff
path: root/src/utils.hh
AgeCommit message (Collapse)Author
2025-07-08Replace on_scope_end with CTAD with OnScopeEnd directlyMaxime Coste
2025-07-08Replace std::unique_ptr with a custom implementationMaxime Coste
<memory> 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.
2025-06-29Fix compilation with compilers not supporting auto(x)Maxime Coste
2025-02-19Slight style tweaksMaxime Coste
2021-11-25Clang is still unhappy, trying another approach with defining my own conceptMaxime Coste
2021-11-25Avoid using standard conceptsMaxime Coste
Turns out those are unimplemented in clang < 13, use custom code instead.
2021-11-21Try to fix more CI failures related to C++20Maxime Coste
2021-11-21More C++20 refactoringsMaxime Coste
Use CTAD instead of make functions, requires instead of enable_if
2021-11-21Use std::remove_cvref instead of std::decayMaxime Coste
2021-08-30Take a function SelectionList::insert to get string to insertMaxime Coste
This makes it unnecessary to allocate Vector<String> to insert and allows to remove the insert_pos pointer hack by passing it to the callback.
2021-07-31Fix FunctionRef copy constructionMaxime Coste
The template constructor was mistaken as a copy constructor.
2021-06-24Fix invalid command profiling logicMaxime Coste
2020-07-21Do not trigger RegisterModified hooks on register about to be restoredMaxime Coste
This greatly reduces the amount of hooks triggered.
2019-11-22Add support for markup in info boxesMaxime Coste
Fixes #2552
2019-09-01Introduce FunctionRef to replace std::function when not storingMaxime Coste
std::function is not necessary when we just want to pass a type erased callback that does not need to own its target. FunctionRef provides that functionality for a much lower compile time cost.
2019-02-27Fixed all reorder warningsJustin Frank
2018-10-10Cleanup regex lookarounds implementation and reject incompatible regexMaxime Coste
Fixes #2487
2018-05-05Do not let exception propagate out of register restoring lambdaMaxime Coste
It is called during a std::vector destruction, which is noexcept, leading to terminate being called.
2018-05-01Make OnScopeEnd valid even when non-copy elidedMaxime Coste
OnScopeEnd was relying on copy elision to avoid temporary destructor calls that would run the scope end function too soon.
2017-07-19Migrate code to c++14Maxime Coste
2017-06-26Fix various undefined behaviours detected by UBSanMaxime Coste
2017-06-07Move NestedBool to utils.hhMaxime Coste
2017-05-17Add missing std::move in on_scope_end implementationMaxime Coste
2016-03-06Tweak useage of skip_while and move the functions in utils.hhMaxime Coste
2016-02-18Tweak utils.hh, remove unused index sequenceMaxime Coste
2015-05-26Retreat ! go back to C++11 only codeMaxime Coste
This reverts commit b42de850314e7d76f873ddc7d64c5f7d2a30eb00.
2015-05-25Migrate code to c++14Maxime Coste
2015-03-29Move skip_while helpers to selectors.hhMaxime Coste
2015-03-11Always inline OnScopeEnd constructor and destructorMaxime Coste
2015-03-09Remove is_in_range utility functionMaxime Coste
2015-02-28Add IndexSequence and make_index_sequence utilitiesMaxime Coste
2014-12-23Move containers utils to containers.hh and add filtered/transformed utilsMaxime Coste
2014-12-16Rework hashing, use a more extensible framework similar to n3876 proposalMaxime Coste
std::hash specialization is a pain to work with, stop using that, and just specialize a 'size_t hash_value(const T&)' free function.
2014-12-09Get rid of uses of unordered_set, vector is just simpler and faster...Maxime Coste
2014-11-17Import std::begin/std::end so that container utils work correctly with non ↵Maxime Coste
std containers
2014-11-02Remove AutoRegister util templateMaxime Coste
2014-10-22Refactor highlighters, use an interface with virtual methodsMaxime Coste
2014-09-26Remove unused functionMaxime Coste
2014-08-12Make safe_ptr able to track callstacksMaxime Coste
The code stays disabled, as the performance penalty is quite high, but can be enabled to help debugging safe pointers.
2014-06-15Refactor highlighter command completionsMaxime Coste
2014-03-20Container utility functions now use the free begin/end functionsMaxime Coste
2014-01-27remove unused Singleton::delete_instanceMaxime Coste
2013-12-20Get rid of Editor for goodMaxime Coste
ClientManager now stores only the free windows, clients take ownership of its own.
2013-12-14Move template selectors to the headerMaxime Coste
2013-11-14indent cleanup, correct erroneous 3 spaces indentMaxime Coste
2013-10-24Add std::hash specialization for std::pairMaxime Coste
2013-08-01contains: do not check if container is emptyMaxime Coste
2013-06-06replace remaining plain assert with kak_assertMaxime Coste
2013-05-06add specialized contains function for unordered_setMaxime Coste
2013-04-23utils: add is_in_range functionMaxime Coste