Maxime Coste
|
da1d78a3c2
|
Do not let exception propagate out of register restoring lambda
It is called during a std::vector destruction, which is noexcept,
leading to terminate being called.
|
2018-05-05 07:57:37 +10:00 |
|
Maxime Coste
|
6777c14697
|
Make OnScopeEnd valid even when non-copy elided
OnScopeEnd was relying on copy elision to avoid temporary destructor
calls that would run the scope end function too soon.
|
2018-05-01 22:47:06 +10:00 |
|
Maxime Coste
|
7a79cbbc81
|
Migrate code to c++14
|
2017-07-19 08:47:14 +02:00 |
|
Maxime Coste
|
4e7a357a47
|
Fix various undefined behaviours detected by UBSan
|
2017-06-26 11:27:18 +01:00 |
|
Maxime Coste
|
87477cf2bb
|
Move NestedBool to utils.hh
|
2017-06-07 11:55:42 +01:00 |
|
Maxime Coste
|
7acf11c851
|
Add missing std::move in on_scope_end implementation
|
2017-05-17 20:12:36 +01:00 |
|
Maxime Coste
|
fb2fb3811f
|
Tweak useage of skip_while and move the functions in utils.hh
|
2016-03-06 15:12:36 +00:00 |
|
Maxime Coste
|
fbb326173a
|
Tweak utils.hh, remove unused index sequence
|
2016-02-18 09:53:01 +00:00 |
|
Maxime Coste
|
993e842fdf
|
Retreat ! go back to C++11 only code
This reverts commit b42de85031 .
|
2015-05-26 18:42:09 +01:00 |
|
Maxime Coste
|
b42de85031
|
Migrate code to c++14
|
2015-05-25 13:51:17 +01:00 |
|
Maxime Coste
|
adaf6ecc40
|
Move skip_while helpers to selectors.hh
|
2015-03-29 20:03:09 +01:00 |
|
Maxime Coste
|
4843643514
|
Always inline OnScopeEnd constructor and destructor
|
2015-03-11 20:52:39 +00:00 |
|
Maxime Coste
|
ea42d9dd4a
|
Remove is_in_range utility function
|
2015-03-09 22:37:42 +00:00 |
|
Maxime Coste
|
f88e873f55
|
Add IndexSequence and make_index_sequence utilities
|
2015-02-28 17:08:19 +00:00 |
|
Maxime Coste
|
064fb81b8d
|
Move containers utils to containers.hh and add filtered/transformed utils
|
2014-12-23 13:40:26 +00:00 |
|
Maxime Coste
|
ebecd60eb8
|
Rework hashing, use a more extensible framework similar to n3876 proposal
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-16 18:57:19 +00:00 |
|
Maxime Coste
|
319cfcda34
|
Get rid of uses of unordered_set, vector is just simpler and faster...
|
2014-12-09 21:59:47 +00:00 |
|
Maxime Coste
|
1bd2260fa5
|
Import std::begin/std::end so that container utils work correctly with non std containers
|
2014-11-17 13:51:21 +00:00 |
|
Maxime Coste
|
abfc016321
|
Remove AutoRegister util template
|
2014-11-02 16:04:24 +00:00 |
|
Maxime Coste
|
b2e90fe21e
|
Refactor highlighters, use an interface with virtual methods
|
2014-10-22 13:54:03 +01:00 |
|
Maxime Coste
|
092ac8e9ab
|
Remove unused function
|
2014-09-26 00:41:50 +01:00 |
|
Maxime Coste
|
d356ae2419
|
Make safe_ptr able to track callstacks
The code stays disabled, as the performance penalty is quite
high, but can be enabled to help debugging safe pointers.
|
2014-08-12 19:18:10 +01:00 |
|
Maxime Coste
|
205e8b2889
|
Refactor highlighter command completions
|
2014-06-15 16:04:38 +01:00 |
|
Maxime Coste
|
0cdeb55968
|
Container utility functions now use the free begin/end functions
|
2014-03-20 19:51:25 +00:00 |
|
Maxime Coste
|
2dd4761f89
|
remove unused Singleton::delete_instance
|
2014-01-27 19:53:33 +00:00 |
|
Maxime Coste
|
c0973075fa
|
Get rid of Editor for good
ClientManager now stores only the free windows, clients take
ownership of its own.
|
2013-12-20 20:14:57 +00:00 |
|
Maxime Coste
|
0c4d523b22
|
Move template selectors to the header
|
2013-12-14 14:49:10 +00:00 |
|
Maxime Coste
|
04ae48c346
|
indent cleanup, correct erroneous 3 spaces indent
|
2013-11-14 00:12:15 +00:00 |
|
Maxime Coste
|
748cc79d0f
|
Add std::hash specialization for std::pair
|
2013-10-24 22:21:41 +01:00 |
|
Maxime Coste
|
af17010524
|
contains: do not check if container is empty
|
2013-08-01 18:35:13 +01:00 |
|
Maxime Coste
|
357799c966
|
replace remaining plain assert with kak_assert
|
2013-06-06 19:44:08 +02:00 |
|
Maxime Coste
|
2342e7686f
|
add specialized contains function for unordered_set
|
2013-05-06 13:51:23 +02:00 |
|
Maxime Coste
|
ef07b98215
|
utils: add is_in_range function
|
2013-04-23 19:08:44 +02:00 |
|
Maxime Coste
|
385241d2c0
|
remove String::replace, use boost::regex_replace directly
|
2013-04-12 19:16:55 +02:00 |
|
Maxime Coste
|
270e950cf1
|
sort includes directives
|
2013-04-09 20:05:40 +02:00 |
|
Maxime Coste
|
5adee4a6a7
|
rename assert to kak_assert to avoid collisions
|
2013-04-09 20:04:11 +02:00 |
|
Maxime Coste
|
7bf73b5896
|
OnScopeEnd: move parameter instead of copying it
|
2013-04-02 14:03:22 +02:00 |
|
Maxime Coste
|
a18241a03b
|
Extract AutoRegister logic to a helper class
|
2013-04-02 13:56:30 +02:00 |
|
Maxime Coste
|
5bba01ca9c
|
BufferManager notify the ClientManager when a buffer dies
|
2013-03-22 14:26:44 +01:00 |
|
Maxime Coste
|
3a60e633a4
|
safe_ptr have no overhead when KAK_DEBUG is not defined
|
2013-02-28 18:54:15 +01:00 |
|
Maxime Coste
|
f82a2e22a1
|
Containers utils: use Container&& in order to accept temporaries
|
2013-02-27 19:58:07 +01:00 |
|
Maxime Coste
|
edef8e4e98
|
Remove Set and use unordered_set
|
2013-01-31 18:58:25 +01:00 |
|
Maxime Coste
|
f8209e3b52
|
fix contains for empty containers
|
2013-01-29 18:55:32 +01:00 |
|
Maxime Coste
|
914ede7a82
|
Add and use a Set template class for recuring small sets
|
2013-01-11 14:28:13 +01:00 |
|
Maxime Coste
|
4a3f9d6187
|
ClientManager: support naming clients and accessing client's context by name
|
2012-12-03 18:56:53 +01:00 |
|
Maxime Coste
|
037210c70c
|
SafeCountable::m_count is mutable so that we can have safe_ptr<const T>
|
2012-11-12 20:07:05 +01:00 |
|
Maxime Coste
|
514aeead63
|
do not use our broken safe bool, c++11 explicit bool conversion is better
|
2012-10-02 14:18:34 +02:00 |
|
Maxime Coste
|
9ec10daf69
|
move clamp to utils.hh
|
2012-10-02 14:08:09 +02:00 |
|
Maxime Coste
|
f1d8d0add8
|
escape whitespaces in filename or buffername completions
|
2012-08-29 21:52:17 +02:00 |
|
Maxime Coste
|
f11d44246c
|
add safe_ptr::operator=(safe_ptr&&) and safe_ptr::reset(T*)
|
2012-06-30 00:33:36 +02:00 |
|