diff --git a/src/beast/Builds/VisualStudio2013/beast.vcxproj b/src/beast/Builds/VisualStudio2013/beast.vcxproj
index 45289b1f98..2b10a20331 100644
--- a/src/beast/Builds/VisualStudio2013/beast.vcxproj
+++ b/src/beast/Builds/VisualStudio2013/beast.vcxproj
@@ -71,20 +71,12 @@
true
true
-
- true
- true
- true
- true
-
-
-
@@ -104,11 +96,9 @@
-
-
@@ -159,7 +149,6 @@
-
@@ -188,9 +177,6 @@
-
-
-
@@ -198,7 +184,6 @@
-
@@ -235,23 +220,19 @@
-
-
-
-
-
-
+
+
+
-
@@ -293,17 +274,11 @@
-
-
-
-
-
-
@@ -314,40 +289,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -355,12 +316,9 @@
-
-
-
@@ -368,7 +326,6 @@
-
@@ -378,25 +335,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -677,12 +619,6 @@
true
-
- true
- true
- true
- true
-
@@ -922,40 +858,10 @@
true
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1016,30 +922,12 @@
true
true
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
true
true
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1064,42 +952,6 @@
true
true
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
true
true
@@ -1148,24 +1000,12 @@
true
true
-
- true
- true
- true
- true
-
true
true
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1190,24 +1030,6 @@
true
true
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
true
true
@@ -1220,12 +1042,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1238,12 +1054,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1256,24 +1066,12 @@
true
true
-
- true
- true
- true
- true
-
true
true
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1286,12 +1084,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1304,12 +1096,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1328,12 +1114,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
@@ -1358,90 +1138,6 @@
true
true
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
-
- true
- true
- true
- true
-
true
diff --git a/src/beast/Builds/VisualStudio2013/beast.vcxproj.filters b/src/beast/Builds/VisualStudio2013/beast.vcxproj.filters
index e91b7a526c..952d4caf84 100644
--- a/src/beast/Builds/VisualStudio2013/beast.vcxproj.filters
+++ b/src/beast/Builds/VisualStudio2013/beast.vcxproj.filters
@@ -16,12 +16,6 @@
beast_core\native
-
- beast_core\zip\zlib
-
-
- beast_core\native\java
-
_meta
@@ -90,9 +84,6 @@
{3b7d8d7e-eabc-423c-a631-2ff37bf9b9eb}
-
- {abe24d69-c1d1-49e2-98a1-1e7bf760b97a}
-
{e2339099-bb8e-4437-ae8b-d4f64ef1e3f3}
@@ -105,9 +96,6 @@
{1d018a70-71b3-4d70-9280-02efd4f348de}
-
- {ad675f57-9303-4712-9ff2-c7f59f959e7b}
-
{016d839c-4860-4bc3-8f6c-e965f50c2bfa}
@@ -126,15 +114,6 @@
{a1a38659-7779-41d6-8a3c-068433c4deaf}
-
- {df5f5a69-5919-4a24-bbce-b3f87e4903cf}
-
-
- {b0d206d9-c002-4be1-b503-4ad16aca838a}
-
-
- {31038502-9139-4c19-bd67-8f90f08a70ca}
-
{69e28551-92ea-420b-a465-75ed248e3b59}
@@ -195,18 +174,12 @@
{92d1bb42-289a-4444-85c7-cb87540f2fff}
-
- {5904368f-a0f2-4d26-a031-8cbe4448dc3f}
-
{5faa76ea-5691-4e63-8833-577f92991356}
{93670bc9-a748-42bd-8118-8de30c468b16}
-
- {85158eb2-9340-4b3d-a136-f7631c7f1b7c}
-
{56d34c67-7027-44ba-9f09-4591ce4afb36}
@@ -270,9 +243,6 @@
{30b0fdfb-02b6-47dd-bdd9-ffc1f57e1f2c}
-
- {df4f2935-13a1-4afe-90cc-d86472ec2466}
-
{174b9125-76a7-4796-be97-79c2dcc751f1}
@@ -315,9 +285,6 @@
{f2594738-6447-447b-8f51-2d42fbe8a6ee}
-
- {84acd0d5-5531-470e-b9a7-42af9003aa64}
-
{899ea9a6-1969-4cde-b26d-8ad60acebfa4}
@@ -335,33 +302,18 @@
beast_core\containers
-
- beast_core\containers
-
beast_core\containers
beast_core\containers
-
- beast_core\containers
-
beast_core\containers
-
- beast_core\containers
-
beast_core\containers
-
- beast_core\containers
-
-
- beast_core\containers
-
beast_core\files
@@ -377,24 +329,12 @@
beast_core\files
-
- beast_core\files
-
beast_core\files
-
- beast_core\json
-
-
- beast_core\logging
-
beast_core\logging
-
- beast_core\maths
-
beast_core\maths
@@ -404,21 +344,12 @@
beast_core\memory
-
- beast_core\memory
-
beast_core\misc
-
- beast_core\misc
-
beast_core\misc
-
- beast_core\native
-
beast_core\native
@@ -431,15 +362,6 @@
beast_core\native
-
- beast_core\network
-
-
- beast_core\network
-
-
- beast_core\streams
-
beast_core\streams
@@ -449,33 +371,18 @@
beast_core\streams
-
- beast_core\streams
-
beast_core\streams
beast_core\streams
-
- beast_core\streams
-
-
- beast_core\text
-
-
- beast_core\text
-
beast_core\text
beast_core\text
-
- beast_core\text
-
beast_core\threads
@@ -497,9 +404,6 @@
beast_core\threads
-
- beast_core\time
-
beast_core\time
@@ -509,60 +413,6 @@
beast_core\xml
-
- beast_core\zip
-
-
- beast_core\zip
-
-
- beast_core\zip
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\memory
-
-
- beast_core\memory
-
-
- beast_core\threads
-
-
- beast_core\diagnostic
-
beast_core\diagnostic
@@ -818,33 +668,9 @@
beast
-
- beast
-
-
- beast
-
-
- beast
-
-
- beast\type_traits
-
-
- beast\type_traits
-
-
- beast\type_traits
-
beast\utility
-
- beast
-
-
- beast\mpl
-
beast
@@ -869,9 +695,6 @@
beast\http\impl\http-parser
-
- beast
-
beast\strings
@@ -1088,18 +911,12 @@
beast\threads
-
- beast
-
beast\asio
beast\crypto
-
- beast\smart_ptr
-
beast
@@ -1202,9 +1019,6 @@
beast\chrono
-
- beast\chrono
-
beast\chrono
@@ -1214,12 +1028,6 @@
beast\chrono
-
- beast\chrono
-
-
- beast\type_traits
-
beast\utility
@@ -1335,9 +1143,6 @@
beast\container
-
- beast\workaround
-
beast\streams
@@ -1347,20 +1152,17 @@
beast\streams
+
+ beast\utility
+
+
+ beast\utility
+
+
+ beast\utility
+
-
- beast_core\containers
-
-
- beast_core\containers
-
-
- beast_core\containers
-
-
- beast_core\containers
-
beast_core\files
@@ -1379,18 +1181,9 @@
beast_core\files
-
- beast_core\json
-
-
- beast_core\logging
-
beast_core\logging
-
- beast_core\maths
-
beast_core\maths
@@ -1400,24 +1193,6 @@
beast_core\misc
-
- beast_core\misc
-
-
- beast_core\native
-
-
- beast_core\native
-
-
- beast_core\native
-
-
- beast_core\native
-
-
- beast_core\native
-
beast_core\native
@@ -1445,57 +1220,30 @@
beast_core\native
-
- beast_core\network
-
-
- beast_core\network
-
-
- beast_core\streams
-
beast_core\streams
beast_core\streams
-
- beast_core\streams
-
beast_core\streams
beast_core\streams
-
- beast_core\streams
-
-
- beast_core\text
-
-
- beast_core\text
-
beast_core\text
beast_core\text
-
- beast_core\text
-
beast_core\threads
beast_core\threads
-
- beast_core\time
-
beast_core\time
@@ -1505,48 +1253,6 @@
beast_core\xml
-
- beast_core\zip
-
-
- beast_core\zip
-
-
- beast_core\zip
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
-
- beast_core\zip\zlib
-
beast_core\native
@@ -1559,18 +1265,6 @@
beast_core\native
-
- beast_core\diagnostic
-
-
- beast_core\threads
-
-
- beast_core\native
-
-
- beast_core\native
-
beast_core\diagnostic
@@ -1844,9 +1538,6 @@
beast\crypto\impl
-
- beast\smart_ptr\impl
-
beast\insight
diff --git a/src/beast/beast/Arithmetic.h b/src/beast/beast/Arithmetic.h
index 54357c8dd4..da2925030e 100644
--- a/src/beast/beast/Arithmetic.h
+++ b/src/beast/beast/Arithmetic.h
@@ -27,7 +27,7 @@
#include "Config.h"
#include "CStdInt.h"
-#include "workaround/noexcept.h"
+#include "utility/noexcept.h"
#include
#include
diff --git a/src/beast/beast/Asio.h b/src/beast/beast/Asio.h
deleted file mode 100644
index 13c961f477..0000000000
--- a/src/beast/beast/Asio.h
+++ /dev/null
@@ -1,23 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_ASIO_H_INCLUDED
-#define BEAST_ASIO_H_INCLUDED
-
-#endif
diff --git a/src/beast/beast/Atomic.h b/src/beast/beast/Atomic.h
index e214a20864..bd252f70b3 100644
--- a/src/beast/beast/Atomic.h
+++ b/src/beast/beast/Atomic.h
@@ -28,7 +28,7 @@
#include "CStdInt.h"
#include "StaticAssert.h"
-#include "workaround/noexcept.h"
+#include "utility/noexcept.h"
namespace beast {
diff --git a/src/beast/beast/Chrono.h b/src/beast/beast/Chrono.h
index cc41b72f58..3e8b4220db 100644
--- a/src/beast/beast/Chrono.h
+++ b/src/beast/beast/Chrono.h
@@ -27,8 +27,6 @@
#include "chrono/manual_clock.h"
#include "chrono/ratio_io.h"
-#include "chrono/CPUMeter.h"
#include "chrono/RelativeTime.h"
-#include "chrono/ScopedTimeInterval.h"
#endif
diff --git a/src/beast/beast/HTTP.h b/src/beast/beast/HTTP.h
deleted file mode 100644
index 400191ed25..0000000000
--- a/src/beast/beast/HTTP.h
+++ /dev/null
@@ -1,26 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_HTTP_H_INCLUDED
-#define BEAST_HTTP_H_INCLUDED
-
-#include "http/URL.h"
-#include "http/ParsedURL.h"
-
-#endif
diff --git a/src/beast/beast/MPL.h b/src/beast/beast/MPL.h
deleted file mode 100644
index cd4d3eadeb..0000000000
--- a/src/beast/beast/MPL.h
+++ /dev/null
@@ -1,25 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_MPL_H_INCLUDED
-#define BEAST_MPL_H_INCLUDED
-
-#include "mpl/IsCallPossible.h"
-
-#endif
diff --git a/src/beast/beast/Net.h b/src/beast/beast/Net.h
deleted file mode 100644
index 6c4862d880..0000000000
--- a/src/beast/beast/Net.h
+++ /dev/null
@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_NET_H_INCLUDED
-#define BEAST_NET_H_INCLUDED
-
-#include "net/DynamicBuffer.h"
-
-#include "net/IPEndpoint.h"
-#include "net/IPAddressV4.h"
-#include "net/IPAddressV6.h"
-#include "net/IPEndpoint.h"
-
-#endif
diff --git a/src/beast/beast/SmartPtr.h b/src/beast/beast/SmartPtr.h
index c73470b262..13aab726a8 100644
--- a/src/beast/beast/SmartPtr.h
+++ b/src/beast/beast/SmartPtr.h
@@ -22,7 +22,6 @@
#include "Config.h"
-#include "smart_ptr/AbstractObject.h"
#include "smart_ptr/ContainerDeletePolicy.h"
#include "smart_ptr/SharedObject.h"
#include "smart_ptr/SharedPtr.h"
diff --git a/src/beast/beast/TypeTraits.h b/src/beast/beast/TypeTraits.h
deleted file mode 100644
index b790e9ada8..0000000000
--- a/src/beast/beast/TypeTraits.h
+++ /dev/null
@@ -1,27 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_TYPETRAITS_H_INCLUDED
-#define BEAST_TYPETRAITS_H_INCLUDED
-
-#include "type_traits/IntegralConstant.h"
-#include "type_traits/IsIntegral.h"
-#include "type_traits/IsSigned.h"
-
-#endif
diff --git a/src/beast/beast/Utility.h b/src/beast/beast/Utility.h
deleted file mode 100644
index c214de92d8..0000000000
--- a/src/beast/beast/Utility.h
+++ /dev/null
@@ -1,33 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_UTILITY_H_INCLUDED
-#define BEAST_UTILITY_H_INCLUDED
-
-#include "utility/Debug.h"
-#include "utility/Error.h"
-#include "utility/Journal.h"
-#include "utility/LeakChecked.h"
-#include "utility/PropertyStream.h"
-#include "utility/StaticObject.h"
-
-#include "utility/hash_pair.h"
-
-#endif
-
diff --git a/src/beast/beast/asio/buffer_sequence.h b/src/beast/beast/asio/buffer_sequence.h
index cef30457bf..19489fbf6b 100644
--- a/src/beast/beast/asio/buffer_sequence.h
+++ b/src/beast/beast/asio/buffer_sequence.h
@@ -22,7 +22,7 @@
#include
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
#include
#include
#include "../cxx14/type_traits.h" //
diff --git a/src/beast/beast/asio/enable_wait_for_async.h b/src/beast/beast/asio/enable_wait_for_async.h
index f6b877a801..bdd3f83a3d 100644
--- a/src/beast/beast/asio/enable_wait_for_async.h
+++ b/src/beast/beast/asio/enable_wait_for_async.h
@@ -22,7 +22,7 @@
#include "wrap_handler.h"
-#include "../mpl/IsCallPossible.h"
+#include "../utility/is_call_possible.h"
#include
#include
diff --git a/src/beast/beast/asio/memory_buffer.h b/src/beast/beast/asio/memory_buffer.h
index 1151e865bb..7f43be1bf3 100644
--- a/src/beast/beast/asio/memory_buffer.h
+++ b/src/beast/beast/asio/memory_buffer.h
@@ -24,7 +24,7 @@
#include
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
#include
#include
#include
diff --git a/src/beast/beast/asio/shared_handler.h b/src/beast/beast/asio/shared_handler.h
index b327e1498a..58e8e2c46f 100644
--- a/src/beast/beast/asio/shared_handler.h
+++ b/src/beast/beast/asio/shared_handler.h
@@ -22,14 +22,14 @@
#include "../Config.h"
-#include "../mpl/IsCallPossible.h"
+#include "../utility/is_call_possible.h"
#include
#include
#include
#include
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
#include
#include
#include "../cxx14/type_traits.h" //
diff --git a/src/beast/beast/asio/socket_wrapper.h b/src/beast/beast/asio/socket_wrapper.h
index 2a6df8e9ba..c5df18f538 100644
--- a/src/beast/beast/asio/socket_wrapper.h
+++ b/src/beast/beast/asio/socket_wrapper.h
@@ -23,7 +23,7 @@
#include "abstract_socket.h"
#include "bind_handler.h"
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
namespace beast {
namespace asio {
diff --git a/src/beast/beast/chrono/CPUMeter.h b/src/beast/beast/chrono/CPUMeter.h
deleted file mode 100644
index 5d21630a61..0000000000
--- a/src/beast/beast/chrono/CPUMeter.h
+++ /dev/null
@@ -1,159 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_CHRONO_CPUMETER_H_INCLUDED
-#define BEAST_CHRONO_CPUMETER_H_INCLUDED
-
-#include "RelativeTime.h"
-#include "ScopedTimeInterval.h"
-#include "../threads/SharedData.h"
-#include "../Atomic.h"
-
-namespace beast {
-
-/** Measurements of CPU utilization. */
-class CPUMeter
-{
-private:
- struct MeasureIdle
- {
- explicit MeasureIdle (CPUMeter& meter)
- : m_meter (&meter)
- { }
- void operator() (RelativeTime const& interval) const
- { m_meter->addIdleTime (interval); }
- CPUMeter* m_meter;
- };
-
- struct MeasureActive
- {
- explicit MeasureActive (CPUMeter& meter)
- : m_meter (&meter)
- { }
- void operator() (RelativeTime const& interval) const
- { m_meter->addActiveTime (interval); }
- CPUMeter* m_meter;
- };
-
- enum
- {
- // The amount of time an aggregate must accrue before a swap
- secondsPerAggregate = 3
-
- // The number of aggregates in the rolling history buffer
- ,numberOfAggregates = 20
- };
-
- // Aggregated sample data
- struct Aggregate
- {
- RelativeTime idle;
- RelativeTime active;
-
- // Returns the total number of seconds in the aggregate
- double seconds () const
- { return idle.inSeconds() + active.inSeconds(); }
-
- // Reset the accumulated times
- void clear ()
- { idle = RelativeTime (0); active = RelativeTime (0); }
-
- Aggregate& operator+= (Aggregate const& other)
- { idle += other.idle; active += other.active; return *this; }
-
- Aggregate& operator-= (Aggregate const& other)
- { idle -= other.idle; active -= other.active; return *this; }
- };
-
- struct State
- {
- State () : index (0)
- {
- }
-
- // Returns a reference to the current aggregate
- Aggregate& front ()
- {
- return history [index];
- }
-
- // Checks the current aggregate to see if we should advance
- void update()
- {
- if (front().seconds() >= secondsPerAggregate)
- advance();
- }
-
- // Advance the index in the rolling history
- void advance ()
- {
- usage += history [index];
- index = (index+1) % numberOfAggregates;
- usage -= history [index];
- history [index].clear ();
- }
-
- // Index of the current aggregate we are accumulating
- int index;
-
- // Delta summed usage over the entire history buffer
- Aggregate usage;
-
- // The rolling history buffer
- Aggregate history [numberOfAggregates];
- };
-
- typedef SharedData SharedState;
-
- SharedState m_state;
-
- void addIdleTime (RelativeTime const& interval)
- {
- SharedState::Access state (m_state);
- state->front().idle += interval;
- state->update();
- }
-
- void addActiveTime (RelativeTime const& interval)
- {
- SharedState::Access state (m_state);
- state->front().active += interval;
- state->update();
- }
-
-public:
- /** The type of container that measures idle time. */
- typedef ScopedTimeInterval ScopedIdleTime;
- typedef ScopedTimeInterval ScopedActiveTime;
-
- /** Returns the fraction of time that the CPU is being used. */
- double getUtilization () const
- {
- SharedState::ConstAccess state (m_state);
-
- double const seconds (state->usage.seconds());
- if (seconds > 0)
- return (state->usage.active.inSeconds() / seconds);
- return 0;
- }
-};
-
-}
-
-#endif
diff --git a/src/beast/beast/chrono/Chrono.cpp b/src/beast/beast/chrono/Chrono.cpp
index 0540b946d3..2dae119718 100644
--- a/src/beast/beast/chrono/Chrono.cpp
+++ b/src/beast/beast/chrono/Chrono.cpp
@@ -28,5 +28,4 @@
#include "impl/chrono_io.cpp"
#include "impl/basic_seconds_clock.cpp"
-#include "impl/CPUMeter.cpp"
#include "impl/RelativeTime.cpp"
diff --git a/src/beast/beast/chrono/RelativeTime.h b/src/beast/beast/chrono/RelativeTime.h
index d0c2665cbf..57da666b5b 100644
--- a/src/beast/beast/chrono/RelativeTime.h
+++ b/src/beast/beast/chrono/RelativeTime.h
@@ -27,7 +27,7 @@
#include "../Config.h"
#include "../strings/String.h"
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
#include
#include
diff --git a/src/beast/beast/chrono/ScopedTimeInterval.h b/src/beast/beast/chrono/ScopedTimeInterval.h
deleted file mode 100644
index 53b85b7427..0000000000
--- a/src/beast/beast/chrono/ScopedTimeInterval.h
+++ /dev/null
@@ -1,62 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_CHRONO_SCOPEDTIMEINTERVAL_H_INCLUDED
-#define BEAST_CHRONO_SCOPEDTIMEINTERVAL_H_INCLUDED
-
-#include "../Uncopyable.h"
-#include "RelativeTime.h"
-
-namespace beast {
-
-/** Time measurement using scoped RAII container.
- UnaryFunction will be called with this signature:
- void (RelativeTime const& interval);
-*/
-template
-class ScopedTimeInterval : public Uncopyable
-{
-public:
- /** Create the measurement with a default-constructed UnaryFunction. */
- ScopedTimeInterval ()
- : m_start (RelativeTime::fromStartup())
- {
- }
-
- /** Create the measurement with UnaryFunction constructed from one argument. */
- template
- explicit ScopedTimeInterval (Arg& arg)
- : m_func (arg)
- , m_start (RelativeTime::fromStartup ())
- {
- }
-
- ~ScopedTimeInterval ()
- {
- m_func (RelativeTime::fromStartup() - m_start);
- }
-
-private:
- UnaryFunction m_func;
- RelativeTime m_start;
-};
-
-}
-
-#endif
diff --git a/src/beast/beast/chrono/chrono_io.h b/src/beast/beast/chrono/chrono_io.h
index a5bf2f19b8..151297f1ec 100644
--- a/src/beast/beast/chrono/chrono_io.h
+++ b/src/beast/beast/chrono/chrono_io.h
@@ -29,7 +29,7 @@
#include "../Config.h"
-#include "../workaround/noexcept.h"
+#include "../utility/noexcept.h"
#include
#include
diff --git a/src/beast/beast/chrono/impl/CPUMeter.cpp b/src/beast/beast/chrono/impl/CPUMeter.cpp
deleted file mode 100644
index b5a67f4d1b..0000000000
--- a/src/beast/beast/chrono/impl/CPUMeter.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#include "../CPUMeter.h"
-
diff --git a/src/beast/beast/config/compiler/VisualC.h b/src/beast/beast/config/compiler/VisualC.h
index 6ca2d106e9..8f0b308ebb 100644
--- a/src/beast/beast/config/compiler/VisualC.h
+++ b/src/beast/beast/config/compiler/VisualC.h
@@ -19,4 +19,4 @@
// Microsoft Visual C++ compiler configuration
-#include "../../workaround/noexcept.h"
+#include "../../utility/noexcept.h"
diff --git a/src/beast/beast/net/impl/IPAddress.cpp b/src/beast/beast/net/impl/IPAddress.cpp
index f1edc2a8ba..61c3b707a8 100644
--- a/src/beast/beast/net/impl/IPAddress.cpp
+++ b/src/beast/beast/net/impl/IPAddress.cpp
@@ -19,7 +19,7 @@
#include
-#include "../IPAddress.h"
+#include "../IPEndpoint.h"
#include "../detail/Parse.h"
namespace beast {
diff --git a/src/beast/beast/smart_ptr/AbstractObject.h b/src/beast/beast/smart_ptr/AbstractObject.h
deleted file mode 100644
index c7155a50e5..0000000000
--- a/src/beast/beast/smart_ptr/AbstractObject.h
+++ /dev/null
@@ -1,255 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Portions of this file are from JUCE.
- Copyright (c) 2013 - Raw Material Software Ltd.
- Please visit http://www.juce.com
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#ifndef BEAST_SMARTPTR_ABSTRACTOBJECT_H_INCLUDED
-#define BEAST_SMARTPTR_ABSTRACTOBJECT_H_INCLUDED
-
-#include
-#include
-#include
-#include
-#include "../Atomic.h"
-#include "../Config.h"
-#include "../Uncopyable.h"
-#include "../intrusive/LockFreeStack.h"
-
-namespace beast {
-namespace abstract {
-
-/** Base for all abstract interfaces. */
-class BasicInterface
-{
-public:
- virtual ~BasicInterface() { }
-
- /** Returns the unique ID of this interface type.
- The ID must be the same for all instances of the
- derived interface.
- */
- virtual std::size_t id () const = 0;
-
- /** Returns the unique ID associated with the Derived type. */
- template
- static std::size_t type_id ()
- {
- static std::size_t const value (next_id ());
- return value;
- }
-
-private:
- // Returns a new unique id
- static std::size_t next_id ()
- {
- static Atomic value;
- return ++value;
- }
-};
-
-//------------------------------------------------------------------------------
-
-/** Base for a derived interface. */
-template
-class Interface : public BasicInterface
-{
-public:
- // Returns the unique ID for all instances of Derived
- std::size_t id () const
- {
- return BasicInterface::type_id ();
- }
-};
-
-//------------------------------------------------------------------------------
-
-/** Factory for producing interfaces on a specific object. */
-template
-class Factory
-{
-public:
- class Callback;
-
-private:
- struct Item;
-
- typedef LockFreeStack - Items;
-
- struct Item : Items::Node
- {
- Item (Callback& owner_)
- : owner (owner_)
- { }
- Callback& owner;
- };
-
- Items m_items;
-
-public:
- /** Base for hooking object creation. */
- class Callback
- {
- public:
- /** Create the callback and insert it into the factory. */
- explicit Callback (Factory& factory)
- : m_item (*this)
- {
- factory.m_items.push_front (&m_item);
- }
-
- /** Called when Object is created.
- Object must be fully constructed. The order of calls to callbacks
- is not defined.
- */
- virtual void create_interfaces (Object& object) = 0;
-
- private:
- Item m_item;
- };
-
- /** Invokes the callbacks for an instance of Object.
- This must be called after the object is fully constructed, for example
- as the last statement in the constructor.
- */
- void create_interfaces (Object& object)
- {
- for (typename Items::iterator iter (m_items.begin());
- iter != m_items.end(); ++iter)
- iter->owner.create_interfaces (object);
- }
-};
-
-//------------------------------------------------------------------------------
-
-/** A container of polymorphic interfaces.
- The Object type associated with the container is used to gain access
- to the corresponding factory.
-*/
-template
-class Interfaces : public Uncopyable
-{
-public:
- Interfaces ()
- {
- }
-
- /** Returns a reference to the specified interface.
- The interface must exist in the container or an exception is thrown.
- Requirements:
- Derived must be a subclass of Interface
- */
- /** @{ */
- template
- Derived& get_interface()
- {
- Derived* derived (find_interface ());
- if (derived == nullptr)
- throw std::bad_cast ();
- return *derived;
- }
-
- template
- Derived const& get_interface() const
- {
- Derived const* derived (find_interface ());
- if (derived == nullptr)
- throw std::bad_cast ();
- return *derived;
- }
- /** @} */
-
- /** Returns a pointer to the specified interface.
- If the interface does not exist, `nullptr` is returned.
- Requirements:
- Derived must be a subclass of Interface
- */
- /** @{ */
- template
- Derived* find_interface()
- {
- std::size_t const id = BasicInterface::type_id ();
-
- for (typename Set::iterator iter (m_set.begin());
- iter != m_set.end(); ++iter)
- {
- if ((*iter)->id() == id)
- {
- Derived* const derived (
- dynamic_cast (iter->get()));
- check_postcondition (derived != nullptr);
- return derived;
- }
- }
- return nullptr;
- }
-
- template
- Derived const* find_interface() const
- {
- std::size_t const id = BasicInterface::type_id ();
-
- for (typename Set::const_iterator iter (m_set.begin());
- iter != m_set.end(); ++iter)
- {
- if ((*iter)->id() == id)
- {
- Derived const* const derived (
- dynamic_cast (iter->get()));
- check_postcondition (derived != nullptr);
- return derived;
- }
- }
- return nullptr;
- }
-
- template
- bool has_interface() const
- {
- return find_interface () != nullptr;
- }
- /** @} */
-
- /** Adds the specified interface to the container.
- Ownership of the object, which must be allocated via operator new,
- is transferred to the container. If the interface already exists,
- an exception is thrown.
- Requirements:
- Derived must be a subclass of Interface
- */
- template
- void add_interface (Derived* derived)
- {
- std::unique_ptr base_interface (
- derived);
- if (has_interface ())
- throw std::invalid_argument ("non-unique");
- m_set.emplace_back (base_interface.release ());
- }
-
-private:
- typedef std::list > Set;
- Set m_set;
-};
-
-}
-}
-
-#endif
diff --git a/src/beast/beast/smart_ptr/SmartPtr.cpp b/src/beast/beast/smart_ptr/SmartPtr.cpp
index 0216422ecd..f7f123567e 100644
--- a/src/beast/beast/smart_ptr/SmartPtr.cpp
+++ b/src/beast/beast/smart_ptr/SmartPtr.cpp
@@ -29,5 +29,3 @@
#include "SharedPtr.h"
#include "../../modules/beast_core/beast_core.h" // for UnitTest
-
-#include "impl/AbstractObject.cpp"
diff --git a/src/beast/beast/smart_ptr/impl/AbstractObject.cpp b/src/beast/beast/smart_ptr/impl/AbstractObject.cpp
deleted file mode 100644
index d597c6fca5..0000000000
--- a/src/beast/beast/smart_ptr/impl/AbstractObject.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of Beast: https://github.com/vinniefalco/Beast
- Copyright 2013, Vinnie Falco
-
- Portions of this file are from JUCE.
- Copyright (c) 2013 - Raw Material Software Ltd.
- Please visit http://www.juce.com
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#include "../AbstractObject.h"
-
-namespace beast {
-namespace abstract {
-
-class AbstractObjectTests : public UnitTest
-{
-public:
- class Object : public Interfaces