summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2016-10-10 23:44:18 +0100
committerMaxime Coste <frrrwww@gmail.com>2016-10-10 23:44:18 +0100
commit025b91baca170c82184ab99d042ec1db43ceeb31 (patch)
treed3da9461fe5e16ace5cbeec54be255f65dc68641 /src
parentbc9d1b4dac215c486ab3ede4b6123c8fa1ed93ba (diff)
Convert some uses of lambda to more concise std::mem_fn
Diffstat (limited to 'src')
-rw-r--r--src/alias_registry.cc2
-rw-r--r--src/buffer_manager.cc1
-rw-r--r--src/command_manager.cc7
-rw-r--r--src/commands.cc5
-rw-r--r--src/containers.hh4
-rw-r--r--src/face_registry.cc3
-rw-r--r--src/option_types.hh2
-rw-r--r--src/shell_manager.cc5
8 files changed, 13 insertions, 16 deletions
diff --git a/src/alias_registry.cc b/src/alias_registry.cc
index 690cde54..2822c6c0 100644
--- a/src/alias_registry.cc
+++ b/src/alias_registry.cc
@@ -57,7 +57,7 @@ Vector<std::pair<StringView, StringView>> AliasRegistry::flatten_aliases() const
res = m_parent->flatten_aliases();
for (auto& alias : m_aliases)
{
- if (not contains(res | transform([](const AliasDesc& val) { return val.first; }), alias.key))
+ if (not contains(res | transform(std::mem_fn(&AliasDesc::first)), alias.key))
res.emplace_back(alias.key, alias.value);
}
return res;
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc
index 79546d53..03f2424e 100644
--- a/src/buffer_manager.cc
+++ b/src/buffer_manager.cc
@@ -54,7 +54,6 @@ void BufferManager::delete_buffer(Buffer& buffer)
{ return p.get() == &buffer; });
kak_assert(it != m_buffers.end());
-
ClientManager::instance().ensure_no_client_uses_buffer(buffer);
m_buffer_trash.emplace_back(std::move(*it));
diff --git a/src/command_manager.cc b/src/command_manager.cc
index 6f78f686..9f33ea34 100644
--- a/src/command_manager.cc
+++ b/src/command_manager.cc
@@ -531,16 +531,15 @@ Completions CommandManager::complete_command_name(const Context& context,
{
auto commands = m_commands
| filter([](const CommandMap::value_type& cmd) { return not (cmd.second.flags & CommandFlags::Hidden); })
- | transform([](const CommandMap::value_type& cmd) { return StringView{cmd.first}; });
+ | transform(std::mem_fn(&CommandMap::value_type::first));
if (not with_aliases)
return {0, query.length(), Kakoune::complete(query, query.length(), commands)};
auto candidates = Kakoune::complete(query, query.length(),
concatenated(commands,
- context.aliases().flatten_aliases()
- | transform([](AliasRegistry::AliasDesc alias)
- { return alias.first; })));
+ context.aliases().flatten_aliases() |
+ transform(std::mem_fn(&AliasRegistry::AliasDesc::first))));
return {0, query.length(), std::move(candidates)};
}
diff --git a/src/commands.cc b/src/commands.cc
index a4356fa7..9cf2a75d 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -25,6 +25,8 @@
#include "string.hh"
#include "window.hh"
+#include <functional>
+
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -1508,8 +1510,7 @@ void context_wrap(const ParametersParser& parser, Context& context, Func func)
// copy buffer list as we might be mutating the buffer list
// in the loop.
auto ptrs = BufferManager::instance() |
- transform([](const std::unique_ptr<Buffer>& ptr)
- { return ptr.get(); });
+ transform(std::mem_fn(&std::unique_ptr<Buffer>::get));
Vector<SafePtr<Buffer>> buffers{ptrs.begin(), ptrs.end()};
for (auto buffer : buffers)
context_wrap_for_buffer(*buffer);
diff --git a/src/containers.hh b/src/containers.hh
index 675a7fb5..321a075d 100644
--- a/src/containers.hh
+++ b/src/containers.hh
@@ -254,7 +254,7 @@ struct ConcatView
{
using ContainerIt1 = decltype(begin(std::declval<Container1>()));
using ContainerIt2 = decltype(begin(std::declval<Container2>()));
- using ValueType = typename ContainerIt1::value_type;
+ using ValueType = typename std::common_type<typename ContainerIt1::value_type, typename ContainerIt2::value_type>::type;
struct Iterator : std::iterator<std::forward_iterator_tag, ValueType>
{
@@ -265,7 +265,7 @@ struct ConcatView
: m_it1(std::move(it1)), m_end1(std::move(end1)),
m_it2(std::move(it2)) {}
- decltype(*std::declval<ContainerIt1>()) operator*() { return is2() ? *m_it2 : *m_it1; }
+ ValueType operator*() { return is2() ? *m_it2 : *m_it1; }
Iterator& operator++() { if (is2()) ++m_it2; else ++m_it1; return *this; }
Iterator operator++(int) { auto copy = *this; ++*this; return copy; }
diff --git a/src/face_registry.cc b/src/face_registry.cc
index a8fd0d8a..8fb95a56 100644
--- a/src/face_registry.cc
+++ b/src/face_registry.cc
@@ -95,8 +95,7 @@ CandidateList FaceRegistry::complete_alias_name(StringView prefix,
ByteCount cursor_pos) const
{
return complete(prefix, cursor_pos,
- m_aliases | transform([](const AliasMap::value_type& v) -> const String&
- { return v.first; }));
+ m_aliases | transform(std::mem_fn(&AliasMap::value_type::first)));
}
FaceRegistry::FaceRegistry()
diff --git a/src/option_types.hh b/src/option_types.hh
index 21f2acda..a37f37f3 100644
--- a/src/option_types.hh
+++ b/src/option_types.hh
@@ -32,7 +32,7 @@ struct option_type_name<Enum, typename std::enable_if<std::is_enum<Enum>::value>
{
constexpr StringView type = WithBitOps<Enum>::value ? "flags" : "enum";
auto name = enum_desc(Enum{});
- return type + "(" + join(name | transform([](const EnumDesc<Enum>& d) { return d.name; }), '|') + ")";
+ return type + "(" + join(name | transform(std::mem_fn(&EnumDesc<Enum>::name)), '|') + ")";
}
};
diff --git a/src/shell_manager.cc b/src/shell_manager.cc
index 01ff1db2..c0943528 100644
--- a/src/shell_manager.cc
+++ b/src/shell_manager.cc
@@ -235,9 +235,8 @@ String ShellManager::get_val(StringView name, const Context& context) const
CandidateList ShellManager::complete_env_var(StringView prefix,
ByteCount cursor_pos) const
{
- return complete(prefix, cursor_pos, m_env_vars |
- transform([](const EnvVarDesc& desc) -> const String&
- { return desc.str; }));
+ return complete(prefix, cursor_pos,
+ m_env_vars | transform(std::mem_fn(&EnvVarDesc::str)));
}
}