From 738878ca28f335b9153a69088e131a9a7fddcb85 Mon Sep 17 00:00:00 2001 From: BlackMATov Date: Tue, 30 Jan 2024 15:46:47 +0700 Subject: [PATCH] prevent windows.h min/max issues --- develop/singles/headers/meta.hpp/meta_all.hpp | 12 ++++++++---- headers/meta.hpp/meta_binds/class_bind.hpp | 9 ++++++--- headers/meta.hpp/meta_binds/scope_bind.hpp | 3 ++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/develop/singles/headers/meta.hpp/meta_all.hpp b/develop/singles/headers/meta.hpp/meta_all.hpp index e51b447..94f3a43 100644 --- a/develop/singles/headers/meta.hpp/meta_all.hpp +++ b/develop/singles/headers/meta.hpp/meta_all.hpp @@ -4996,7 +4996,8 @@ namespace meta_hpp && "provided argument names don't match constructor argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); @@ -5038,7 +5039,8 @@ namespace meta_hpp && "provided argument names don't match function argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); @@ -5087,7 +5089,8 @@ namespace meta_hpp && "provided argument names don't match method argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); @@ -5213,7 +5216,8 @@ namespace meta_hpp && "provided arguments don't match function argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); diff --git a/headers/meta.hpp/meta_binds/class_bind.hpp b/headers/meta.hpp/meta_binds/class_bind.hpp index 9db8ff8..28223f2 100644 --- a/headers/meta.hpp/meta_binds/class_bind.hpp +++ b/headers/meta.hpp/meta_binds/class_bind.hpp @@ -43,7 +43,8 @@ namespace meta_hpp && "provided argument names don't match constructor argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); @@ -85,7 +86,8 @@ namespace meta_hpp && "provided argument names don't match function argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); @@ -134,7 +136,8 @@ namespace meta_hpp && "provided argument names don't match method argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata()); diff --git a/headers/meta.hpp/meta_binds/scope_bind.hpp b/headers/meta.hpp/meta_binds/scope_bind.hpp index b94d7d3..cd0e27c 100644 --- a/headers/meta.hpp/meta_binds/scope_bind.hpp +++ b/headers/meta.hpp/meta_binds/scope_bind.hpp @@ -36,7 +36,8 @@ namespace meta_hpp && "provided arguments don't match function argument count" ); - for ( std::size_t i{}, e{std::min(arguments.size(), state->arguments.size())}; i < e; ++i ) { + using std::min; // prevents windows.h min/max issues + for ( std::size_t i{}, e{min(arguments.size(), state->arguments.size())}; i < e; ++i ) { argument& arg = state->arguments[i]; detail::state_access(arg)->name = std::move(arguments[i].get_name()); detail::state_access(arg)->metadata = std::move(arguments[i].get_metadata());