Update documentation.

This commit is contained in:
chris_kohlhoff 2007-01-05 11:10:30 +00:00
parent f34a9d5d2d
commit 6e041119a8
43 changed files with 30 additions and 3236 deletions

View File

@ -96,28 +96,6 @@ EXTRA_DIST = \
release_checklist.htm \
tutorial_header.htm \
tutorial_footer.htm \
concepts/Async_Object.hpp \
concepts/Async_Read_Stream.hpp \
concepts/Async_Write_Stream.hpp \
concepts/Boolean_Socket_Option.hpp \
concepts/Boolean_IO_Control_Command.hpp \
concepts/Const_Buffers.hpp \
concepts/CopyConstructible.hpp \
concepts/Dispatcher.hpp \
concepts/Endpoint.hpp \
concepts/Error_Source.hpp \
concepts/IO_Control_Command.hpp \
concepts/IP_MReq_Socket_Option.hpp \
concepts/IP_Network_Interface_Socket_Option.hpp \
concepts/Integer_Socket_Option.hpp \
concepts/Linger_Socket_Option.hpp \
concepts/Mutable_Buffers.hpp \
concepts/Protocol.hpp \
concepts/Size_IO_Control_Command.hpp \
concepts/Socket_Option.hpp \
concepts/Stream.hpp \
concepts/Sync_Read_Stream.hpp \
concepts/Sync_Write_Stream.hpp \
design/buffers_dox.txt \
design/closeascancel_dox.txt \
design/glossary_dox.txt \

View File

