diff --git a/single/sol/sol.hpp b/single/sol/sol.hpp index 1e7a4fbc..3111c0d4 100644 --- a/single/sol/sol.hpp +++ b/single/sol/sol.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2018-01-29 03:58:41.319175 UTC -// This header was generated with sol v2.19.0 (revision 57681ab) +// Generated 2018-01-30 16:02:31.849348 UTC +// This header was generated with sol v2.19.0 (revision 54003df) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_HPP @@ -71,7 +71,7 @@ #endif // C++17 features check #ifdef SOL_CXX17_FEATURES -#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201703L) && defined(_WIN64)))) +#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201403L)))) #ifndef SOL_NOEXCEPT_FUNCTION_TYPE #define SOL_NOEXCEPT_FUNCTION_TYPE 1 #endif // noexcept is part of a function's type @@ -805,34 +805,36 @@ namespace meta { #ifdef SOL_NOEXCEPT_FUNCTION_TYPE template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args...) noexcept; }; template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args...) noexcept; }; - template - struct fx_traits : basic_traits { + /* __stdcall cannot be applied to functions with varargs*/ + /*template + struct fx_traits<__stdcall R(Args..., ...) noexcept, false> : basic_traits { typedef R(__stdcall* function_pointer_type)(Args..., ...) noexcept; }; template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args..., ...) noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) noexcept; - }; + };*/ /* Const Volatile */ template @@ -840,80 +842,88 @@ namespace meta { typedef R (__stdcall T::*function_pointer_type)(Args...) const noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) & noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) & noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) && noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) && noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const&& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const&& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile&& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile&& noexcept; - }; + };*/ #endif // noexcept is part of a function's type #endif // __stdcall x86 VC++ bug @@ -4255,7 +4265,7 @@ namespace sol { template result_type operator()(const std::basic_string& r) const { - return (*this)(basic_string_view(r.c_str(), r.size())); + return (*this)(argument_type(r.c_str(), r.size())); } result_type operator()(const argument_type& r) const { diff --git a/single/sol/sol_forward.hpp b/single/sol/sol_forward.hpp index e487acfd..e14cb62b 100644 --- a/single/sol/sol_forward.hpp +++ b/single/sol/sol_forward.hpp @@ -20,8 +20,8 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // This file was generated with a script. -// Generated 2018-01-29 03:58:41.505172 UTC -// This header was generated with sol v2.19.0 (revision 57681ab) +// Generated 2018-01-30 16:02:32.064930 UTC +// This header was generated with sol v2.19.0 (revision 54003df) // https://github.com/ThePhD/sol2 #ifndef SOL_SINGLE_INCLUDE_FORWARD_HPP @@ -38,7 +38,7 @@ #endif // C++17 features check #ifdef SOL_CXX17_FEATURES -#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201703L) && defined(_WIN64)))) +#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201403L)))) #ifndef SOL_NOEXCEPT_FUNCTION_TYPE #define SOL_NOEXCEPT_FUNCTION_TYPE 1 #endif // noexcept is part of a function's type diff --git a/sol/bind_traits.hpp b/sol/bind_traits.hpp index aac9eb8a..11993735 100644 --- a/sol/bind_traits.hpp +++ b/sol/bind_traits.hpp @@ -376,34 +376,36 @@ namespace meta { #ifdef SOL_NOEXCEPT_FUNCTION_TYPE template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args...) noexcept; }; template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args...) noexcept; }; - template - struct fx_traits : basic_traits { + /* __stdcall cannot be applied to functions with varargs*/ + /*template + struct fx_traits<__stdcall R(Args..., ...) noexcept, false> : basic_traits { typedef R(__stdcall* function_pointer_type)(Args..., ...) noexcept; }; template - struct fx_traits : basic_traits { + struct fx_traits : basic_traits { typedef R(__stdcall* function_pointer_type)(Args..., ...) noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) noexcept; - }; + };*/ /* Const Volatile */ template @@ -411,80 +413,88 @@ namespace meta { typedef R (__stdcall T::*function_pointer_type)(Args...) const noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) & noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) & noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) && noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) && noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const&& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const&& noexcept; - }; + };*/ template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args...) const volatile&& noexcept; }; - template + /* __stdcall does not work with varargs */ + /*template struct fx_traits : basic_traits { typedef R (__stdcall T::*function_pointer_type)(Args..., ...) const volatile&& noexcept; - }; + };*/ #endif // noexcept is part of a function's type #endif // __stdcall x86 VC++ bug diff --git a/sol/feature_test.hpp b/sol/feature_test.hpp index 73f603e6..ae58e418 100644 --- a/sol/feature_test.hpp +++ b/sol/feature_test.hpp @@ -35,7 +35,7 @@ // on /std:c++latest under x86 conditions (VS 15.5.2), // compiler errors are tossed for noexcept markings being on function types // that are identical in every other way to their non-noexcept marked types function types... -#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201703L) && defined(_WIN64)))) +#if defined(__cpp_noexcept_function_type) || ((defined(_MSC_VER) && _MSC_VER > 1911) && (defined(_MSVC_LANG) && ((_MSVC_LANG >= 201403L)))) #ifndef SOL_NOEXCEPT_FUNCTION_TYPE #define SOL_NOEXCEPT_FUNCTION_TYPE 1 #endif // noexcept is part of a function's type diff --git a/sol/string_view.hpp b/sol/string_view.hpp index cdefce56..2c7a76b6 100644 --- a/sol/string_view.hpp +++ b/sol/string_view.hpp @@ -133,7 +133,7 @@ namespace sol { template result_type operator()(const std::basic_string& r) const { - return (*this)(basic_string_view(r.c_str(), r.size())); + return (*this)(argument_type(r.c_str(), r.size())); } result_type operator()(const argument_type& r) const {