use C++17 std::invoke instead custom impl

This commit is contained in:
2019-09-03 04:05:51 +07:00
parent 86d53a3c40
commit 137ea5c7f6
6 changed files with 14 additions and 14 deletions

View File

@@ -301,7 +301,7 @@ namespace
{
bind_property_block(debug, ps, pb);
try {
stdex::invoke(
std::invoke(
std::forward<F>(f),
std::forward<Args>(args)...);
} catch (...) {
@@ -326,7 +326,7 @@ namespace
}
}
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
for ( std::size_t i = 0, e = geo.vertices_count(); i < e; ++i ) {
const vertex_buffer_ptr& vb = geo.vertices(i);

View File

@@ -391,7 +391,7 @@ namespace e2d::opengl
GL_CHECK_CODE(debug, glUseProgram(
program));
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
GL_CHECK_CODE(debug, glUseProgram(
math::numeric_cast<GLuint>(prev_program)));
@@ -418,7 +418,7 @@ namespace e2d::opengl
GL_CHECK_CODE(debug, glBindBuffer(
target, buffer));
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
GL_CHECK_CODE(debug, glBindBuffer(
target, math::numeric_cast<GLuint>(prev_buffer)));
@@ -445,7 +445,7 @@ namespace e2d::opengl
GL_CHECK_CODE(debug, glBindTexture(
target, texture));
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
GL_CHECK_CODE(debug, glBindTexture(
target, math::numeric_cast<GLuint>(prev_texture)));
@@ -472,7 +472,7 @@ namespace e2d::opengl
GL_CHECK_CODE(debug, glBindFramebuffer(
target, framebuffer));
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
GL_CHECK_CODE(debug, glBindFramebuffer(
target, math::numeric_cast<GLuint>(prev_framebuffer)));
@@ -499,7 +499,7 @@ namespace e2d::opengl
GL_CHECK_CODE(debug, glBindRenderbuffer(
target, renderbuffer));
try {
stdex::invoke(std::forward<F>(f), std::forward<Args>(args)...);
std::invoke(std::forward<F>(f), std::forward<Args>(args)...);
} catch (...) {
GL_CHECK_CODE(debug, glBindRenderbuffer(
target, math::numeric_cast<GLuint>(prev_renderbuffer)));

View File

@@ -43,7 +43,7 @@ namespace e2d
void shader::internal_state::with_uniform_location(str_hash name, F&& f) const {
const auto iter = uniforms_.find(name);
if ( iter != uniforms_.end() ) {
stdex::invoke(std::forward<F>(f), iter->second);
std::invoke(std::forward<F>(f), iter->second);
}
}
@@ -51,7 +51,7 @@ namespace e2d
void shader::internal_state::with_attribute_location(str_hash name, F&& f) const {
const auto iter = attributes_.find(name);
if ( iter != attributes_.end() ) {
stdex::invoke(std::forward<F>(f), iter->second);
std::invoke(std::forward<F>(f), iter->second);
}
}
@@ -178,10 +178,10 @@ namespace e2d
public:
internal_state& reset_states() noexcept;
internal_state& set_states(const state_block& sb) noexcept;
internal_state& reset_shader_program() noexcept;
internal_state& set_shader_program(const shader_ptr& sp) noexcept;
internal_state& reset_render_target() noexcept;
internal_state& set_render_target(const render_target_ptr& rt) noexcept;
private:

View File

@@ -98,7 +98,7 @@ namespace e2d
const auto resolved_url = resolve_url(url);
const auto scheme_iter = schemes.find(resolved_url.scheme());
return (scheme_iter != schemes.cend() && scheme_iter->second)
? stdex::invoke(
? std::invoke(
std::forward<F>(f),
scheme_iter->second,
resolved_url.path())

View File

@@ -322,7 +322,7 @@ namespace e2d
std::lock_guard<std::recursive_mutex> guard(rmutex);
for ( const event_listener_uptr& listener : listeners ) {
if ( listener ) {
stdex::invoke(f, *listener.get(), args...);
std::invoke(f, *listener.get(), args...);
}
}
}

View File

@@ -39,7 +39,7 @@ namespace e2d
std::lock_guard<std::recursive_mutex> guard(rmutex);
for ( const event_listener_uptr& listener : listeners ) {
if ( listener ) {
stdex::invoke(f, listener.get(), args...);
std::invoke(f, listener.get(), args...);
}
}
}