$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
From: chris_at_[hidden]
Date: 2007-11-29 17:26:45
Author: chris_kohlhoff
Date: 2007-11-29 17:26:44 EST (Thu, 29 Nov 2007)
New Revision: 41478
URL: http://svn.boost.org/trac/boost/changeset/41478
Log:
Add macro documentation.
Text files modified: 
   trunk/libs/asio/doc/using.qbk |    96 ++++++++++++++++++++++++++++++++++++++++
   1 files changed, 96 insertions(+), 0 deletions(-)
Modified: trunk/libs/asio/doc/using.qbk
==============================================================================
--- trunk/libs/asio/doc/using.qbk	(original)
+++ trunk/libs/asio/doc/using.qbk	2007-11-29 17:26:44 EST (Thu, 29 Nov 2007)
@@ -130,4 +130,100 @@
 
 ]
 
+[heading Macros]
+
+The macros listed in the table below may be used to control the behaviour of
+Boost.Asio.
+
+[table
+  [[Macro][Description]]
+  [
+    [`BOOST_ASIO_ENABLE_BUFFER_DEBUGGING`]
+    [
+      Enables Boost.Asio's buffer debugging support, which can help identify when
+      invalid buffers are used in read or write operations (e.g. if a
+      std::string object being written is destroyed before the write operation
+      completes).
+
+      When using Microsoft Visual C++, this macro is defined automatically if
+      the compiler's iterator debugging support is enabled, unless
+      `BOOST_ASIO_DISABLE_BUFFER_DEBUGGING` has been defined.
+
+      When using g++, this macro is defined automatically if standard library
+      debugging is enabled (`_GLIBCXX_DEBUG` is defined), unless
+      `BOOST_ASIO_DISABLE_BUFFER_DEBUGGING` has been defined.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_DISABLE_BUFFER_DEBUGGING`]
+    [
+      Explictly disables Boost.Asio's buffer debugging support.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_DISABLE_DEV_POLL`]
+    [
+      Explicitly disables [^/dev/poll] support on Solaris, forcing the use of
+      a `select`-based implementation.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_DISABLE_EPOLL`]
+    [
+      Explicitly disables `epoll` support on Linux, forcing the use of a
+      `select`-based implementation.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_DISABLE_KQUEUE`]
+    [
+      Explicitly disables `kqueue` support on Mac OS X and BSD variants,
+      forcing the use of a `select`-based implementation.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_DISABLE_IOCP`]
+    [
+      Explicitly disables I/O completion ports support on Windows, forcing the
+      use of a `select`-based implementation.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN`]
+    [
+      By default, Boost.Asio will automatically define `WIN32_LEAN_AND_MEAN` when
+      compiling for Windows, to minimise the number of Windows SDK header files
+      and features that are included. The presence of
+      `BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN` prevents `WIN32_LEAN_AND_MEAN` from
+      being defined.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_NO_DEFAULT_LINKED_LIBS`]
+    [
+      When compiling for Windows using Microsoft Visual C++ or Borland C++, Boost.Asio
+      will automatically link in the necessary Windows SDK libraries for sockets
+      support (i.e. [^ws2_32.lib] and [^mswsock.lib], or [^ws2.lib] when
+      building for Windows CE). The `BOOST_ASIO_NO_DEFAULT_LINKED_LIBS` macro
+      prevents these libraries from being linked.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_SOCKET_STREAMBUF_MAX_ARITY`]
+    [
+      Determines the maximum number of arguments that may be passed to the 
+      `basic_socket_streambuf` class template's `connect` member function.
+      Defaults to 5.
+    ]
+  ]
+  [
+    [`BOOST_ASIO_SOCKET_IOSTREAM_MAX_ARITY`]
+    [
+      Determines the maximum number of arguments that may be passed to the 
+      `basic_socket_iostream` class template's constructor and `connect` member
+      function. Defaults to 5.
+    ]
+  ]
+]
+
 [endsect]