diff --git a/Builds/VisualStudio2012/beast.vcxproj b/Builds/VisualStudio2012/beast.vcxproj
index 7f441108a8..863017b823 100644
--- a/Builds/VisualStudio2012/beast.vcxproj
+++ b/Builds/VisualStudio2012/beast.vcxproj
@@ -70,7 +70,6 @@
-
diff --git a/Builds/VisualStudio2012/beast.vcxproj.filters b/Builds/VisualStudio2012/beast.vcxproj.filters
index c0c6ef94b6..97c40163d7 100644
--- a/Builds/VisualStudio2012/beast.vcxproj.filters
+++ b/Builds/VisualStudio2012/beast.vcxproj.filters
@@ -146,9 +146,6 @@
{af535ad5-a06c-462f-8ac0-8207a708e032}
-
- {4a91e76d-d6ab-4ce9-a451-0c2685cd3064}
-
@@ -752,9 +749,6 @@
beast_asio\sockets
-
- beast_asio\boost
- beast_asio\sockets
diff --git a/modules/beast_asio/beast_asio.h b/modules/beast_asio/beast_asio.h
index a8241ea635..8429bac781 100644
--- a/modules/beast_asio/beast_asio.h
+++ b/modules/beast_asio/beast_asio.h
@@ -40,8 +40,42 @@
// Must come before boost includes to fix the bost placeholders.
#include "../beast_core/beast_core.h"
+//------------------------------------------------------------------------------
+
/* This module requires boost and possibly OpenSSL */
-#include "boost/beast_BoostIncludes.h"
+
+// Make sure we take care of fixing boost::bind oddities first.
+#if !defined(BEAST_CORE_H_INCLUDED)
+#error beast_core.h must be included before including this file
+#endif
+
+#if BEAST_WIN32
+# ifndef _WIN32_WINNT
+# define _WIN32_WINNT 0x0600
+# endif
+# ifndef _VARIADIC_MAX
+# define _VARIADIC_MAX 10
+# endif
+#endif
+
+#include
+#include
+#include
+#include
+
+//#include
+//#include
+//#include
+//#include
+//#include
+//#include
+
+// VFALCO TODO check for version availability
+#ifndef BOOST_ASIO_INITFN_RESULT_TYPE
+#define BOOST_ASIO_INITFN_RESULT_TYPE(expr,val) void
+#endif
+
+//------------------------------------------------------------------------------
namespace beast
{
diff --git a/modules/beast_asio/boost/beast_BoostIncludes.h b/modules/beast_asio/boost/beast_BoostIncludes.h
deleted file mode 100644
index d4e2790593..0000000000
--- a/modules/beast_asio/boost/beast_BoostIncludes.h
+++ /dev/null
@@ -1,55 +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_BOOSTINCLUDES_H_INCLUDED
-#define BEAST_BOOSTINCLUDES_H_INCLUDED
-
-// Make sure we take care of fixing boost::bind oddities first.
-#if !defined(BEAST_CORE_H_INCLUDED)
-#error beast_core.h must be included before including this file
-#endif
-
-#if BEAST_WIN32
-# ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0600
-# endif
-# ifndef _VARIADIC_MAX
-# define _VARIADIC_MAX 10
-# endif
-#endif
-
-#include
-#include
-#include
-#include
-
-//#include
-//#include
-//#include
-//#include
-//#include
-//#include
-
-// VFALCO TODO check for version availability
-#ifndef BOOST_ASIO_INITFN_RESULT_TYPE
-#define BOOST_ASIO_INITFN_RESULT_TYPE(expr,val) void
-#endif
-
-#endif
-
diff --git a/modules/beast_asio/sockets/beast_SharedSocket.h b/modules/beast_asio/sockets/beast_SharedSocket.h
index 6309b10f1a..ed8554f135 100644
--- a/modules/beast_asio/sockets/beast_SharedSocket.h
+++ b/modules/beast_asio/sockets/beast_SharedSocket.h
@@ -20,7 +20,14 @@
#ifndef BEAST_SHAREDSOCKET_H_INCLUDED
#define BEAST_SHAREDSOCKET_H_INCLUDED
-/** A Socket interface with reference counting. */
+/** A Socket interface with reference counting.
+
+ You can keep a pointer to the base class so that you don't have
+ to see the template or underlying object implementation.
+
+ @see SharedSocketTYpe, SharedObjectPtr
+*/
+/** @{ */
class SharedSocket
: public SharedObject
, public virtual Socket
@@ -30,7 +37,28 @@ public:
typedef SharedObjectPtr Ptr;
};
-/** A RAII container for wrapping an object as a Socket. */
+//------------------------------------------------------------------------------
+
+/** A RAII container for wrapping an object as a Socket.
+
+ To use this, construct the class with an instance of your object
+ created with operator new. The constructor will take ownership,
+ and delete it when the last reference is removed. For example:
+
+ @code
+
+ boost::asio::io_service ios;
+ boost::asio::ssl:context ctx;
+
+ SharedSocket::Ptr mySocket (
+ new (boost::asio::ssl::stream (ios, ctx)));
+
+ mySocket->handshake ();
+
+ @endcode
+
+ @see SharedSocket
+*/
template
class SharedSocketType
: public SharedSocket
@@ -50,5 +78,6 @@ public:
private:
ScopedPointer