mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
Fix alignment issues with optional implementation
Update single.py to look at toplevel file rather than listing out all base sources string_shim didn't have the proper header Improve gitignore
This commit is contained in:
parent
bbcbd41efe
commit
e1329d244a
145
.gitignore
vendored
145
.gitignore
vendored
|
@ -1,72 +1,73 @@
|
|||
# Python (Bytecode)
|
||||
*.pyc
|
||||
|
||||
# ninja files
|
||||
*.ninja
|
||||
|
||||
# Visual Studio
|
||||
*.props
|
||||
*.user
|
||||
.vs/
|
||||
Debug/
|
||||
Release/
|
||||
x64/
|
||||
*.vcxproj
|
||||
*.vcxproj.filters
|
||||
*.tlog
|
||||
*.lastbuildstate
|
||||
*.idb
|
||||
*.sln
|
||||
*.gitattributes
|
||||
|
||||
# VSCode
|
||||
.vscode/
|
||||
|
||||
# Compiler outputs
|
||||
obj/*
|
||||
bin/*
|
||||
|
||||
# Dropbox interference
|
||||
.dropbox*
|
||||
|
||||
# QtCreator
|
||||
*.creator.user.*
|
||||
*.config
|
||||
*.creator
|
||||
*.files
|
||||
*.includes
|
||||
|
||||
# Scratchpad Files
|
||||
main2.cpp
|
||||
main.cpp
|
||||
|
||||
# Local Lua Testbeds
|
||||
lua-5.3.2/
|
||||
lua-5.3.1/
|
||||
lua-5.3.0/
|
||||
lua-5.2.4/
|
||||
lua-5.2.2/
|
||||
lua-5.2.3/
|
||||
lua-5.1.5/
|
||||
luajit-2.0.4/
|
||||
luajit-2.0.3/
|
||||
include/
|
||||
liblua.a
|
||||
lib/liblua5.2.a
|
||||
|
||||
# Windows Crap
|
||||
desktop.ini
|
||||
*.sublime-workspace
|
||||
docs/build/
|
||||
*.sublime-project
|
||||
m.lua
|
||||
single/sol.hpp
|
||||
*.db
|
||||
lua53.dll
|
||||
main.exe
|
||||
main.o
|
||||
lua-5.3.3/
|
||||
main.lua
|
||||
LuaJIT-2.1.0/
|
||||
lua-5.3.3-cxx/
|
||||
lua-5.3.3.vcxproj-cxx.filters
|
||||
# Python (Bytecode)
|
||||
*.pyc
|
||||
|
||||
# ninja files
|
||||
*.ninja
|
||||
|
||||
# Visual Studio
|
||||
*.props
|
||||
*.user
|
||||
.vs/
|
||||
Debug/
|
||||
Release/
|
||||
x64/
|
||||
*.vcxproj
|
||||
*.vcxproj.filters
|
||||
*.tlog
|
||||
*.lastbuildstate
|
||||
*.idb
|
||||
*.sln
|
||||
*.gitattributes
|
||||
|
||||
# VSCode
|
||||
.vscode/
|
||||
|
||||
# Compiler outputs
|
||||
obj/*
|
||||
bin/*
|
||||
|
||||
# Dropbox interference
|
||||
.dropbox*
|
||||
|
||||
# QtCreator
|
||||
*.creator.user.*
|
||||
*.config
|
||||
*.creator
|
||||
*.files
|
||||
*.includes
|
||||
|
||||
# Scratchpad Files
|
||||
main2.cpp
|
||||
main.cpp
|
||||
|
||||
# Local Lua Testbeds
|
||||
lua-5.3.2/
|
||||
lua-5.3.1/
|
||||
lua-5.3.0/
|
||||
lua-5.2.4/
|
||||
lua-5.2.2/
|
||||
lua-5.2.3/
|
||||
lua-5.1.5/
|
||||
luajit-2.0.4/
|
||||
luajit-2.0.3/
|
||||
include/
|
||||
liblua.a
|
||||
lib/liblua5.2.a
|
||||
|
||||
# Windows Crap
|
||||
desktop.ini
|
||||
*.sublime-workspace
|
||||
docs/build/
|
||||
*.sublime-project
|
||||
m.lua
|
||||
single/sol.hpp
|
||||
*.db
|
||||
lua53.dll
|
||||
main.exe
|
||||
main.o
|
||||
lua-5.3.3/
|
||||
main.lua
|
||||
LuaJIT-2.1.0/
|
||||
lua-5.3.3-cxx/
|
||||
lua-5.3.3.vcxproj-cxx.filters
|
||||
sol.pyproj
|
||||
|
|
|
@ -148,7 +148,7 @@ if not args.quiet:
|
|||
print('Current version: {version} (revision {revision})\n'.format(version = version, revision = revision))
|
||||
|
||||
|
||||
processed_files = [os.path.join(script_path, 'sol', x) for x in ('state.hpp', 'object.hpp', 'function.hpp', 'coroutine.hpp')]
|
||||
processed_files = [os.path.join(script_path, x) for x in ['sol.hpp']]
|
||||
result = ''
|
||||
|
||||
ss = StringIO()
|
||||
|
|
|
@ -20,13 +20,35 @@
|
|||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
// This file was generated with a script.
|
||||
// Generated 2016-12-10 10:55:55.463053 UTC
|
||||
// This header was generated with sol v2.15.5 (revision f4f3bff)
|
||||
// Generated 2016-12-16 05:28:22.940422 UTC
|
||||
// This header was generated with sol v2.15.5 (revision bbcbd41)
|
||||
// https://github.com/ThePhD/sol2
|
||||
|
||||
#ifndef SOL_SINGLE_INCLUDE_HPP
|
||||
#define SOL_SINGLE_INCLUDE_HPP
|
||||
|
||||
// beginning of sol.hpp
|
||||
|
||||
#ifndef SOL_HPP
|
||||
#define SOL_HPP
|
||||
|
||||
#if defined(UE_BUILD_DEBUG) || defined(UE_BUILD_DEVELOPMENT) || defined(UE_BUILD_TEST) || defined(UE_BUILD_SHIPPING) || defined(UE_SERVER)
|
||||
#define SOL_INSIDE_UNREAL
|
||||
#endif // Unreal Engine 4 bullshit
|
||||
|
||||
#ifdef SOL_INSIDE_UNREAL
|
||||
#ifdef check
|
||||
#define SOL_INSIDE_UNREAL_REMOVED_CHECK
|
||||
#undef check
|
||||
#endif
|
||||
#endif // Unreal Engine 4 Bullshit
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wshadow"
|
||||
#pragma GCC diagnostic ignored "-Wconversion"
|
||||
#endif // g++
|
||||
|
||||
// beginning of sol/state.hpp
|
||||
|
||||
// beginning of sol/state_view.hpp
|
||||
|
@ -1388,7 +1410,7 @@ inline int luaL_fileresult(lua_State *L, int stat, const char *fname) {
|
|||
}
|
||||
else {
|
||||
char buf[1024];
|
||||
#ifdef __GLIBC__
|
||||
#if defined(__GLIBC__) || defined(_POSIX_VERSION)
|
||||
strerror_r(en, buf, 1024);
|
||||
#else
|
||||
strerror_s(buf, 1024, en);
|
||||
|
@ -2067,18 +2089,17 @@ namespace sol {
|
|||
};
|
||||
|
||||
template <class T>
|
||||
struct optional_base
|
||||
{
|
||||
struct optional_base {
|
||||
char storage_[sizeof(T) + (sizeof(T) % alignof(T))];
|
||||
bool init_;
|
||||
char storage_[sizeof(T)];
|
||||
|
||||
constexpr optional_base() noexcept : init_(false), storage_() {};
|
||||
constexpr optional_base() noexcept : storage_(), init_(false) {};
|
||||
|
||||
explicit optional_base(const T& v) : init_(true), storage_() {
|
||||
explicit optional_base(const T& v) : storage_(), init_(true) {
|
||||
new (&storage())T(v);
|
||||
}
|
||||
|
||||
explicit optional_base(T&& v) : init_(true), storage_() {
|
||||
explicit optional_base(T&& v) : storage_(), init_(true) {
|
||||
new (&storage())T(constexpr_move(v));
|
||||
}
|
||||
|
||||
|
@ -2116,17 +2137,16 @@ namespace sol {
|
|||
using constexpr_optional_base = optional_base<T>;
|
||||
#else
|
||||
template <class T>
|
||||
struct constexpr_optional_base
|
||||
{
|
||||
struct constexpr_optional_base {
|
||||
char storage_[sizeof(T) + (sizeof(T) % alignof(T))];
|
||||
bool init_;
|
||||
char storage_[sizeof(T)];
|
||||
constexpr constexpr_optional_base() noexcept : init_(false), storage_() {}
|
||||
constexpr constexpr_optional_base() noexcept : storage_(), init_(false) {}
|
||||
|
||||
explicit constexpr constexpr_optional_base(const T& v) : init_(true), storage_() {
|
||||
explicit constexpr constexpr_optional_base(const T& v) : storage_(), init_(true) {
|
||||
new (&storage())T(v);
|
||||
}
|
||||
|
||||
explicit constexpr constexpr_optional_base(T&& v) : init_(true), storage_() {
|
||||
explicit constexpr constexpr_optional_base(T&& v) : storage_(), init_(true) {
|
||||
new (&storage())T(constexpr_move(v));
|
||||
}
|
||||
|
||||
|
@ -2917,8 +2937,6 @@ namespace sol {
|
|||
|
||||
// beginning of sol/string_shim.hpp
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace sol {
|
||||
namespace string_detail {
|
||||
struct string_shim {
|
||||
|
@ -2977,7 +2995,9 @@ namespace sol {
|
|||
}
|
||||
};
|
||||
}
|
||||
}// end of sol/string_shim.hpp
|
||||
}
|
||||
|
||||
// end of sol/string_shim.hpp
|
||||
|
||||
#include <array>
|
||||
|
||||
|
@ -13057,4 +13077,17 @@ namespace sol {
|
|||
|
||||
// end of sol/coroutine.hpp
|
||||
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic pop
|
||||
#endif // g++
|
||||
|
||||
#ifdef SOL_INSIDE_UNREAL
|
||||
#ifdef SOL_INSIDE_UNREAL_REMOVED_CHECK
|
||||
#define check(expr) { if(UNLIKELY(!(expr))) { FDebug::LogAssertFailedMessage( #expr, __FILE__, __LINE__ ); _DebugBreakAndPromptForRemote(); FDebug::AssertFailed( #expr, __FILE__, __LINE__ ); CA_ASSUME(false); } }}
|
||||
#endif
|
||||
#endif // Unreal Engine 4 Bullshit
|
||||
|
||||
#endif // SOL_HPP
|
||||
// end of sol.hpp
|
||||
|
||||
#endif // SOL_SINGLE_INCLUDE_HPP
|
||||
|
|
|
@ -309,7 +309,7 @@ inline int luaL_fileresult(lua_State *L, int stat, const char *fname) {
|
|||
}
|
||||
else {
|
||||
char buf[1024];
|
||||
#ifdef __GLIBC__
|
||||
#if defined(__GLIBC__) || defined(_POSIX_VERSION)
|
||||
strerror_r(en, buf, 1024);
|
||||
#else
|
||||
strerror_s(buf, 1024, en);
|
||||
|
|
|
@ -287,18 +287,17 @@ namespace sol {
|
|||
|
||||
|
||||
template <class T>
|
||||
struct optional_base
|
||||
{
|
||||
struct optional_base {
|
||||
char storage_[sizeof(T) + (sizeof(T) % alignof(T))];
|
||||
bool init_;
|
||||
char storage_[sizeof(T)];
|
||||
|
||||
constexpr optional_base() noexcept : init_(false), storage_() {};
|
||||
constexpr optional_base() noexcept : storage_(), init_(false) {};
|
||||
|
||||
explicit optional_base(const T& v) : init_(true), storage_() {
|
||||
explicit optional_base(const T& v) : storage_(), init_(true) {
|
||||
new (&storage())T(v);
|
||||
}
|
||||
|
||||
explicit optional_base(T&& v) : init_(true), storage_() {
|
||||
explicit optional_base(T&& v) : storage_(), init_(true) {
|
||||
new (&storage())T(constexpr_move(v));
|
||||
}
|
||||
|
||||
|
@ -336,17 +335,16 @@ namespace sol {
|
|||
using constexpr_optional_base = optional_base<T>;
|
||||
#else
|
||||
template <class T>
|
||||
struct constexpr_optional_base
|
||||
{
|
||||
struct constexpr_optional_base {
|
||||
char storage_[sizeof(T) + (sizeof(T) % alignof(T))];
|
||||
bool init_;
|
||||
char storage_[sizeof(T)];
|
||||
constexpr constexpr_optional_base() noexcept : init_(false), storage_() {}
|
||||
constexpr constexpr_optional_base() noexcept : storage_(), init_(false) {}
|
||||
|
||||
explicit constexpr constexpr_optional_base(const T& v) : init_(true), storage_() {
|
||||
explicit constexpr constexpr_optional_base(const T& v) : storage_(), init_(true) {
|
||||
new (&storage())T(v);
|
||||
}
|
||||
|
||||
explicit constexpr constexpr_optional_base(T&& v) : init_(true), storage_() {
|
||||
explicit constexpr constexpr_optional_base(T&& v) : storage_(), init_(true) {
|
||||
new (&storage())T(constexpr_move(v));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,26 @@
|
|||
#pragma once
|
||||
// The MIT License (MIT)
|
||||
|
||||
// Copyright (c) 2013-2016 Rapptz, ThePhD and contributors
|
||||
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
// this software and associated documentation files (the "Software"), to deal in
|
||||
// the Software without restriction, including without limitation the rights to
|
||||
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
// the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
// subject to the following conditions:
|
||||
|
||||
// The above copyright notice and this permission notice shall be included in all
|
||||
// copies or substantial portions of the Software.
|
||||
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#ifndef SOL_STRING_SHIM_HPP
|
||||
#define SOL_STRING_SHIM_HPP
|
||||
|
||||
#include <cstddef>
|
||||
#include <string>
|
||||
|
@ -61,4 +83,6 @@ namespace sol {
|
|||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif // SOL_STRING_SHIM_HPP
|
||||
|
|
Loading…
Reference in New Issue
Block a user