@ -1,370 +0,0 @@
BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
font-family: Geneva, Arial, Helvetica, sans-serif;
}
BODY,TD {
font-size: 10pt;
}
CAPTION { font-weight: bold }
DIV.sidebar {
width: 210px;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-bottom: 20px;
padding: 2px;
line-height: 140%;
}
DIV.sidebar TABLE TR TD {
font-size: 10pt;
}
DIV.sidebar UL {
margin-top: 10px;
margin-bottom: 10px;
}
DIV.qindex {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.nav {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.navtab {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
TD.navtab {
font-size: 10pt;
}
A.qindex {
text-decoration: none;
font-weight: bold;
color: #1A419D;
}
A.qindex:visited {
text-decoration: none;
font-weight: bold;
color: #1A419D
}
A.qindex:hover {
text-decoration: none;
background-color: #ddddff;
}
A.qindexHL {
text-decoration: none;
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
A.qindexHL:hover {
text-decoration: none;
background-color: #6666cc;
color: #ffffff;
}
A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }
A.el { text-decoration: none; font-weight: bold }
A.elRef { text-decoration: none; font-weight: bold }
A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}
A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}
A.codeRef:link { text-decoration: none; font-weight: normal; color: #0000FF}
A.codeRef:visited { text-decoration: none; font-weight: normal; color: #0000FF}
A:hover { text-decoration: none; background-color: #f2f2ff }
DL.el { margin-left: -1cm }
.fragment {
font-family: monospace, fixed;
font-size: 10pt;
}
PRE.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
margin-top: 4px;
margin-bottom: 4px;
margin-left: 2px;
margin-right: 8px;
padding-left: 6px;
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
}
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
DIV.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: bold;
}
DIV.groupText { margin-left: 16px; font-style: italic; font-size: 10pt }
BODY {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}
TD.indexkey {
background-color: #e8eef2;
font-weight: bold;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TD.indexvalue {
background-color: #e8eef2;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TR.memlist {
background-color: #f0f0f0;
}
P.formulaDsp { text-align: center; }
IMG.formulaDsp { }
IMG.formulaInl { vertical-align: middle; }
SPAN.keyword { color: #008000 }
SPAN.keywordtype { color: #604020 }
SPAN.keywordflow { color: #e08000 }
SPAN.comment { color: #800000 }
SPAN.preprocessor { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral { color: #008080 }
.mdescLeft {
padding: 0px 8px 4px 8px;
font-size: 10pt;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.mdescRight {
padding: 0px 8px 4px 8px;
font-size: 10pt;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.memItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 10pt;
}
.memItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 10pt;
}
.memTemplItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 10pt;
}
.memTemplItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 10pt;
}
.memTemplParams {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
color: #606060;
background-color: #FAFAFA;
font-size: 10pt;
}
.search { color: #003399;
font-weight: bold;
}
FORM.search {
margin-bottom: 0px;
margin-top: 0px;
}
INPUT.search { font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
TD.tiny { font-size: 75%;
}
a {
color: #1A41A8;
}
a:visited {
color: #2A3798;
}
a.anchor { text-decoration: none; color: black; }
a.anchor:hover { text-decoration: none; background-color: white; }
.dirtab { padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
}
TH.dirtab { background: #e8eef2;
font-weight: bold;
}
HR { height: 1px;
border: none;
border-top: 1px solid black;
}
/* Style for detailed member documentation */
.memtemplate {
font-size: 10pt;
color: #606060;
font-weight: normal;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 4px;
background-color: #eef3f5;
border-width: 1px;
border-style: solid;
border-color: #dedeee;
-moz-border-radius: 8px 8px 8px 8px;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memdoc{
padding-left: 10px;
}
.memproto {
background-color: #d5e1e8;
width: 100%;
border-width: 1px;
border-style: solid;
border-color: #84b0c7;
font-weight: bold;
-moz-border-radius: 8px 8px 8px 8px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
font-style: italic;
}
/* End Styling for detailed member documentation */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin:0.5em;
}
.directory { font-size: 9pt; font-weight: bold; }
.directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; }
.directory > h3 { margin-top: 0; }
.directory p { margin: 0px; white-space: nowrap; }
.directory div { display: none; margin: 0px; }
.directory img { vertical-align: -30%; }
DIV.asio-nav {
text-align: right;
}

View File

@ -1,54 +0,0 @@
[library Boost.Asio
[quickbook 1.3]
[copyright 2003 - 2006 Christopher M. Kohlhoff]
[purpose Networking library]
[license
Distributed under the Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
[@http://www.boost.org/LICENSE_1_0.txt])
]
[authors [Kohlhoff, Christopher]]
[category template]
[category generic]
[last-revision $Date: 2006-06-14 12:34:39 $]
]
Boost.Asio is a cross-platform C++ library for network programming that
provides developers with a consistent asynchronous I/O model using a modern C++
approach.
[section Getting Started]
The [@../tutorial/index.html tutorial] introduces the fundamental concepts
required to use Boost.Asio, and shows how to use Boost.Asio to develop simple
client and server programs.
The [@../examples/index.html examples] illustrate the use of Boost.Asio in a
variety of applications.
The [link boost_asio.quick_reference quick reference] provides a high level
view of the classes in Boost.Asio.
[endsect]
[section Dependencies]
There is no need to build any of the Boost libraries to use most of Boost.Asio,
and only the header files are required. However, some overloads of `read_until`
and `async_read_until` require the Boost.Regex library.
[note With MSVC or Borland C++ you may need to add -DBOOST_ALL_NO_LIB to your
project settings to disable autolinking of the Boost.Date_Time and Boost.Regex
libraries.]
To use the SSL support, OpenSSL is required. OpenSSL is not necessary to use
the rest of Boost.Asio.
[endsect]
[section:quick_reference Quick Reference]
[include deadline_timer.qbk]
[endsect]
[section:full_reference Full Reference]
The full reference includes all templates and classes that comprise
Boost.Asio's public interface.
[@../reference/index.html View full reference.]
[endsect]

View File

@ -1,83 +0,0 @@
[section:deadline_timer deadline_timer Class]
Provides waitable timer functionality.
[heading Member Functions]
[table
[
[Name]
[Description]
]
[
[[*[link boost_asio.quick_reference.deadline_timer.cancel cancel]]]
[Cancels any asynchronous operations that are waiting on the timer.]
]
[
[[*[link boost_asio.quick_reference.deadline_timer.wait wait]]]
[Performs a blocking wait on the timer.]
]
]
[/-----------------------------------------------------------------------------]
[section:cancel deadline_timer::cancel]
Cancels any asynchronous operations that are waiting on the timer.
std::size_t cancel()
[heading Return Value]
The member function returns the number of asynchronous operations that were
cancelled.
[heading Remarks]
The handler for each cancelled asynchronous operation will be passed the
error::operation_aborted error code.
Cancelling the timer does not change the expiry time.
[endsect]
[/-----------------------------------------------------------------------------]
[section:deadline_timer deadline_timer::deadline_timer]
[endsect]
[/-----------------------------------------------------------------------------]
[section:expires_at deadline_timer::expires_at]
std::size_t expires_at(
const boost::posix_time::ptime& expiry_time
);
[endsect]
[/-----------------------------------------------------------------------------]
[section:expires_from_now deadline_timer::expires_from_now]
std::size_t expires_from_now(
const boost::posix_time::time_duration& expiry_time
);
[endsect]
[/-----------------------------------------------------------------------------]
[section:wait deadline_timer::wait]
Peforms a blocking wait on the timer.
void wait();
[endsect]
[/-----------------------------------------------------------------------------]
[section:async_wait deadline_timer::async_wait]
template <typename Handler>
void async_wait(
Handler handler
);
[endsect]
[endsect]

View File

@ -1,231 +0,0 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Boost.Asio Design"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../../doc/design
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ./../../include/
STRIP_FROM_INC_PATH =
SHORT_NAMES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = NO
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = NO
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./design_dox.txt \
./design/handlers_dox.txt \
./design/closeascancel_dox.txt \
./design/services_dox.txt \
./design/threads_dox.txt \
./design/buffers_dox.txt \
./design/proactor_dox.txt \
./design/implementation_dox.txt \
./design/glossary_dox.txt
FILE_PATTERNS =
RECURSIVE = NO
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH = ./../../example
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 1
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER = ./design_header.htm
HTML_FOOTER = ./design_footer.htm
HTML_STYLESHEET = ./asio.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = GENERATING_DOCUMENTATION
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = ./asio.doxytags=../reference
GENERATE_TAGFILE = ./design.doxytags
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS = ./design
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@ -1,37 +0,0 @@
/**
\mainpage Boost.Asio Design Index
Some design notes:
\li <b>\ref designglossary</b>: Defines some terms used in the design and
implementation of Boost.Asio.
\li <b>\ref designproactor</b>: The Boost.Asio library is based on the Proactor
pattern. This design note outlines the advantages and disadvantages of this
approach.
\li <b>\ref designthreads</b>: An implementation of Boost.Asio for a particular
platform may make use of one or more additional threads to emulate
asynchronicity. This design note discusses design rules applied to the use of
threads in this way.
\li <b>\ref designservices</b>: This design note describes the pattern used for
structuring asynchronous object implementation.
\li <b>\ref designhandlers</b>: All asynchronous operations take a function
object that will be called when the operation completes. This design note
outlines the reasons for making the this handler type a template parameter,
rather than using boost::function.
\li <b>\ref designcloseascancel</b>: Asynchronous socket operations can be
cancelled by closing the socket. This design note describes why this approach
was selected rather than allowing individual operations to be cancelled.
\li <b>\ref designbuffers</b>: This design note examines the buffer abstraction
used by Boost.Asio in order to support scatter-gather operations.
\li <b>\ref designimplementation</b>: This design note lists platform-specific
implementation details, such as the default demultiplexing mechanism, the number
of threads created internally, and when threads are created.
*/

View File

@ -1,14 +0,0 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2003 - 2006 Christopher M. Kohlhoff</small></td>
</tr></table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>
</body>
</html>

View File

@ -1,24 +0,0 @@
<html>
<head>
<title>$title</title>
<link href="../boostbook.css" rel="stylesheet" type="text/css">
<link href="asio.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../boost.png"></td>
<td align="center"><a href="../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../doc/html/libraries.html">Libraries</a></td>
<td align="center"><a href="../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>

View File

@ -1,229 +0,0 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Boost.Asio Examples"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../examples
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ./../../example/ \
./
STRIP_FROM_INC_PATH =
SHORT_NAMES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = NO
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./examples_dox.txt \
./../../example/http/server \
./../../example/serialization \
./../../example/services
FILE_PATTERNS =
RECURSIVE = NO
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH = ./../../example
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = YES
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 1
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER = ./examples_header.htm
HTML_FOOTER = ./examples_footer.htm
HTML_STYLESHEET = ./asio.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = GENERATING_DOCUMENTATION
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = ./asio.doxytags=../reference \
./design.doxytags=../design
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
CLASS_GRAPH = NO
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
COMPACT_UML_LOOK = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@ -1,286 +0,0 @@
/**
\mainpage Boost.Asio Examples
\section allocation_section Allocation
This example shows how to customise the allocation of memory associated with
asynchronous operations.
\li \ref allocation_server_cpp
\section buffers_section Buffers
This example demonstrates how to create reference counted buffers that can be
used with socket read and write operations.
\li \ref buffers_reference_counted_cpp
\section chat_section Chat
This example implements a chat server and client. The programs use a custom
protocol with a fixed length message header and variable length message body.
\li \ref chat_chat_message_hpp
\li \ref chat_chat_client_cpp
\li \ref chat_chat_server_cpp
\section echo_section Echo
A collection of simple clients and servers, showing the use of both synchronous
and asynchronous operations.
\li \ref echo_async_tcp_echo_server_cpp
\li \ref echo_async_udp_echo_server_cpp
\li \ref echo_blocking_tcp_echo_client_cpp
\li \ref echo_blocking_tcp_echo_server_cpp
\li \ref echo_blocking_udp_echo_client_cpp
\li \ref echo_blocking_udp_echo_server_cpp
\section httpclient_section HTTP Client
Example programs implementing simple HTTP 1.0 clients. These examples show how
to use the \ref read_until and \ref async_read_until functions.
\li \ref httpclient_sync_client_cpp
\li \ref httpclient_async_client_cpp
\section httpserver_section HTTP Server
This example illustrates the use of Boost.Asio in a server implementation of
HTTP 1.0. It demonstrates how to perform a clean shutdown by cancelling all
outstanding asynchronous operations.
\li \ref http::server "HTTP Server Classes"
\li \ref httpserver_files
\section iostreams_section Iostreams
Two examples showing how to use boost::asio::ip::tcp::iostream.
\li \ref iostreams_daytime_client_cpp
\li \ref iostreams_daytime_server_cpp
\section multicast_section Multicast
An example showing the use of multicast to transmit packets to a group of
subscribers.
\li \ref multicast_receiver_cpp
\li \ref multicast_sender_cpp
\section serialization_section Serialization
This example shows how Boost.Serialization can be used with Boost.Asio to
encode and decode structures for transmission over a socket.
\li \ref ::s11n_example "Serialization Classes"
\li \ref serialization_files
\section services_section Services
This example demonstrates how to:
\li Integrate custom functionality (in this case, for logging) into
Boost.Asio's io_service. It follows the pattern defined in the \ref
designservices design note.
\li Use a custom service with boost::asio::basic_stream_socket.
\li \ref ::services "Services Classes"
\li \ref services_files
\section ssl_section SSL
Example client and server programs showing the use of the
boost::asio::ssl::stream template with asynchronous operations.
\li \ref ssl_client_cpp
\li \ref ssl_server_cpp
\section timeouts_section Timeouts
A collection of examples showing how to cancel long running asynchronous
operations after a period of time.
\li \ref timeouts_accept_timeout_cpp
\li \ref timeouts_connect_timeout_cpp
\li \ref timeouts_datagram_receive_timeout_cpp
\li \ref timeouts_stream_receive_timeout_cpp
\section timers_section Timers
Examples showing how to customise deadline_timer using different time types.
\li \ref timers_tick_count_timer_cpp
\li \ref timers_time_t_timer_cpp
*/
/**
\page allocation_server_cpp allocation/server.cpp
\include allocation/server.cpp
*/
/**
\page buffers_reference_counted_cpp buffers/reference_counted.cpp
\include buffers/reference_counted.cpp
*/
/**
\page chat_chat_message_hpp chat/chat_message.hpp
\include chat/chat_message.hpp
*/
/**
\page chat_chat_client_cpp chat/chat_client.cpp
\include chat/chat_client.cpp
*/
/**
\page chat_chat_server_cpp chat/chat_server.cpp
\include chat/chat_server.cpp
*/
/**
\page echo_async_tcp_echo_server_cpp echo/async_tcp_echo_server.cpp
\include echo/async_tcp_echo_server.cpp
*/
/**
\page echo_async_udp_echo_server_cpp echo/async_udp_echo_server.cpp
\include echo/async_udp_echo_server.cpp
*/
/**
\page echo_blocking_tcp_echo_client_cpp echo/blocking_tcp_echo_client.cpp
\include echo/blocking_tcp_echo_client.cpp
*/
/**
\page echo_blocking_tcp_echo_server_cpp echo/blocking_tcp_echo_server.cpp
\include echo/blocking_tcp_echo_server.cpp
*/
/**
\page echo_blocking_udp_echo_client_cpp echo/blocking_udp_echo_client.cpp
\include echo/blocking_udp_echo_client.cpp
*/
/**
\page echo_blocking_udp_echo_server_cpp echo/blocking_udp_echo_server.cpp
\include echo/blocking_udp_echo_server.cpp
*/
/**
\page httpclient_async_client_cpp http/client/async_client.cpp
\include http/client/async_client.cpp
*/
/**
\page httpclient_sync_client_cpp http/client/sync_client.cpp
\include http/client/sync_client.cpp
*/
/**
\page httpserver_files HTTP Server Files
\li \ref http/server/connection.cpp "connection.cpp"
\li \ref http/server/connection.hpp "connection.hpp"
\li \ref http/server/connection_manager.cpp "connection_manager.cpp"
\li \ref http/server/connection_manager.hpp "connection_manager.hpp"
\li \ref http/server/header.hpp "header.hpp"
\li \ref http/server/mime_types.cpp "mime_types.cpp"
\li \ref http/server/mime_types.hpp "mime_types.hpp"
\li \ref http/server/posix_main.cpp "posix_main.cpp"
\li \ref http/server/reply.cpp "reply.cpp"
\li \ref http/server/reply.hpp "reply.hpp"
\li \ref http/server/request.hpp "request.hpp"
\li \ref http/server/request_handler.cpp "request_handler.cpp"
\li \ref http/server/request_handler.hpp "request_handler.hpp"
\li \ref http/server/request_parser.cpp "request_parser.cpp"
\li \ref http/server/request_parser.hpp "request_parser.hpp"
\li \ref http/server/server.cpp "server.cpp"
\li \ref http/server/server.hpp "server.hpp"
\li \ref http/server/win_main.cpp "win_main.cpp"
*/
/**
\page iostreams_daytime_client_cpp iostreams/daytime_client.cpp
\include iostreams/daytime_client.cpp
*/
/**
\page iostreams_daytime_server_cpp iostreams/daytime_server.cpp
\include iostreams/daytime_server.cpp
*/
/**
\page multicast_receiver_cpp multicast/receiver.cpp
\include multicast/receiver.cpp
*/
/**
\page multicast_sender_cpp multicast/sender.cpp
\include multicast/sender.cpp
*/
/**
\page serialization_files Serialization Files
\li \ref serialization/client.cpp "client.cpp"
\li \ref serialization/connection.hpp "connection.hpp"
\li \ref serialization/server.cpp "server.cpp"
\li \ref serialization/stock.hpp "stock.hpp"
*/
/**
\page services_files Services Files
\li \ref services/basic_logger.hpp "basic_logger.hpp"
\li \ref services/daytime_client.cpp "daytime_client.cpp"
\li \ref services/logger.hpp "logger.hpp"
\li \ref services/logger_service.hpp "logger_service.hpp"
\li \ref services/stream_socket_service.hpp "stream_socket_service.hpp"
*/
/**
\page ssl_client_cpp ssl/client.cpp
\include ssl/client.cpp
*/
/**
\page ssl_server_cpp ssl/server.cpp
\include ssl/server.cpp
*/
/**
\page timeouts_accept_timeout_cpp timeouts/accept_timeout.cpp
\include timeouts/accept_timeout.cpp
*/
/**
\page timeouts_connect_timeout_cpp timeouts/connect_timeout.cpp
\include timeouts/connect_timeout.cpp
*/
/**
\page timeouts_datagram_receive_timeout_cpp timeouts/datagram_receive_timeout.cpp
\include timeouts/datagram_receive_timeout.cpp
*/
/**
\page timeouts_stream_receive_timeout_cpp timeouts/stream_receive_timeout.cpp
\include timeouts/stream_receive_timeout.cpp
*/
/**
\page timers_tick_count_timer_cpp timers/tick_count_timer.cpp
\include timers/tick_count_timer.cpp
*/
/**
\page timers_time_t_timer_cpp timers/time_t_timer.cpp
\include timers/time_t_timer.cpp
*/

View File

@ -1,14 +0,0 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2003 - 2006 Christopher M. Kohlhoff</small></td>
</tr></table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>
</body>
</html>

View File

@ -1,24 +0,0 @@
<html>
<head>
<title>$title</title>
<link href="../boostbook.css" rel="stylesheet" type="text/css">
<link href="asio.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../boost.png"></td>
<td align="center"><a href="../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../doc/html/libraries.html">Libraries</a></td>
<td align="center"><a href="../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>

View File

@ -1,152 +0,0 @@
<html>
<head>
<title>Boost.Asio Documentation</title>
<link href="boostbook.css" rel="stylesheet" type="text/css">
<link href="asio.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="boost.png"></td>
<td align="center"><a href="../../../index.htm">Home</a></td>
<td align="center"><a href="../../../doc/html/libraries.html">Libraries</a></td>
<td align="center"><a href="../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="asio-nav">
<a href="index.html">Home</a> |
<a href="reference/index.html">Reference</a> |
<a href="tutorial/index.html">Tutorial</a> |
<a href="examples/index.html">Examples</a> |
<a href="design/index.html">Design</a>
</div>
<h1>Boost.Asio</h1>
<p>
Boost.Asio is a cross-platform C++ library for network programming that
provides developers with a consistent asynchronous I/O model using a
modern C++ approach.
</p>
<h2>Getting Started</h2>
<p>
The <a href="tutorial/index.html">tutorial</a> introduces the fundamental
concepts required to use Boost.Asio, and shows how to use Boost.Asio to
develop simple client and server programs.
</p>
<p>
The <a href="examples/index.html">examples</a> illustrate the use of
Boost.Asio in more complex applications.
</p>
<h2>Dependencies</h2>
<p>
There is no need to build any of the Boost libraries to use most of
Boost.Asio, and only the header files are required. However, some
overloads of <tt>read_until</tt> and <tt>async_read_until</tt> require
the Boost.Regex library. (Note: with MSVC or Borland C++ you may need to
add -DBOOST_ALL_NO_LIB to your project settings to disable autolinking of
the Boost.Date_Time and Boost.Regex libraries.)
</p>
<p>
To use the SSL support, <a href="http://www.openssl.org">OpenSSL</a> is
required. OpenSSL is not necessary to use the rest of Boost.Asio.
</p>
<h2>Supported Platforms</h2>
<p>
The following platforms and compilers have been tested:
<ul>
<li>
Win32 using Visual C++ 7.1 and Visual C++ 8.0.
</li>
<li>
Win32 using Borland C++Builder 6 patch 4.
</li>
<li>
Win32 using MinGW.
</li>
<li>
Win32 using Cygwin. (__USE_W32_SOCKETS must be defined.)
</li>
<li>
Linux (2.4 or 2.6 kernels) using g++ 3.3 or later.
</li>
<li>
Solaris using g++ 3.3 or later.
</li>
<li>
Mac OS X 10.4 using g++ 3.3 or later.
</li>
<li>
QNX Neutrino 6.3 using g++ 3.3 or later.
</li>
</ul>
</p>
<h2>Rationale</h2>
<p>
The Boost.Asio library is intended for programmers using C++ for systems
programming, where access to operating system functionality such as
networking is often required. In particular, Boost.Asio attempts to
address the following goals:
<ul>
<li>
<b>Portability.</b> The library should support, and provide consistent
behaviour across, a range of commonly used operating systems.
</li>
<li>
<b>Scalability.</b> The library should allow, and indeed encourage,
the development of network applications that scale to hundreds or
thousands of concurrent connections. The library implementation for
each operating system should use the mechanism that best enables this
scalability.
</li>
<li>
<b>Efficiency.</b> The library should support techniques such as
scatter-gather I/O, and allow protocol implementations that minimise
data copying.
</li>
<li>
<b>Model Berkeley sockets.</b> The Berkeley sockets API is widely
implemented and understood, as well as being covered in much
literature. Other programming languages often use a similar interface
for networking APIs.
</li>
<li>
<b>Ease of use.</b> Lower the entry barrier for new users by taking a
toolkit, rather than framework, approach. That is, try to minimise
the up-front investment in time to just learning a few basic rules and
guidelines. After that, a library user should only need to understand
the specific functions that are being used.
</li>
<li>
<b>Basis for further abstraction.</b> The library should permit the
development of other libraries that provide higher levels of
abstraction. For example, implementations of commonly used protocols
such as HTTP.
</li>
</ul>
Although the current incarnation of Boost.Asio focuses primarily on
networking, its concepts of asynchronous I/O can be extended to include
other operating system resources such as files.
</p>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2003 - 2006 Christopher M. Kohlhoff</small></td>
</tr></table>
<hr>
<div class="asio-nav">
<a href="index.html">Home</a> |
<a href="reference/index.html">Reference</a> |
<a href="tutorial/index.html">Tutorial</a> |
<a href="examples/index.html">Examples</a> |
<a href="design/index.html">Design</a>
</div>
</body>
</html>

View File

@ -1,234 +0,0 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Boost.Asio Reference"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../reference
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = YES
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ./../../../../
STRIP_FROM_INC_PATH =
SHORT_NAMES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = NO
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = NO
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./../../../../boost \
./../../../../boost/asio \
./../../../../boost/asio/impl \
./../../../../boost/asio/ip \
./../../../../boost/asio/ssl \
../concepts \
./reference_dox.txt
FILE_PATTERNS =
RECURSIVE = NO
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH = ./../../example
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 1
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER = ./reference_header.htm
HTML_FOOTER = ./reference_footer.htm
HTML_STYLESHEET = asio.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = GENERATING_DOCUMENTATION \
BOOST_ASIO_SOCKET_ERROR(e)=implementation_defined \
BOOST_ASIO_NETDB_ERROR(e)=implementation_defined \
BOOST_ASIO_EOF_ERROR(e)=implementation_defined \
BOOST_ASIO_OS_ERROR(e1,e2)=implementation_defined
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = ./external.doxytags
GENERATE_TAGFILE = ./asio.doxytags
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
GROUP_GRAPHS = NO
UML_LOOK = NO
COMPACT_UML_LOOK = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 640
MAX_DOT_GRAPH_HEIGHT = 640
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@ -1,166 +0,0 @@
/**
\namespace boost::asio
\brief The boost::asio namespace defines all user-accessible classes and templates.
*/
/**
\namespace boost::asio::ip
\brief The boost::asio::ip namespace defines the classes associated with IP.
*/
/**
\namespace boost::asio::ip::multicast
\brief The boost::asio::ip::multicast namespace defines the socket options used
for multicast.
*/
/**
\namespace boost::asio::placeholders
\brief The boost::asio::placeholders namespace defines argument placeholders for
use with \ref boost_bind.
*/
/**
\namespace boost::asio::ssl
\brief The boost::asio::ssl namespace defines templates and classes for SSL.
*/
/**
\page boost_bind boost::bind
See the <a href="http://www.boost.org/libs/bind/bind.html">Boost: bind.hpp
documentation</a> for more information on how to use <tt>boost::bind</tt>.
*/
/**
\page noncopyable noncopyable
Prevents copy construction and assignment.
*/
/**
\page stdexception std::exception
Standard exception class.
*/
/**
\mainpage Boost.Asio Reference Index
<TABLE BORDER="0" WIDTH="100%">
<TR>
<TD VALIGN="TOP">
<H2>Namespaces</H2>
\li boost::asio
\li boost::asio::ip
\li boost::asio::ip::multicast
\li boost::asio::placeholders
\li boost::asio::ssl
<H2>Classes</H2>
\li boost::asio::const_buffer
\li boost::asio::deadline_timer
\li boost::asio::error
\li boost::asio::io_service
\li boost::asio::ip::address
\li boost::asio::ip::address_v4
\li boost::asio::ip::address_v6
\li boost::asio::ip::resolver_query_base
\li boost::asio::ip::tcp
\li boost::asio::ip::tcp::acceptor
\li boost::asio::ip::tcp::endpoint
\li boost::asio::ip::tcp::iostream
\li boost::asio::ip::tcp::resolver
\li boost::asio::ip::tcp::socket
\li boost::asio::ip::udp
\li boost::asio::ip::udp::endpoint
\li boost::asio::ip::udp::resolver
\li boost::asio::ip::udp::socket
\li boost::asio::mutable_buffer
\li boost::asio::socket_base
\li boost::asio::ssl::context
\li boost::asio::ssl::context_base
\li boost::asio::ssl::stream_base
\li boost::asio::strand
\li boost::asio::streambuf
\li boost::asio::system_exception
<H2>Class Templates</H2>
\li boost::asio::basic_datagram_socket
\li boost::asio::basic_deadline_timer
\li boost::asio::basic_resolver
\li boost::asio::basic_socket_acceptor
\li boost::asio::basic_socket_iostream
\li boost::asio::basic_socketbuf
\li boost::asio::basic_strand
\li boost::asio::basic_stream_socket
\li boost::asio::basic_streambuf
\li boost::asio::buffered_read_stream
\li boost::asio::buffered_write_stream
\li boost::asio::buffered_stream
\li boost::asio::ip::basic_endpoint
\li boost::asio::ip::basic_resolver_entry
\li boost::asio::ip::basic_resolver_iterator
\li boost::asio::ip::basic_resolver_query
\li boost::asio::ssl::basic_context
\li boost::asio::ssl::stream
</TD>
<TD VALIGN="TOP">
<H2>Free Functions</H2>
\li \ref buffer
\li \ref read
\li \ref async_read
\li \ref read_until
\li \ref async_read_until
\li \ref write
\li \ref async_write
\li \ref boost::asio::ip::host_name
\li \ref boost::asio::add_service
\li \ref boost::asio::has_service
\li \ref boost::asio::use_service
<H2>Type Traits</H2>
\li boost::asio::is_read_buffered
\li boost::asio::is_write_buffered
<H2>Services</H2>
\li boost::asio::datagram_socket_service
\li boost::asio::deadline_timer_service
\li boost::asio::resolver_service
\li boost::asio::socket_acceptor_service
\li boost::asio::strand_service
\li boost::asio::stream_socket_service
\li boost::asio::ssl::context_service
\li boost::asio::ssl::stream_service
<H2>Concepts</H2>
\li Async_Read_Stream
\li Async_Write_Stream
\li Boolean_Socket_Option
\li Boolean_IO_Control_Command
\li Const_Buffers
\li Dispatcher
\li Endpoint
\li Integer_Socket_Option
\li IO_Control_Command
\li IP_MReq_Socket_Option
\li IP_Network_Interface_Socket_Option
\li Linger_Socket_Option
\li Mutable_Buffers
\li Protocol
\li Size_IO_Control_Command
\li Socket_Option
\li Stream
\li Sync_Read_Stream
\li Sync_Write_Stream
</TD>
</TR>
</TABLE>
*/

View File

@ -1,14 +0,0 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2003 - 2006 Christopher M. Kohlhoff</small></td>
</tr></table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>
</body>
</html>

View File

@ -1,30 +0,0 @@
<html>
<head>
<title>$title</title>
<link href="../boostbook.css" rel="stylesheet" type="text/css">
<link href="asio.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../boost.png"></td>
<td align="center"><a href="../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../doc/html/libraries.html">Libraries</a></td>
<td align="center"><a href="../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>
<div class="asio-nav">
<a href="index.html">Reference Index</a> |
<a href="hierarchy.html">Class Hierarchy</a> |
<a href="classes.html">Class Index</a> |
<a href="functions.html">Member Index</a>
</div>

View File

@ -1,225 +0,0 @@
# Doxyfile 1.4.5
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Boost.Asio Tutorial"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = ../tutorial
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = YES
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = ./../../../../
STRIP_FROM_INC_PATH =
SHORT_NAMES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = YES
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 2
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
BUILTIN_STL_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = NO
SORT_MEMBER_DOCS = NO
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = NO
SHOW_DIRECTORIES = NO
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = ./tutorial_dox.txt \
./../../example/tutorial/timer_dox.txt \
./../../example/tutorial/daytime_dox.txt
FILE_PATTERNS =
RECURSIVE = NO
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH = ./../../example
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = YES
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
USE_HTAGS = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 1
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = .
HTML_FILE_EXTENSION = .html
HTML_HEADER = ./tutorial_header.htm
HTML_FOOTER = ./tutorial_footer.htm
HTML_STYLESHEET = ./asio.css
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = YES
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = GENERATING_DOCUMENTATION
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES = ./asio.doxytags=../reference
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = NO
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = NO
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@ -1,41 +0,0 @@
/**
\mainpage Boost.Asio Tutorial Index
\section tuttimer Basic Skills
The tutorial programs in this first section introduce the fundamental concepts
required to use Boost.Asio. Before plunging into the complex world of network
programming, these tutorial programs illustrate the basic skills using simple
asynchronous timers.
\li \ref tuttimer1
\li \ref tuttimer2
\li \ref tuttimer3
\li \ref tuttimer4
\li \ref tuttimer5
\section tutdaytime Introduction to Sockets
The tutorial programs in this section show how to use Boost.Asio to develop
simple client and server programs. These tutorial programs are based around the
<a href="http://www.ietf.org/rfc/rfc867.txt">daytime</a> protocol, which
supports both TCP and UDP.
The first three tutorial programs implement the daytime protocol using TCP.
\li \ref tutdaytime1
\li \ref tutdaytime2
\li \ref tutdaytime3
The next three tutorial programs implement the daytime protocol using UDP.
\li \ref tutdaytime4
\li \ref tutdaytime5
\li \ref tutdaytime6
The last tutorial program in this section demonstrates how Boost.Asio allows the
TCP and UDP servers to be easily combined into a single program.
\li \ref tutdaytime7
*/

View File

@ -1,14 +0,0 @@
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><small>Copyright © 2003 - 2006 Christopher M. Kohlhoff</small></td>
</tr></table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>
</body>
</html>

View File

@ -1,24 +0,0 @@
<html>
<head>
<title>$title</title>
<link href="../boostbook.css" rel="stylesheet" type="text/css">
<link href="asio.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%">
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../boost.png"></td>
<td align="center"><a href="../../../../index.htm">Home</a></td>
<td align="center"><a href="../../../../doc/html/libraries.html">Libraries</a></td>
<td align="center"><a href="../../../../people/people.htm">People</a></td>
<td align="center"><a href="../../../../more/faq.htm">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</table>
<hr>
<div class="asio-nav">
<a href="../index.html">Home</a> |
<a href="../reference/index.html">Reference</a> |
<a href="../tutorial/index.html">Tutorial</a> |
<a href="../examples/index.html">Examples</a> |
<a href="../design/index.html">Design</a>
</div>

View File

@ -1,49 +0,0 @@
//
// Async_Read_Stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Asynchronous read stream concept.
/**
* @par Implemented By:
* asio::basic_stream_socket @n
* asio::buffered_read_stream @n
* asio::buffered_write_stream @n
* asio::buffered_stream @n
* asio::ssl::stream
*/
class Async_Read_Stream
: public Async_Object,
public Error_Source
{
public:
/// Start an asynchronous read.
/**
* This function is used to asynchronously read one or more bytes of data from
* the stream. The function call always returns immediately.
*
* @param buffers The buffers into which the data will be read. Although the
* buffers object may be copied as necessary, ownership of the underlying
* buffers is retained by the caller, which must guarantee that they remain
* valid until the handler is called.
*
* @param handler The handler to be called when the read operation completes.
* Copies will be made of the handler as required. The equivalent function
* signature of the handler must be:
* @code void handler(
* const Async_Read_Stream::error_type& error, // Result of operation.
* std::size_t bytes_transferred // Number of bytes read.
* ); @endcode
* Regardless of whether the asynchronous operation completes immediately or
* not, the handler will not be invoked from within this function. Invocation
* of the handler will be performed in a manner equivalent to using
* asio::io_service::post().
*/
template <typename Mutable_Buffers, typename Handler>
void async_read_some(const Mutable_Buffers& buffers, Handler handler);
};

View File

@ -1,49 +0,0 @@
//
// Async_Write_Stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Asynchronous write stream concept.
/**
* @par Implemented By:
* asio::basic_stream_socket @n
* asio::buffered_read_stream @n
* asio::buffered_write_stream @n
* asio::buffered_stream @n
* asio::ssl::stream
*/
class Async_Write_Stream
: public Async_Object,
public Error_Source
{
public:
/// Start an asynchronous write.
/**
* This function is used to asynchronously write one or more bytes of data to
* the stream. The function call always returns immediately.
*
* @param buffers The data to be written to the stream. Although the buffers
* object may be copied as necessary, ownership of the underlying buffers is
* retained by the caller, which must guarantee that they remain valid until
* the handler is called.
*
* @param handler The handler to be called when the write operation completes.
* Copies will be made of the handler as required. The equivalent function
* signature of the handler must be:
* @code void handler(
* const Async_Write_Stream::error_type& error, // Result of operation.
* std::size_t bytes_transferred // Number of bytes written.
* ); @endcode
* Regardless of whether the asynchronous operation completes immediately or
* not, the handler will not be invoked from within this function. Invocation
* of the handler will be performed in a manner equivalent to using
* asio::io_service::post().
*/
template <typename Const_Buffers, typename Handler>
void async_write_some(const Const_Buffers& buffers, Handler handler);
};

View File

@ -1,31 +0,0 @@
//
// Boolean_IO_Control_Command.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Boolean_IO_Control_Command concept.
/**
* @par Implemented By:
* asio::socket_base::non_blocking_io
*/
class Boolean_IO_Control_Command
: public IO_Control_Command
{
public:
/// Default constructor initialises boolean value to false.
Boolean_IO_Control_Command();
/// Construct with a specific command value.
Boolean_IO_Control_Command(bool value);
/// Set the value of the boolean.
void set(bool value);
/// Get the current value of the boolean.
bool get() const;
};

View File

@ -1,36 +0,0 @@
//
// Boolean_Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Boolean_Socket_Option concept.
/**
* @par Implemented By:
* asio::socket_base::broadcast @n
* asio::socket_base::do_not_route @n
* asio::socket_base::keep_alive @n
* asio::socket_base::reuse_address @n
* asio::ipv4::tcp::no_delay @n
* asio::ipv4::multicast::enable_loopback
*/
class Boolean_Socket_Option
: public Socket_Option
{
public:
/// Default constructor initialises contained value to 0.
Boolean_Socket_Option();
/// Construct with a specific option value.
Boolean_Socket_Option(bool value);
/// Set the value of the boolean option.
void set(bool value);
/// Get the current value of the boolean option.
bool get() const;
};

View File

@ -1,48 +0,0 @@
//
// Const_Buffers.hpp
// ~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Const_Buffers concept.
/**
* Defines the interface that must be implemented by any object passed as the
* @c buffers parameter to functions such as:
* @li @ref write
* @li @ref async_write,
* @li asio::basic_stream_socket::write_some
* @li asio::basic_stream_socket::async_write_some
*
* @par Implemented By:
* asio::const_buffer_container_1 @n
* asio::mutable_buffer_container_1 @n
* std::deque<asio::const_buffer> @n
* std::deque<asio::mutable_buffer> @n
* std::list<asio::const_buffer> @n
* std::list<asio::mutable_buffer> @n
* std::vector<asio::const_buffer> @n
* std::vector<asio::mutable_buffer> @n
* boost::array<asio::const_buffer, N> @n
* boost::array<asio::mutable_buffer, N>
*/
class Const_Buffers
: public CopyConstructible
{
public:
/// The type for each element in the list of buffers. The type must be
/// asio::const_buffer or be convertible to asio::const_buffer.
typedef implementation_defined value_type;
/// A forward iterator type that may be used to read elements.
typedef implementation_defined const_iterator;
/// Get an iterator to the first element.
const_iterator begin() const;
/// Get an iterator for one past the last element.
const_iterator end() const;
};

View File

@ -1,12 +0,0 @@
//
// CopyConstructible.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// CopyConstructible concept.
class CopyConstructible {};

View File

@ -1,69 +0,0 @@
//
// Dispatcher.hpp
// ~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Dispatcher concept.
/**
* @par Implemented By:
* asio::basic_io_service @n
* asio::basic_locking_dispatcher
*/
class Dispatcher
{
public:
/// Request the dispatcher to invoke the given handler.
/**
* This function is used to ask the dispatcher to execute the given handler.
*
* @param handler The handler to be called. The dispatcher will make
* a copy of the handler object as required. The equivalent function
* signature of the handler must be: @code void handler(); @endcode
*/
template <typename Handler>
void dispatch(Handler handler);
/// Request the dispatcher to invoke the given handler and return
/// immediately.
/**
* This function is used to ask the dispatcher to execute the given handler,
* but without allowing the dispatcher to call the handler from inside this
* function.
*
* @param handler The handler to be called. The dispatcher will make
* a copy of the handler object as required. The equivalent function
* signature of the handler must be: @code void handler(); @endcode
*/
template <typename Handler>
void post(Handler handler);
/// Create a new handler that automatically dispatches the wrapped handler
/// on the dispatcher.
/**
* This function is used to create a new handler function object that, when
* invoked, will automatically pass the wrapped handler to the dispatcher's
* dispatch function.
*
* @param handler The handler to be wrapped. The dispatcher will make a copy
* of the handler object as required. The equivalent function signature of
* the handler must be: @code void handler(A1 a1, ... An an); @endcode
*
* @return A function object that, when invoked, passes the wrapped handler to
* the dispatcher's dispatch function. Given a function object with the
* signature:
* @code R f(A1 a1, ... An an); @endcode
* If this function object is passed to the wrap function like so:
* @code dispatcher.wrap(f); @endcode
* then the return value is a function object with the signature
* @code void g(A1 a1, ... An an); @endcode
* that, when invoked, executes code equivalent to:
* @code dispatcher.dispatch(boost::bind(f, a1, ... an)); @endcode
*/
template <typename Handler>
unspecified wrap(Handler handler);
};

View File

@ -1,63 +0,0 @@
//
// Endpoint.hpp
// ~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Endpoint concept.
/**
* Defines the interface that must be implemented by an object passed as a
* parameter to:
* @li asio::basic_stream_socket::bind
* @li asio::basic_stream_socket::connect
* @li asio::basic_stream_socket::get_local_endpoint
* @li asio::basic_stream_socket::get_remote_endpoint
* @li asio::basic_datagram_socket::bind
* @li asio::basic_datagram_socket::connect
* @li asio::basic_datagram_socket::get_local_endpoint
* @li asio::basic_datagram_socket::get_remote_endpoint
* @li asio::basic_socket_acceptor::bind
* @li asio::basic_socket_acceptor::get_local_endpoint
* @li asio::basic_socket_acceptor::accept_address
*
* @par Implemented By:
* asio::ipv4::tcp::endpoint @n
* asio::ipv4::udp::endpoint
*/
class Endpoint
{
public:
/// The protocol type associated with the endpoint.
typedef implementation_defined protocol_type;
/// The type of the endpoint structure. This type is dependent on the
/// underlying implementation of the socket layer.
typedef implementation_defined data_type;
/// The type for the size of the endpoint structure. This type is dependent on
/// the underlying implementation of the socket layer.
typedef implementation_defined size_type;
/// The protocol object associated with the endpoint. The returned object
/// must implement the Protocol concept.
implementation_defined protocol() const;
/// Get the underlying endpoint in the implementation-defined type. The
/// returned object may be modified by the caller.
data_type* data();
/// Get the underlying endpoint in the implementation-defined type.
const data_type* data() const;
/// Get the underlying size of the endpoint in the implementation-defined
/// type.
size_type size() const;
/// Set the underlying size of the endpoint in the implementation-defined
/// type.
void size(size_type s);
};

View File

@ -1,33 +0,0 @@
//
// IO_Control_Command.hpp
// ~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// IO_Control_Command concept.
/**
* Defines the interface that must be implemented by an object passed as the
* @c command parameter to:
* @li asio::basic_stream_socket::io_control
* @li asio::basic_datagram_socket::io_control
*
* @par Implemented By:
* asio::socket_base::non_blocking_io @n
* asio::socket_base::bytes_readable
*/
class IO_Control_Command
{
public:
/// Get the name of the command.
int name() const;
/// Get the data associated with the command.
implementation_defined data();
/// Get the data associated with the command.
implementation_defined data() const;
};

View File

@ -1,36 +0,0 @@
//
// IP_MReq_Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// IP_MReq_Socket_Option concept for performing multicast requests.
/**
* @par Implemented By:
* asio::ip::multicast::join_group @n
* asio::ip::multicast::leave_group
*/
class IP_MReq_Socket_Option
: public Socket_Option
{
public:
/// Default constructor initialises both the multicast address and the
/// local interface to the "any" address.
IP_MReq_Socket_Option();
/// Construct with multicast address only.
IP_MReq_Socket_Option(const asio::ip::address& multicast_address);
/// Construct with IP version 4 multicast address and address of local
/// interface to use.
IP_MReq_Socket_Option(const asio::ip::address_v4& multicast_address,
const asio::ip::address_v4& local_interface);
/// Construct with IP version 6 multicast address and network interface index.
IP_MReq_Socket_Option(const asio::ip::address_v6& multicast_address,
unsigned long local_interface);
};

View File

@ -1,30 +0,0 @@
//
// IP_Network_Interface_Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// IP_Network_Interface_Socket_Option concept.
/**
* @par Implemented By:
* asio::ip::multicast::outbound_interface
*/
class IP_Network_Interface_Socket_Option
: public Socket_Option
{
public:
/// Default constructor initialises contained value to "any" interface.
IP_Network_Interface_Socket_Option();
/// Construct with a specific IPv4 address.
IP_Network_Interface_Socket_Option(
const asio::ip::address_v4& ipv4_interface);
/// Construct with a specific IPv6 interface index.
IP_Network_Interface_Socket_Option(
unsigned long ipv6_interface);
};

View File

@ -1,35 +0,0 @@
//
// Integer_Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Integer_Socket_Option concept.
/**
* @par Implemented By:
* asio::socket_base::send_buffer_size @n
* asio::socket_base::send_low_watermark @n
* asio::socket_base::receive_buffer_size @n
* asio::socket_base::receive_low_watermark @n
* asio::ipv4::multicast::time_to_live
*/
class Integer_Socket_Option
: public Socket_Option
{
public:
/// Default constructor initialises contained value to 0.
Integer_Socket_Option();
/// Construct with a specific option value.
Integer_Socket_Option(int value);
/// Set the value of the integer option.
void set(int value);
/// Get the current value of the integer option.
int get() const;
};

View File

@ -1,37 +0,0 @@
//
// Linger_Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Linger_Socket_Option concept.
/**
* @par Implemented By:
* asio::socket_base::linger
*/
class Linger_Socket_Option
: public Socket_Option
{
public:
/// Default constructor initialises to disabled with a 0 timeout.
Linger_Socket_Option();
/// Construct with specific option values.
Linger_Socket_Option(bool enabled, unsigned short timeout);
/// Set the value for whether linger is enabled.
void enabled(bool value);
/// Get the value for whether linger is enabled.
bool enabled() const;
/// Set the value for the linger timeout in seconds.
void timeout(unsigned short value);
/// Get the value for the linger timeout in seconds.
unsigned short timeout() const;
};

View File

@ -1,44 +0,0 @@
//
// Mutable_Buffers.hpp
// ~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Mutable_Buffers concept.
/**
* Defines the interface that must be implemented by any object passed as the
* @c buffers parameter to functions such as:
* @li @ref read
* @li @ref async_read
* @li asio::basic_stream_socket::read_some
* @li asio::basic_stream_socket::async_read_some
*
* @par Implemented By:
* asio::mutable_buffer_container_1 @n
* std::deque<asio::mutable_buffer> @n
* std::list<asio::mutable_buffer> @n
* std::vector<asio::mutable_buffer> @n
* boost::array<asio::mutable_buffer, N>
*/
class Mutable_Buffers
: public CopyConstructible
{
public:
/// The type for each element in the list of buffers. The type must be
/// asio::mutable_buffer or be convertible to an instance of
/// asio::mutable_buffer.
typedef implementation_defined value_type;
/// A forward iterator type that may be used to read elements.
typedef implementation_defined const_iterator;
/// Get an iterator to the first element.
const_iterator begin() const;
/// Get an iterator for one past the last element.
const_iterator end() const;
};

View File

@ -1,28 +0,0 @@
//
// Protocol.hpp
// ~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Protocol concept.
/**
* @par Implemented By:
* asio::ip::tcp @n
* asio::ip::udp
*/
class Protocol
{
public:
/// Obtain an identifier for the type of the protocol.
int type() const;
/// Obtain an identifier for the protocol.
int protocol() const;
/// Obtain an identifier for the protocol family.
int family() const;
};

View File

@ -1,31 +0,0 @@
//
// Size_IO_Control_Command.hpp
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Size_IO_Control_Command concept.
/**
* @par Implemented By:
* asio::socket_base::bytes_readable
*/
class Size_IO_Control_Command
: public IO_Control_Command
{
public:
/// Default constructor initialises size value to 0.
Size_IO_Control_Command();
/// Construct with a specific command value.
Size_IO_Control_Command(std::size_t value);
/// Set the size value.
void set(std::size_t value);
/// Get the current size value.
std::size_t get() const;
};

View File

@ -1,61 +0,0 @@
//
// Socket_Option.hpp
// ~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Socket_Option concept.
/**
* Defines the interface that must be implemented by an object passed as the
* @c option parameter to:
* @li asio::tcp::socket::get_option
* @li asio::tcp::socket::set_option
* @li asio::udp::socket::get_option
* @li asio::udp::socket::set_option
* @li asio::tcp::acceptor::get_option
* @li asio::tcp::acceptor::set_option
*
* @par Implemented By:
* asio::socket_base::broadcast @n
* asio::socket_base::do_not_route @n
* asio::socket_base::keep_alive @n
* asio::socket_base::linger @n
* asio::socket_base::send_buffer_size @n
* asio::socket_base::send_low_watermark @n
* asio::socket_base::receive_buffer_size @n
* asio::socket_base::receive_low_watermark @n
* asio::socket_base::reuse_address @n
* asio::ip::tcp::no_delay @n
* asio::ip::multicast::join_group @n
* asio::ip::multicast::leave_group @n
* asio::ip::multicast::outbound_interface @n
* asio::ip::multicast::hops @n
* asio::ip::multicast::enable_loopback
*/
class Socket_Option
{
public:
/// Get the level of the socket option.
template <typename Protocol>
int level(const Protocol& protocol) const;
/// Get the name of the socket option.
template <typename Protocol>
int name(const Protocol& protocol) const;
/// Get a pointer to the socket option data.
template <typename Protocol>
implementation_defined data(const Protocol& protocol);
/// Get a pointer to the socket option data.
template <typename Protocol>
implementation_defined data(const Protocol& protocol) const;
/// Get the size of the socket option data in bytes.
template <typename Protocol>
std::size_t size(const Protocol& protocol) const;
};

View File

@ -1,32 +0,0 @@
//
// Stream.hpp
// ~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Stream concept.
/**
* @par Implemented By:
* asio::basic_stream_socket @n
* asio::buffered_read_stream @n
* asio::buffered_write_stream @n
* asio::buffered_stream @n
* asio::ssl::stream
*/
class Stream
: public Async_Read_Stream,
public Async_Write_Stream,
public Sync_Read_Stream,
public Sync_Write_Stream
{
public:
/// The type of the lowest layer in the stream.
typedef implementation_defined lowest_layer_type;
/// Get a reference to the lowest layer.
lowest_layer_type& lowest_layer();
};

View File

@ -1,124 +0,0 @@
//
// Sync_Read_Stream.hpp
// ~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Synchronous read stream concept.
/**
* @par Implemented By:
* asio::basic_stream_socket @n
* asio::buffered_read_stream @n
* asio::buffered_write_stream @n
* asio::buffered_stream @n
* asio::ssl::stream
*/
class Sync_Read_Stream
: public Error_Source
{
public:
/// Read some data from the stream.
/**
* This function is used to read data from the stream. The function call will
* block until one or more bytes of data has been read successfully, or until
* an error occurs.
*
* @param buffers The buffers into which the data will be read.
*
* @returns The number of bytes read.
*
* @throws Sync_Read_Stream::error_type Thrown on failure.
*/
template <typename Mutable_Buffers>
std::size_t read_some(const Mutable_Buffers& buffers);
/// Read some data from the stream.
/**
* This function is used to read data from the stream. The function call will
* block until one or more bytes of data has been read successfully, or until
* an error occurs.
*
* @param buffers The buffers into which the data will be read.
*
* @param error_handler The handler to be called when an error occurs. Copies
* will be made of the handler as required. The equivalent function signature
* of the handler must be:
* @code void error_handler(
* const Sync_Read_Stream::error_type& error // Result of operation.
* ); @endcode
*
* @returns The number of bytes read. Returns 0 if an error occurred and the
* error handler did not throw an exception.
*/
template <typename Mutable_Buffers, typename Error_Handler>
std::size_t read_some(const Mutable_Buffers& buffers,
Error_Handler error_handler);
/// Peek at the incoming data on the stream.
/**
* This function is used to peek at the incoming data on the stream, without
* removing it from the input queue. The function call will block until data
* has been read successfully or an error occurs.
*
* @param buffers The buffers into which the data will be read.
*
* @returns The number of bytes read.
*
* @throws Sync_Read_Stream::error_type Thrown on failure.
*/
template <typename Mutable_Buffers>
std::size_t peek(const Mutable_Buffers& buffers);
/// Peek at the incoming data on the stream.
/**
* This function is used to peek at the incoming data on the stream, without
* removing it from the input queue. The function call will block until data
* has been read successfully or an error occurs.
*
* @param buffers The buffers into which the data will be read.
*
* @param error_handler The handler to be called when an error occurs. Copies
* will be made of the handler as required. The equivalent function signature
* of the handler must be:
* @code void error_handler(
* const Sync_Read_Stream::error_type& error // Result of operation.
* ); @endcode
*
* @returns The number of bytes read. Returns 0 if an error occurred and the
* error handler did not throw an exception.
*/
template <typename Mutable_Buffers, typename Error_Handler>
std::size_t peek(const Mutable_Buffers& buffers, Error_Handler error_handler);
/// Determine the amount of data that may be read without blocking.
/**
* The function is used to determine the amount of data, in bytes, that may
* be read from the stream without blocking.
*
* @returns The number of bytes of data that can be read without blocking.
*
* @throws Sync_Read_Stream::error_type Thrown on failure.
*/
std::size_t in_avail();
/// Determine the amount of data that may be read without blocking.
/**
* The function is used to determine the amount of data, in bytes, that may
* be read from the stream without blocking.
*
* @param error_handler The handler to be called when an error occurs. Copies
* will be made of the handler as required. The equivalent function signature
* of the handler must be:
* @code void error_handler(
* const Sync_Read_Stream::error_type& error // Result of operation
* ); @endcode
*
* @returns The number of bytes of data that can be read without blocking.
*/
template <typename Error_Handler>
std::size_t in_avail(Error_Handler error_handler);
};

View File

@ -1,60 +0,0 @@
//
// Sync_Write_Stream.hpp
// ~~~~~~~~~~~~~~~~~~~~~
//
// Copyright (c) 2003-2007 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
/// Synchronous write stream concept.
/**
* @par Implemented By:
* asio::basic_stream_socket @n
* asio::buffered_read_stream @n
* asio::buffered_write_stream @n
* asio::buffered_stream @n
* asio::ssl::stream
*/
class Sync_Write_Stream
: public Error_Source
{
public:
/// Write the given data on the stream.
/**
* This function is used to write data on the stream. The function call will
* block until one or more bytes of data has been written successfully, or
* until an error occurs.
*
* @param buffers The data to be written.
*
* @returns The number of bytes written.
*
* @throws Sync_Write_Stream::error_type Thrown on failure.
*/
template <typename Const_Buffers>
std::size_t write_some(const Const_Buffers& buffers);
/// Write the given data on the stream.
/**
* This function is used to write data on the stream. The function call will
* block until one or more bytes of data has been written successfully, or
* until an error occurs.
*
* @param buffers The data to be written.
*
* @param error_handler The handler to be called when an error occurs. Copies
* will be made of the handler as required. The equivalent function signature
* of the handler must be:
* @code void error_handler(
* const Sync_Write_Stream::error_type& error // Result of operation.
* ); @endcode
*
* @returns The number of bytes written. Returns 0 if an error occurred and
* the error handler did not throw an exception.
*/
template <typename Const_Buffers, typename Error_Handler>
std::size_t write_some(const Const_Buffers& buffers,
Error_Handler error_handler);
};

View File

@ -378,7 +378,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @srcdir@/../../include @srcdir@/../../include/asio @srcdir@/../../include/asio/impl @srcdir@/../../include/asio/ip @srcdir@/../../include/asio/ssl @srcdir@/concepts @srcdir@/reference_dox.txt
INPUT = @srcdir@/../../include @srcdir@/../../include/asio @srcdir@/../../include/asio/impl @srcdir@/../../include/asio/ip @srcdir@/../../include/asio/ssl @srcdir@/reference_dox.txt
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp

View File

@ -14,6 +14,12 @@
multicast.
*/
/**
\namespace asio::ip::unicast
\brief The asio::ip::unicast namespace defines the socket options used for
unicast.
*/
/**
\namespace asio::placeholders
\brief The asio::placeholders namespace defines argument placeholders for use
@ -53,16 +59,22 @@ Standard exception class.
\li ::asio
\li asio::ip
\li asio::ip::multicast
\li asio::ip::unicast
\li asio::placeholders
\li asio::ssl
<H2>Classes</H2>
\li asio::const_buffer
\li asio::const_buffers_1
\li asio::deadline_timer
\li asio::error
\li asio::error_code
\li asio::io_service
\li asio::io_service::id
\li asio::io_service::service
\li asio::io_service::strand
\li asio::io_service::work
\li asio::ip::address
\li asio::ip::address_v4
\li asio::ip::address_v6
@ -79,6 +91,7 @@ Standard exception class.
\li asio::ip::udp::resolver
\li asio::ip::udp::socket
\li asio::mutable_buffer
\li asio::mutable_buffers_1
\li asio::socket_base
\li asio::ssl::context
\li asio::ssl::context_base
@ -88,6 +101,22 @@ Standard exception class.
\li asio::system_error
\li asio::thread
</TD>
<TD VALIGN="TOP">
<H2>Free Functions</H2>
\li \ref buffer
\li \ref read
\li \ref async_read
\li \ref read_until
\li \ref async_read_until
\li \ref write
\li \ref async_write
\li \ref asio::ip::host_name
\li \ref asio::add_service
\li \ref asio::has_service
\li \ref asio::use_service
<H2>Class Templates</H2>
\li asio::basic_datagram_socket
@ -108,22 +137,6 @@ Standard exception class.
\li asio::ssl::basic_context
\li asio::ssl::stream
</TD>
<TD VALIGN="TOP">
<H2>Free Functions</H2>
\li \ref buffer
\li \ref read
\li \ref async_read
\li \ref read_until
\li \ref async_read_until
\li \ref write
\li \ref async_write
\li \ref asio::ip::host_name
\li \ref asio::add_service
\li \ref asio::has_service
\li \ref asio::use_service
<H2>Type Traits</H2>
\li asio::is_read_buffered
@ -137,31 +150,8 @@ Standard exception class.
\li asio::socket_acceptor_service
\li asio::ssl::context_service
\li asio::ssl::stream_service
\li asio::strand_service
\li asio::stream_socket_service
<H2>Concepts</H2>
\li Async_Read_Stream
\li Async_Write_Stream
\li Boolean_Socket_Option
\li Boolean_IO_Control_Command
\li Const_Buffers
\li Dispatcher
\li Endpoint
\li Integer_Socket_Option
\li IO_Control_Command
\li IP_MReq_Socket_Option
\li IP_Network_Interface_Socket_Option
\li Linger_Socket_Option
\li Mutable_Buffers
\li Protocol
\li Size_IO_Control_Command
\li Socket_Option
\li Stream
\li Sync_Read_Stream
\li Sync_Write_Stream
</TD>
</TR>
</TABLE>