updated boost on windows

This commit is contained in:
Bassem Girgis
2019-08-13 21:48:48 -05:00
parent 7d77d485fd
commit b40a3bee82
5162 changed files with 473027 additions and 116452 deletions

View File

@@ -8,9 +8,10 @@
#ifndef BOOST_DLL_DEMANGLE_SYMBOL_HPP_
#define BOOST_DLL_DEMANGLE_SYMBOL_HPP_
#include <boost/config.hpp>
#include <boost/dll/config.hpp>
#include <string>
#include <algorithm>
#include <memory>
#if defined(BOOST_MSVC) || defined(BOOST_MSVC_FULL_VER)
@@ -88,7 +89,7 @@ inline std::string demangle_symbol(const char *mangled_name)
}
//for my personal convinience
//for my personal convenience
inline std::string demangle_symbol(const std::string& mangled_name)
{
return demangle_symbol(mangled_name.c_str());

View File

@@ -70,7 +70,7 @@ public:
explicit mangled_storage_base(library_info & li) : mangled_storage_base(li.symbols()) {}
explicit mangled_storage_base(
const boost::filesystem::path& library_path,
const boost::dll::fs::path& library_path,
bool throw_if_not_native_format = true)
: mangled_storage_base(library_info(library_path, throw_if_not_native_format).symbols())
{
@@ -78,7 +78,7 @@ public:
}
void load(library_info & li) { storage_.clear(); add_symbols(li.symbols()); };
void load(const boost::filesystem::path& library_path,
void load(const boost::dll::fs::path& library_path,
bool throw_if_not_native_format = true)
{
storage_.clear();

View File

@@ -36,7 +36,7 @@ class mangled_storage_impl : public mangled_storage_base
{
return get_name<Return>();
}
//function to remove preceeding 'class ' or 'struct ' if the are given in this format.
//function to remove preceding 'class ' or 'struct ' if the are given in this format.
inline static void trim_typename(std::string & val);
public:
@@ -78,7 +78,7 @@ public:
void mangled_storage_impl::trim_typename(std::string & val)
{
//remove preceeding class or struct, because you might want to use a struct as class, et vice versa
//remove preceding class or struct, because you might want to use a struct as class, et vice versa
if (val.size() >= 6)
{
using namespace std;
@@ -98,46 +98,48 @@ namespace parser
{
namespace x3 = spirit::x3;
auto ptr_rule_impl(std::integral_constant<std::size_t, 32>)
inline auto ptr_rule_impl(std::integral_constant<std::size_t, 32>)
{
return -((-x3::space) >> "__ptr32");
}
auto ptr_rule_impl(std::integral_constant<std::size_t, 64>)
inline auto ptr_rule_impl(std::integral_constant<std::size_t, 64>)
{
return -((-x3::space) >> "__ptr64");
}
auto ptr_rule() { return ptr_rule_impl(std::integral_constant<std::size_t, sizeof(std::size_t)*8>());}
inline auto ptr_rule() {
return ptr_rule_impl(std::integral_constant<std::size_t, sizeof(std::size_t)*8>());
}
auto const visibility = ("public:" | x3::lit("protected:") | "private:");
auto const virtual_ = x3::space >> "virtual";
auto const static_ = x3::space >> x3::lit("static") ;
auto const_rule_impl(true_type ) {return x3::space >> "const";};
auto const_rule_impl(false_type) {return x3::eps;};
inline auto const_rule_impl(true_type ) {return x3::space >> "const";};
inline auto const_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto const_rule() {using t = is_const<typename remove_reference<T>::type>; return const_rule_impl(t());}
auto volatile_rule_impl(true_type ) {return x3::space >> "volatile";};
auto volatile_rule_impl(false_type) {return x3::eps;};
inline auto volatile_rule_impl(true_type ) {return x3::space >> "volatile";};
inline auto volatile_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto volatile_rule() {using t = is_volatile<typename remove_reference<T>::type>; return volatile_rule_impl(t());}
auto inv_const_rule_impl(true_type ) {return "const" >> x3::space ;};
auto inv_const_rule_impl(false_type) {return x3::eps;};
inline auto inv_const_rule_impl(true_type ) {return "const" >> x3::space ;};
inline auto inv_const_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto inv_const_rule() {using t = is_const<typename remove_reference<T>::type>; return inv_const_rule_impl(t());}
auto inv_volatile_rule_impl(true_type ) {return "volatile" >> x3::space;};
auto inv_volatile_rule_impl(false_type) {return x3::eps;};
inline auto inv_volatile_rule_impl(true_type ) {return "volatile" >> x3::space;};
inline auto inv_volatile_rule_impl(false_type) {return x3::eps;};
template<typename T>
auto inv_volatile_rule() {using t = is_volatile<typename remove_reference<T>::type>; return inv_volatile_rule_impl(t());}
auto reference_rule_impl(false_type, false_type) {return x3::eps;}
auto reference_rule_impl(true_type, false_type) {return x3::space >>"&" ;}
auto reference_rule_impl(false_type, true_type ) {return x3::space >>"&&" ;}
inline auto reference_rule_impl(false_type, false_type) {return x3::eps;}
inline auto reference_rule_impl(true_type, false_type) {return x3::space >>"&" ;}
inline auto reference_rule_impl(false_type, true_type ) {return x3::space >>"&&" ;}
template<typename T>
@@ -158,7 +160,7 @@ namespace parser
ptr_rule();
}
template<>
auto type_rule<void>(const std::string &) { return x3::string("void"); };
inline auto type_rule<void>(const std::string &) { return x3::string("void"); };
auto const cdecl_ = "__cdecl" >> x3::space;
auto const stdcall = "__stdcall" >> x3::space;