1<?xml version="1.0" encoding="utf-8"?> 2<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 3 4<!-- 5 Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 7 Distributed under the Boost Software License, Version 1.0. (See accompanying 8 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9--> 10 11<xsl:output method="text"/> 12<xsl:strip-space elements="*"/> 13<xsl:preserve-space elements="para"/> 14 15 16<xsl:variable name="newline"> 17<xsl:text> 18</xsl:text> 19</xsl:variable> 20 21 22<xsl:variable name="all-compounddefs" select="/doxygen//compounddef"/> 23<xsl:variable name="all-memberdefs" select="/doxygen//memberdef"/> 24 25 26<!-- 27 Loop over all top-level documentation elements (i.e. classes, functions, 28 variables and typedefs at namespace scope). The elements are sorted by name. 29 Anything in a "detail" namespace or with "_handler" in the name is skipped. 30--> 31<xsl:template match="/doxygen"> 32<xsl:text>[/ 33 / Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) 34 / 35 / Distributed under the Boost Software License, Version 1.0. (See accompanying 36 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 37 /] 38 39[section:reference Reference] 40 41[xinclude quickref.xml] 42 43[include requirements/asynchronous_operations.qbk] 44[include requirements/read_write_operations.qbk] 45[include requirements/synchronous_socket_operations.qbk] 46[include requirements/asynchronous_socket_operations.qbk] 47[include requirements/AcceptableProtocol.qbk] 48[include requirements/AcceptHandler.qbk] 49[include requirements/AsyncRandomAccessReadDevice.qbk] 50[include requirements/AsyncRandomAccessWriteDevice.qbk] 51[include requirements/AsyncReadStream.qbk] 52[include requirements/AsyncWriteStream.qbk] 53[include requirements/BufferedHandshakeHandler.qbk] 54[include requirements/CompletionCondition.qbk] 55[include requirements/CompletionHandler.qbk] 56[include requirements/ConnectCondition.qbk] 57[include requirements/ConnectHandler.qbk] 58[include requirements/ConstBufferSequence.qbk] 59[include requirements/DynamicBuffer.qbk] 60[include requirements/DynamicBuffer_v1.qbk] 61[include requirements/DynamicBuffer_v2.qbk] 62[include requirements/Endpoint.qbk] 63[include requirements/EndpointSequence.qbk] 64[include requirements/ExecutionContext.qbk] 65[include requirements/Executor.qbk] 66[include requirements/GettableSerialPortOption.qbk] 67[include requirements/GettableSocketOption.qbk] 68[include requirements/Handler.qbk] 69[include requirements/HandshakeHandler.qbk] 70[include requirements/InternetProtocol.qbk] 71[include requirements/IoControlCommand.qbk] 72[include requirements/IoObjectService.qbk] 73[include requirements/IteratorConnectHandler.qbk] 74[include requirements/LegacyCompletionHandler.qbk] 75[include requirements/MoveAcceptHandler.qbk] 76[include requirements/MutableBufferSequence.qbk] 77[include requirements/OperationState.qbk] 78[include requirements/ProtoAllocator.qbk] 79[include requirements/Protocol.qbk] 80[include requirements/RangeConnectHandler.qbk] 81[include requirements/ReadHandler.qbk] 82[include requirements/Receiver.qbk] 83[include requirements/ResolveHandler.qbk] 84[include requirements/Scheduler.qbk] 85[include requirements/Sender.qbk] 86[include requirements/Service.qbk] 87[include requirements/SettableSerialPortOption.qbk] 88[include requirements/SettableSocketOption.qbk] 89[include requirements/ShutdownHandler.qbk] 90[include requirements/SignalHandler.qbk] 91[include requirements/SyncRandomAccessReadDevice.qbk] 92[include requirements/SyncRandomAccessWriteDevice.qbk] 93[include requirements/SyncReadStream.qbk] 94[include requirements/SyncWriteStream.qbk] 95[include requirements/TimeTraits.qbk] 96[include requirements/WaitHandler.qbk] 97[include requirements/WaitTraits.qbk] 98[include requirements/WriteHandler.qbk] 99 100</xsl:text> 101 102 <xsl:for-each select=" 103 compounddef[@kind = 'class' or @kind = 'struct'] | 104 compounddef[@kind = 'namespace']/sectiondef[1]/memberdef"> 105 <xsl:sort select="concat((. | ancestor::*)/compoundname, '::', name, ':x')"/> 106 <xsl:sort select="name"/> 107 <xsl:choose> 108 <xsl:when test="@kind='class' or @kind='struct'"> 109 <xsl:if test=" 110 contains(compoundname, 'asio::') and 111 not(contains(compoundname, '::detail')) and 112 not(contains(compoundname, '::service::key')) and 113 not(contains(compoundname, '_handler')) and 114 not(contains(compoundname, 'std_allocator_void')) and 115 not(contains(compoundname, 'thread_function')) and 116 not(contains(compoundname, 'context_impl')) and 117 not(contains(compoundname, 'initiate_')) and 118 not(contains(compoundname, '_adapter')) and 119 not(contains(compoundname, '_is_deprecated'))"> 120 <xsl:call-template name="class"/> 121 </xsl:if> 122 </xsl:when> 123 <xsl:otherwise> 124 <xsl:if test=" 125 not(contains(ancestor::*/compoundname, '::detail')) and 126 not(contains(ancestor::*/compoundname, '::service::key')) and 127 not(contains(ancestor::*/compoundname, '_helper')) and 128 not(contains(ancestor::*/compoundname, 'initiate_')) and 129 not(contains(name, '_helper')) and 130 not(contains(name, 'std_allocator_void')) and 131 not(contains(name, 'thread_function')) and 132 not(contains(name, 'io_context_impl')) and 133 not(contains(name, 'initiate_')) and 134 not(contains(name, '_adapter')) and 135 not(contains(name, '_is_deprecated'))"> 136 <xsl:call-template name="namespace-memberdef"/> 137 </xsl:if> 138 </xsl:otherwise> 139 </xsl:choose> 140 </xsl:for-each> 141 142 <xsl:value-of select="$newline"/> 143 <xsl:text>[endsect]</xsl:text> 144 <xsl:value-of select="$newline"/> 145 146</xsl:template> 147 148 149<!--========== Utilities ==========--> 150 151<xsl:template name="strip-asio-ns"> 152 <xsl:param name="name"/> 153 <xsl:choose> 154 <xsl:when test="contains($name, 'boost::system::is_error_code_enum')"> 155 <xsl:value-of select="$name"/> 156 </xsl:when> 157 <xsl:when test="contains($name, 'asio::')"> 158 <xsl:value-of select="substring-after($name, 'asio::')"/> 159 </xsl:when> 160 <xsl:otherwise> 161 <xsl:value-of select="$name"/> 162 </xsl:otherwise> 163 </xsl:choose> 164</xsl:template> 165 166 167<xsl:template name="strip-ns"> 168 <xsl:param name="name"/> 169 <xsl:choose> 170 <xsl:when test="contains($name, 'boost::system::is_error_code_enum')"> 171 <xsl:value-of select="$name"/> 172 </xsl:when> 173 <xsl:when test="contains($name, '::') and contains($name, '<')"> 174 <xsl:choose> 175 <xsl:when test="string-length(substring-before($name, '::')) < string-length(substring-before($name, '<'))"> 176 <xsl:call-template name="strip-ns"> 177 <xsl:with-param name="name" select="substring-after($name, '::')"/> 178 </xsl:call-template> 179 </xsl:when> 180 <xsl:otherwise> 181 <xsl:value-of select="$name"/> 182 </xsl:otherwise> 183 </xsl:choose> 184 </xsl:when> 185 <xsl:when test="contains($name, '::')"> 186 <xsl:call-template name="strip-ns"> 187 <xsl:with-param name="name" select="substring-after($name, '::')"/> 188 </xsl:call-template> 189 </xsl:when> 190 <xsl:otherwise> 191 <xsl:value-of select="$name"/> 192 </xsl:otherwise> 193 </xsl:choose> 194</xsl:template> 195 196 197<xsl:template name="cleanup-type"> 198 <xsl:param name="name"/> 199 <xsl:variable name="type"> 200 <xsl:choose> 201 <xsl:when test="contains($name, 'BOOST_ASIO_DECL ')"> 202 <xsl:value-of select="substring-after($name, 'BOOST_ASIO_DECL ')"/> 203 </xsl:when> 204 <xsl:when test="contains($name, 'BOOST_ASIO_DECL')"> 205 <xsl:value-of select="substring-after($name, 'BOOST_ASIO_DECL')"/> 206 </xsl:when> 207 <xsl:when test="$name = 'virtual'"></xsl:when> 208 <xsl:otherwise> 209 <xsl:value-of select="$name"/> 210 </xsl:otherwise> 211 </xsl:choose> 212 </xsl:variable> 213 <xsl:choose> 214 <xsl:when test="$type='void_or_deduced'"> 215 <xsl:text>``[link boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type ['DEDUCED]]``</xsl:text> 216 </xsl:when> 217 <xsl:otherwise> 218 <xsl:value-of select="$type"/> 219 </xsl:otherwise> 220 </xsl:choose> 221</xsl:template> 222 223 224<xsl:template name="make-id"> 225 <xsl:param name="name"/> 226 <xsl:param name="static"/> 227 <xsl:choose> 228 <xsl:when test="$name='query' and $static='yes'"> 229 <xsl:text>query__static</xsl:text> 230 </xsl:when> 231 <xsl:when test="contains($name, 'boost::system::')"> 232 <xsl:call-template name="make-id"> 233 <xsl:with-param name="name" 234 select="substring-after($name, 'boost::system::')"/> 235 </xsl:call-template> 236 </xsl:when> 237 <xsl:when test="contains($name, 'boost::asio::error::')"> 238 <xsl:call-template name="make-id"> 239 <xsl:with-param name="name" 240 select="concat(substring-before($name, 'boost::asio::error::'), substring-after($name, 'boost::asio::error::'))"/> 241 </xsl:call-template> 242 </xsl:when> 243 <xsl:when test="contains($name, '::')"> 244 <xsl:call-template name="make-id"> 245 <xsl:with-param name="name" 246 select="concat(substring-before($name, '::'), '__', substring-after($name, '::'))"/> 247 </xsl:call-template> 248 </xsl:when> 249 <xsl:when test="contains($name, '=')"> 250 <xsl:call-template name="make-id"> 251 <xsl:with-param name="name" 252 select="concat(substring-before($name, '='), '_eq_', substring-after($name, '='))"/> 253 </xsl:call-template> 254 </xsl:when> 255 <xsl:when test="contains($name, '!')"> 256 <xsl:call-template name="make-id"> 257 <xsl:with-param name="name" 258 select="concat(substring-before($name, '!'), '_not_', substring-after($name, '!'))"/> 259 </xsl:call-template> 260 </xsl:when> 261 <xsl:when test="contains($name, '->')"> 262 <xsl:call-template name="make-id"> 263 <xsl:with-param name="name" 264 select="concat(substring-before($name, '->'), '_arrow_', substring-after($name, '->'))"/> 265 </xsl:call-template> 266 </xsl:when> 267 <xsl:when test="contains($name, '<')"> 268 <xsl:call-template name="make-id"> 269 <xsl:with-param name="name" 270 select="concat(substring-before($name, '<'), '_lt_', substring-after($name, '<'))"/> 271 </xsl:call-template> 272 </xsl:when> 273 <xsl:when test="contains($name, '>')"> 274 <xsl:call-template name="make-id"> 275 <xsl:with-param name="name" 276 select="concat(substring-before($name, '>'), '_gt_', substring-after($name, '>'))"/> 277 </xsl:call-template> 278 </xsl:when> 279 <xsl:when test="contains($name, '&')"> 280 <xsl:call-template name="make-id"> 281 <xsl:with-param name="name" 282 select="concat(substring-before($name, '&'), '_amp_', substring-after($name, '&'))"/> 283 </xsl:call-template> 284 </xsl:when> 285 <xsl:when test="contains($name, '[')"> 286 <xsl:call-template name="make-id"> 287 <xsl:with-param name="name" 288 select="concat(substring-before($name, '['), '_lb_', substring-after($name, '['))"/> 289 </xsl:call-template> 290 </xsl:when> 291 <xsl:when test="contains($name, ']')"> 292 <xsl:call-template name="make-id"> 293 <xsl:with-param name="name" 294 select="concat(substring-before($name, ']'), '_rb_', substring-after($name, ']'))"/> 295 </xsl:call-template> 296 </xsl:when> 297 <xsl:when test="contains($name, '(')"> 298 <xsl:call-template name="make-id"> 299 <xsl:with-param name="name" 300 select="concat(substring-before($name, '('), '_lp_', substring-after($name, '('))"/> 301 </xsl:call-template> 302 </xsl:when> 303 <xsl:when test="contains($name, ')')"> 304 <xsl:call-template name="make-id"> 305 <xsl:with-param name="name" 306 select="concat(substring-before($name, ')'), '_rp_', substring-after($name, ')'))"/> 307 </xsl:call-template> 308 </xsl:when> 309 <xsl:when test="contains($name, '+')"> 310 <xsl:call-template name="make-id"> 311 <xsl:with-param name="name" 312 select="concat(substring-before($name, '+'), '_plus_', substring-after($name, '+'))"/> 313 </xsl:call-template> 314 </xsl:when> 315 <xsl:when test="contains($name, '-')"> 316 <xsl:call-template name="make-id"> 317 <xsl:with-param name="name" 318 select="concat(substring-before($name, '-'), '_minus_', substring-after($name, '-'))"/> 319 </xsl:call-template> 320 </xsl:when> 321 <xsl:when test="contains($name, '*')"> 322 <xsl:call-template name="make-id"> 323 <xsl:with-param name="name" 324 select="concat(substring-before($name, '*'), '_star_', substring-after($name, '*'))"/> 325 </xsl:call-template> 326 </xsl:when> 327 <xsl:when test="contains($name, '~')"> 328 <xsl:call-template name="make-id"> 329 <xsl:with-param name="name" 330 select="concat(substring-before($name, '~'), '_', substring-after($name, '~'))"/> 331 </xsl:call-template> 332 </xsl:when> 333 <xsl:when test="contains($name, ',')"> 334 <xsl:call-template name="make-id"> 335 <xsl:with-param name="name" 336 select="concat(substring-before($name, ','), '_comma_', substring-after($name, ','))"/> 337 </xsl:call-template> 338 </xsl:when> 339 <xsl:when test="contains($name, '...')"> 340 <xsl:call-template name="make-id"> 341 <xsl:with-param name="name" 342 select="concat(substring-before($name, '...'), '_ellipsis_', substring-after($name, '...'))"/> 343 </xsl:call-template> 344 </xsl:when> 345 <xsl:when test="contains($name, ' ')"> 346 <xsl:call-template name="make-id"> 347 <xsl:with-param name="name" 348 select="concat(substring-before($name, ' '), '_', substring-after($name, ' '))"/> 349 </xsl:call-template> 350 </xsl:when> 351 <xsl:when test="contains($name, 'boost__posix_time__ptime')"> 352 <xsl:call-template name="make-id"> 353 <xsl:with-param name="name" 354 select="concat(substring-before($name, 'boost__posix_time__ptime'), 'ptime', substring-after($name, 'boost__posix_time__ptime'))"/> 355 </xsl:call-template> 356 </xsl:when> 357 <xsl:otherwise> 358 <xsl:value-of select="$name"/> 359 </xsl:otherwise> 360 </xsl:choose> 361</xsl:template> 362 363 364<!--========== Markup ==========--> 365 366<xsl:template match="para" mode="markup"> 367<xsl:text> 368</xsl:text><xsl:apply-templates mode="markup"/><xsl:text> 369</xsl:text> 370</xsl:template> 371 372 373<xsl:template match="para" mode="markup-nested"> 374<xsl:apply-templates mode="markup-nested"/> 375</xsl:template> 376 377 378<xsl:template match="title" mode="markup"> 379 <xsl:variable name="title"> 380 <xsl:value-of select="."/> 381 </xsl:variable> 382 <xsl:if test="string-length($title) > 0"> 383[heading <xsl:value-of select="."/>] 384 </xsl:if> 385</xsl:template> 386 387 388<xsl:template match="programlisting" mode="markup"> 389 <xsl:value-of select="$newline"/> 390 <xsl:value-of select="$newline"/> 391 <xsl:apply-templates mode="codeline"/> 392 <xsl:value-of select="$newline"/> 393 <xsl:value-of select="$newline"/> 394</xsl:template> 395 396 397<xsl:template match="programlisting" mode="markup-nested"> 398 <xsl:value-of select="$newline"/> 399 <xsl:text>``</xsl:text> 400 <xsl:value-of select="$newline"/> 401 <xsl:apply-templates mode="codeline"/> 402 <xsl:if test="substring(., string-length(.)) = $newline"> 403 <xsl:value-of select="$newline"/> 404 </xsl:if> 405 <xsl:text>``</xsl:text> 406 <xsl:value-of select="$newline"/> 407</xsl:template> 408 409 410<xsl:template match="codeline" mode="codeline"> 411 <xsl:if test="string-length(.) > 0"> 412 <xsl:text> </xsl:text> 413 </xsl:if> 414 <xsl:apply-templates mode="codeline"/> 415 <xsl:value-of select="$newline"/> 416</xsl:template> 417 418 419<xsl:template match="sp" mode="markup"> 420<xsl:text> </xsl:text> 421</xsl:template> 422 423 424<xsl:template match="sp" mode="markup-nested"> 425<xsl:text> </xsl:text> 426</xsl:template> 427 428 429<xsl:template match="sp" mode="codeline"> 430 <xsl:text> </xsl:text> 431</xsl:template> 432 433 434<xsl:template match="linebreak" mode="markup"> 435<xsl:text> 436 437</xsl:text> 438</xsl:template> 439 440 441<xsl:template match="linebreak" mode="markup-nested"> 442<xsl:text> 443 444</xsl:text> 445</xsl:template> 446 447 448<xsl:template match="computeroutput" mode="markup"> 449<xsl:text>`</xsl:text><xsl:value-of select="."/><xsl:text>`</xsl:text> 450</xsl:template> 451 452 453<xsl:template match="computeroutput" mode="markup-nested"> 454<xsl:text>`</xsl:text><xsl:value-of select="."/><xsl:text>`</xsl:text> 455</xsl:template> 456 457 458<xsl:template match="listitem" mode="markup"> 459* <xsl:call-template name="strip-leading-whitespace"> 460 <xsl:with-param name="text"> 461 <xsl:apply-templates mode="markup"/> 462 </xsl:with-param> 463</xsl:call-template> 464</xsl:template> 465 466 467<xsl:template match="bold" mode="markup">[*<xsl:apply-templates mode="markup"/>]</xsl:template> 468 469 470<xsl:template match="emphasis" mode="markup">['<xsl:apply-templates mode="markup"/>]</xsl:template> 471 472 473<xsl:template match="parameterlist" mode="markup"> 474 <xsl:choose> 475 <xsl:when test="@kind='param'"> 476[heading Parameters] 477 </xsl:when> 478 <xsl:when test="@kind='exception'"> 479[heading Exceptions] 480 </xsl:when> 481 </xsl:choose> 482 483[variablelist 484 <xsl:apply-templates mode="markup"/> 485] 486</xsl:template> 487 488 489<xsl:template match="parameteritem" mode="markup"> 490[[<xsl:value-of select="parameternamelist"/>][<xsl:apply-templates select="parameterdescription" mode="markup-nested"/>]] 491</xsl:template> 492 493 494<xsl:template match="simplesect" mode="markup"> 495 <xsl:choose> 496 <xsl:when test="@kind='return'"> 497[heading Return Value] 498 <xsl:apply-templates mode="markup"/> 499 </xsl:when> 500 <xsl:when test="@kind='see'"> 501 </xsl:when> 502 <xsl:when test="@kind='note'"> 503[heading Remarks] 504 <xsl:apply-templates mode="markup"/> 505 </xsl:when> 506 <xsl:when test="@kind='par'"> 507 <xsl:if test="not(starts-with(title, 'Concepts:'))"> 508 <xsl:apply-templates mode="markup"/> 509 </xsl:if> 510 </xsl:when> 511 <xsl:otherwise> 512 <xsl:apply-templates mode="markup"/> 513 </xsl:otherwise> 514 </xsl:choose> 515</xsl:template> 516 517 518<xsl:template match="text()" mode="markup"> 519 <xsl:variable name="text" select="."/> 520 <xsl:variable name="starts-with-whitespace" select=" 521 starts-with($text, ' ') or starts-with($text, $newline)"/> 522 <xsl:variable name="preceding-node-name"> 523 <xsl:for-each select="preceding-sibling::*"> 524 <xsl:if test="position() = last()"> 525 <xsl:value-of select="local-name()"/> 526 </xsl:if> 527 </xsl:for-each> 528 </xsl:variable> 529 <xsl:variable name="after-newline" select=" 530 $preceding-node-name = 'programlisting' or 531 $preceding-node-name = 'linebreak'"/> 532 <xsl:choose> 533 <xsl:when test="$starts-with-whitespace and $after-newline"> 534 <xsl:call-template name="escape-text"> 535 <xsl:with-param name="text"> 536 <xsl:call-template name="strip-leading-whitespace"> 537 <xsl:with-param name="text" select="$text"/> 538 </xsl:call-template> 539 </xsl:with-param> 540 </xsl:call-template> 541 </xsl:when> 542 <xsl:otherwise> 543 <xsl:call-template name="escape-text"> 544 <xsl:with-param name="text" select="$text"/> 545 </xsl:call-template> 546 </xsl:otherwise> 547 </xsl:choose> 548</xsl:template> 549 550 551<xsl:template match="text()" mode="markup-nested"> 552 <xsl:variable name="text" select="."/> 553 <xsl:variable name="starts-with-whitespace" select=" 554 starts-with($text, ' ') or starts-with($text, $newline)"/> 555 <xsl:variable name="preceding-node-name"> 556 <xsl:for-each select="preceding-sibling::*"> 557 <xsl:if test="position() = last()"> 558 <xsl:value-of select="local-name()"/> 559 </xsl:if> 560 </xsl:for-each> 561 </xsl:variable> 562 <xsl:variable name="after-newline" select=" 563 $preceding-node-name = 'programlisting' or 564 $preceding-node-name = 'linebreak'"/> 565 <xsl:choose> 566 <xsl:when test="$starts-with-whitespace and $after-newline"> 567 <xsl:call-template name="escape-text"> 568 <xsl:with-param name="text"> 569 <xsl:call-template name="strip-leading-whitespace"> 570 <xsl:with-param name="text" select="$text"/> 571 </xsl:call-template> 572 </xsl:with-param> 573 </xsl:call-template> 574 </xsl:when> 575 <xsl:otherwise> 576 <xsl:call-template name="escape-text"> 577 <xsl:with-param name="text" select="$text"/> 578 </xsl:call-template> 579 </xsl:otherwise> 580 </xsl:choose> 581</xsl:template> 582 583 584<xsl:template name="strip-leading-whitespace"> 585 <xsl:param name="text"/> 586 <xsl:choose> 587 <xsl:when test="starts-with($text, ' ')"> 588 <xsl:call-template name="strip-leading-whitespace"> 589 <xsl:with-param name="text" select="substring($text, 2)"/> 590 </xsl:call-template> 591 </xsl:when> 592 <xsl:when test="starts-with($text, $newline)"> 593 <xsl:call-template name="strip-leading-whitespace"> 594 <xsl:with-param name="text" select="substring($text, 2)"/> 595 </xsl:call-template> 596 </xsl:when> 597 <xsl:otherwise> 598 <xsl:value-of select="$text"/> 599 </xsl:otherwise> 600 </xsl:choose> 601</xsl:template> 602 603 604<xsl:template name="escape-text"> 605 <xsl:param name="text"/> 606 <xsl:choose> 607 <xsl:when test="contains($text, '_')"> 608 <xsl:value-of select="substring-before($text, '_')"/> 609 <xsl:text>\_</xsl:text> 610 <xsl:call-template name="escape-text"> 611 <xsl:with-param name="text" select="substring-after($text, '_')"/> 612 </xsl:call-template> 613 </xsl:when> 614 <xsl:otherwise> 615 <xsl:value-of select="$text"/> 616 </xsl:otherwise> 617 </xsl:choose> 618</xsl:template> 619 620 621<xsl:template name="escape-name"> 622 <xsl:param name="text"/> 623 <xsl:choose> 624 <xsl:when test="contains($text, '[')"> 625 <xsl:value-of select="substring-before($text, '[')"/> 626 <xsl:text>\[</xsl:text> 627 <xsl:call-template name="escape-name"> 628 <xsl:with-param name="text" select="substring-after($text, '[')"/> 629 </xsl:call-template> 630 </xsl:when> 631 <xsl:when test="contains($text, ']')"> 632 <xsl:value-of select="substring-before($text, ']')"/> 633 <xsl:text>\]</xsl:text> 634 <xsl:call-template name="escape-name"> 635 <xsl:with-param name="text" select="substring-after($text, ']')"/> 636 </xsl:call-template> 637 </xsl:when> 638 <xsl:when test="contains($text, '...')"> 639 <xsl:value-of select="substring-before($text, '...')"/> 640 <xsl:text>\.\.\.</xsl:text> 641 <xsl:call-template name="escape-name"> 642 <xsl:with-param name="text" select="substring-after($text, '...')"/> 643 </xsl:call-template> 644 </xsl:when> 645 <xsl:otherwise> 646 <xsl:value-of select="$text"/> 647 </xsl:otherwise> 648 </xsl:choose> 649</xsl:template> 650 651 652<xsl:template match="ref[@kindref='compound']" mode="markup"> 653 <xsl:variable name="name"> 654 <xsl:value-of select="."/> 655 </xsl:variable> 656 <xsl:choose> 657 <xsl:when test="contains(@refid, 'asio') or contains($name, 'asio::')"> 658 <xsl:variable name="dox-ref-id" select="@refid"/> 659 <xsl:variable name="ref-name"> 660 <xsl:call-template name="strip-asio-ns"> 661 <xsl:with-param name="name" 662 select="(($all-compounddefs)[@id=$dox-ref-id])[1]/compoundname"/> 663 </xsl:call-template> 664 </xsl:variable> 665 <xsl:variable name="ref-id"> 666 <xsl:call-template name="make-id"> 667 <xsl:with-param name="name" select="$ref-name"/> 668 </xsl:call-template> 669 </xsl:variable> 670 <xsl:text>[link boost_asio.reference.</xsl:text> 671 <xsl:value-of select="$ref-id"/> 672 <xsl:text> `</xsl:text> 673 <xsl:value-of name="text" select="$ref-name"/> 674 <xsl:text>`]</xsl:text> 675 </xsl:when> 676 <xsl:otherwise> 677 <xsl:text>`</xsl:text> 678 <xsl:value-of select="."/> 679 <xsl:text>`</xsl:text> 680 </xsl:otherwise> 681 </xsl:choose> 682</xsl:template> 683 684 685<xsl:template match="ref[@kindref='compound']" mode="markup-nested"> 686 <xsl:variable name="name"> 687 <xsl:value-of select="."/> 688 </xsl:variable> 689 <xsl:choose> 690 <xsl:when test="contains(@refid, 'asio') or contains($name, 'asio::')"> 691 <xsl:variable name="dox-ref-id" select="@refid"/> 692 <xsl:variable name="ref-name"> 693 <xsl:call-template name="strip-asio-ns"> 694 <xsl:with-param name="name" 695 select="(($all-compounddefs)[@id=$dox-ref-id])[1]/compoundname"/> 696 </xsl:call-template> 697 </xsl:variable> 698 <xsl:variable name="ref-id"> 699 <xsl:call-template name="make-id"> 700 <xsl:with-param name="name" select="$ref-name"/> 701 </xsl:call-template> 702 </xsl:variable> 703 <xsl:text>[link boost_asio.reference.</xsl:text> 704 <xsl:value-of select="$ref-id"/> 705 <xsl:text> `</xsl:text> 706 <xsl:value-of name="text" select="$ref-name"/> 707 <xsl:text>`]</xsl:text> 708 </xsl:when> 709 <xsl:otherwise> 710 <xsl:text>`</xsl:text> 711 <xsl:value-of select="."/> 712 <xsl:text>`</xsl:text> 713 </xsl:otherwise> 714 </xsl:choose> 715</xsl:template> 716 717 718<xsl:template match="ref[@kindref='member']" mode="markup"> 719 <xsl:variable name="dox-ref-id" select="@refid"/> 720 <xsl:variable name="memberdefs" select="($all-memberdefs)[@id=$dox-ref-id]"/> 721 <xsl:choose> 722 <xsl:when test="contains(@refid, 'namespaceboost_1_1asio') and count($memberdefs) > 0"> 723 <xsl:variable name="dox-compound-name" select="($memberdefs)[1]/../../compoundname"/> 724 <xsl:variable name="dox-name" select="($memberdefs)[1]/name"/> 725 <xsl:variable name="ref-name"> 726 <xsl:call-template name="strip-asio-ns"> 727 <xsl:with-param name="name" select="concat($dox-compound-name,'::',$dox-name)"/> 728 </xsl:call-template> 729 </xsl:variable> 730 <xsl:variable name="ref-id"> 731 <xsl:call-template name="make-id"> 732 <xsl:with-param name="name" select="$ref-name"/> 733 </xsl:call-template> 734 </xsl:variable> 735 <xsl:text>[link boost_asio.reference.</xsl:text> 736 <xsl:value-of select="$ref-id"/> 737 <xsl:text> `</xsl:text> 738 <xsl:value-of name="text" select="$ref-name"/> 739 <xsl:text>`]</xsl:text> 740 </xsl:when> 741 <xsl:otherwise> 742 <xsl:text>`</xsl:text> 743 <xsl:value-of select="."/> 744 <xsl:text>`</xsl:text> 745 </xsl:otherwise> 746 </xsl:choose> 747</xsl:template> 748 749 750<xsl:template match="ref[@kindref='member']" mode="markup-nested"> 751 <xsl:variable name="dox-ref-id" select="@refid"/> 752 <xsl:variable name="memberdefs" select="($all-memberdefs)[@id=$dox-ref-id]"/> 753 <xsl:choose> 754 <xsl:when test="contains(@refid, 'namespaceboost_1_1asio') and count($memberdefs) > 0"> 755 <xsl:variable name="dox-compound-name" select="($memberdefs)[1]/../../compoundname"/> 756 <xsl:variable name="dox-name" select="($memberdefs)[1]/name"/> 757 <xsl:variable name="ref-name"> 758 <xsl:call-template name="strip-asio-ns"> 759 <xsl:with-param name="name" select="concat($dox-compound-name,'::',$dox-name)"/> 760 </xsl:call-template> 761 </xsl:variable> 762 <xsl:variable name="ref-id"> 763 <xsl:call-template name="make-id"> 764 <xsl:with-param name="name" select="$ref-name"/> 765 </xsl:call-template> 766 </xsl:variable> 767 <xsl:text>[link boost_asio.reference.</xsl:text> 768 <xsl:value-of select="$ref-id"/> 769 <xsl:text> `</xsl:text> 770 <xsl:value-of name="text" select="$ref-name"/> 771 <xsl:text>`]</xsl:text> 772 </xsl:when> 773 <xsl:otherwise> 774 <xsl:text>`</xsl:text> 775 <xsl:value-of select="."/> 776 <xsl:text>`</xsl:text> 777 </xsl:otherwise> 778 </xsl:choose> 779</xsl:template> 780 781 782<xsl:template name="header-requirements"> 783 <xsl:param name="file"/> 784 <xsl:value-of select="$newline"/> 785 <xsl:text>[heading Requirements]</xsl:text> 786 <xsl:value-of select="$newline"/> 787 <xsl:value-of select="$newline"/> 788 <xsl:text>['Header: ]</xsl:text> 789 <xsl:text>[^boost/asio/</xsl:text> 790 <xsl:value-of select="substring-after($file, 'boost/asio/')"/> 791 <xsl:text>]</xsl:text> 792 <xsl:value-of select="$newline"/> 793 <xsl:value-of select="$newline"/> 794 <xsl:text>['Convenience header: ]</xsl:text> 795 <xsl:choose> 796 <xsl:when test="contains($file, 'boost/asio/execution')"> 797 <xsl:text>[^boost/asio/execution.hpp]</xsl:text> 798 </xsl:when> 799 <xsl:when test="contains($file, 'boost/asio/ssl')"> 800 <xsl:text>[^boost/asio/ssl.hpp]</xsl:text> 801 </xsl:when> 802 <xsl:when test="contains($file, 'boost/asio/spawn')"> 803 <xsl:text>None</xsl:text> 804 </xsl:when> 805 <xsl:otherwise> 806 <xsl:text>[^boost/asio.hpp]</xsl:text> 807 </xsl:otherwise> 808 </xsl:choose> 809 <xsl:value-of select="$newline"/> 810</xsl:template> 811 812 813<!--========== Class ==========--> 814 815<xsl:template name="class"> 816 <xsl:variable name="class-name"> 817 <xsl:call-template name="strip-asio-ns"> 818 <xsl:with-param name="name" select="compoundname"/> 819 </xsl:call-template> 820 </xsl:variable> 821 <xsl:variable name="escaped-class-name"> 822 <xsl:call-template name="escape-name"> 823 <xsl:with-param name="text" select="$class-name"/> 824 </xsl:call-template> 825 </xsl:variable> 826 <xsl:variable name="unqualified-class-name"> 827 <xsl:call-template name="strip-ns"> 828 <xsl:with-param name="name" select="compoundname"/> 829 </xsl:call-template> 830 </xsl:variable> 831 <xsl:variable name="class-id"> 832 <xsl:call-template name="make-id"> 833 <xsl:with-param name="name" select="$class-name"/> 834 </xsl:call-template> 835 </xsl:variable> 836 <xsl:variable name="class-file" select="location/@file"/> 837[section:<xsl:value-of select="$class-id"/><xsl:text> </xsl:text><xsl:value-of select="$class-name"/>] 838 839[indexterm1 boost_asio.indexterm.<xsl:value-of select="$class-id"/>..<xsl:value-of select="$escaped-class-name"/>] 840 841<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 842 843</xsl:text> 844 845<xsl:apply-templates select="templateparamlist" 846 mode="class-detail"/><xsl:text> </xsl:text><xsl:value-of select="@kind"/><xsl:text> </xsl:text><xsl:value-of 847 select="$unqualified-class-name"/><xsl:if test="count(basecompoundref[not(contains(.,'::detail'))]) > 0"> :</xsl:if><xsl:text> 848</xsl:text><xsl:for-each select="basecompoundref[not(contains(.,'::detail'))]"> 849<xsl:text> </xsl:text><xsl:if test="@prot='public'">public </xsl:if><xsl:call-template 850 name="strip-asio-ns"><xsl:with-param name="name" select="."/></xsl:call-template><xsl:if 851 test="not(position() = last())">,</xsl:if><xsl:text> 852</xsl:text></xsl:for-each><xsl:text> 853</xsl:text> 854 855<xsl:call-template name="class-tables"> 856 <xsl:with-param name="class-name" select="$class-name"/> 857 <xsl:with-param name="class-id" select="$class-id"/> 858 <xsl:with-param name="unqualified-class-name" select="$unqualified-class-name"/> 859</xsl:call-template> 860 861<xsl:apply-templates select="detaileddescription" mode="markup"/> 862 863<xsl:call-template name="header-requirements"> 864 <xsl:with-param name="file" select="$class-file"/> 865</xsl:call-template> 866 867<xsl:call-template name="class-members"> 868 <xsl:with-param name="class-name" select="$class-name"/> 869 <xsl:with-param name="class-id" select="$class-id"/> 870 <xsl:with-param name="class-file" select="$class-file"/> 871</xsl:call-template> 872 873[endsect] 874</xsl:template> 875 876 877<xsl:template name="class-tables"> 878<xsl:param name="class-name"/> 879<xsl:param name="class-id"/> 880<xsl:param name="unqualified-class-name"/> 881<xsl:if test=" 882 count( 883 sectiondef[@kind='public-type'] | 884 innerclass[@prot='public' and not(contains(., '_handler'))]) > 0"> 885[heading Types] 886[table 887 [[Name][Description]] 888<xsl:for-each select=" 889 sectiondef[@kind='public-type']/memberdef | 890 innerclass[@prot='public' and not(contains(., '_handler')) and not(contains(., 'thread_function')) and not(contains(., 'initiate_'))]" mode="class-table"> 891 <xsl:sort select="concat(name, (.)[not(name)])"/> 892 [ 893<xsl:choose> 894 <xsl:when test="count(name) > 0"> 895 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 896 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/>]]] 897 [<xsl:call-template name="escape-name"><xsl:with-param name="text" select="briefdescription"/></xsl:call-template>] 898 </xsl:when> 899 <xsl:otherwise> 900 <xsl:variable name="type-name"> 901 <xsl:call-template name="strip-asio-ns"> 902 <xsl:with-param name="name" select="."/> 903 </xsl:call-template> 904 </xsl:variable> 905 <xsl:variable name="unqualified-type-name"> 906 <xsl:call-template name="strip-ns"> 907 <xsl:with-param name="name" select="."/> 908 </xsl:call-template> 909 </xsl:variable> 910 <xsl:variable name="type-id"> 911 <xsl:call-template name="make-id"> 912 <xsl:with-param name="name" select="$type-name"/> 913 </xsl:call-template> 914 </xsl:variable> 915 <xsl:variable name="type-ref-id" select="@refid"/> 916 [[link boost_asio.reference.<xsl:value-of select="$type-id"/> 917 <xsl:text> </xsl:text>[*<xsl:value-of select="$unqualified-type-name"/>]]] 918 [<xsl:value-of select="(($all-compounddefs)[@id=$type-ref-id])[1]/briefdescription"/>] 919 </xsl:otherwise> 920</xsl:choose> 921 ] 922</xsl:for-each> 923] 924</xsl:if> 925 926<xsl:if test="count(sectiondef[@kind='public-func' or @kind='public-static-func']) > 0"> 927[heading Member Functions] 928[table 929 [[Name][Description]] 930<xsl:for-each select="sectiondef[@kind='public-func' or @kind='public-static-func']/memberdef" mode="class-table"> 931 <xsl:sort select="name"/> 932 <xsl:variable name="name"> 933 <xsl:value-of select="name"/> 934 </xsl:variable> 935 <xsl:variable name="escaped-name"> 936 <xsl:call-template name="escape-name"> 937 <xsl:with-param name="text" select="$name"/> 938 </xsl:call-template> 939 </xsl:variable> 940 <xsl:variable name="id"> 941 <xsl:call-template name="make-id"> 942 <xsl:with-param name="name" select="$name"/> 943 <xsl:with-param name="static" select="@static"/> 944 </xsl:call-template> 945 </xsl:variable> 946 <xsl:variable name="doxygen-id"> 947 <xsl:value-of select="@id"/> 948 </xsl:variable> 949 <xsl:variable name="overload-count"> 950 <xsl:value-of select="count(../memberdef[name = $name])"/> 951 </xsl:variable> 952 <xsl:variable name="overload-position"> 953 <xsl:for-each select="../memberdef[name = $name]"> 954 <xsl:if test="@id = $doxygen-id"> 955 <xsl:value-of select="position()"/> 956 </xsl:if> 957 </xsl:for-each> 958 </xsl:variable> 959 <xsl:if test="$overload-position = 1"> 960 [ 961 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 962 <xsl:text> </xsl:text>[*<xsl:value-of select="$escaped-name"/><xsl:text>]]</xsl:text> 963 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 964 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 965 <xsl:if test="@static='yes'"> [static]</xsl:if> 966 <xsl:text>] 967 [</xsl:text><xsl:value-of select="briefdescription"/> 968 </xsl:if> 969 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 970 <xsl:value-of select="$newline"/> 971 <xsl:text> [hr]</xsl:text> 972 <xsl:value-of select="$newline"/> 973 <xsl:text> </xsl:text> 974 <xsl:value-of select="briefdescription"/> 975 </xsl:if> 976 <xsl:if test="$overload-position = $overload-count"> 977 <xsl:text>] 978 ] 979 </xsl:text> 980 </xsl:if> 981</xsl:for-each> 982] 983</xsl:if> 984 985<xsl:if test="count(sectiondef[@kind='protected-func' or @kind='protected-static-func']) > 0"> 986[heading Protected Member Functions] 987[table 988 [[Name][Description]] 989<xsl:for-each select="sectiondef[@kind='protected-func' or @kind='protected-static-func']/memberdef" mode="class-table"> 990 <xsl:sort select="name"/> 991 <xsl:variable name="name"> 992 <xsl:value-of select="name"/> 993 </xsl:variable> 994 <xsl:variable name="id"> 995 <xsl:call-template name="make-id"> 996 <xsl:with-param name="name" select="$name"/> 997 <xsl:with-param name="static" select="@static"/> 998 </xsl:call-template> 999 </xsl:variable> 1000 <xsl:variable name="doxygen-id"> 1001 <xsl:value-of select="@id"/> 1002 </xsl:variable> 1003 <xsl:variable name="overload-count"> 1004 <xsl:value-of select="count(../memberdef[name = $name])"/> 1005 </xsl:variable> 1006 <xsl:variable name="overload-position"> 1007 <xsl:for-each select="../memberdef[name = $name]"> 1008 <xsl:if test="@id = $doxygen-id"> 1009 <xsl:value-of select="position()"/> 1010 </xsl:if> 1011 </xsl:for-each> 1012 </xsl:variable> 1013 <xsl:if test="$overload-position = 1"> 1014 [ 1015 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1016 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]</xsl:text> 1017 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 1018 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 1019 <xsl:if test="@static='yes'"> [static]</xsl:if> 1020 <xsl:text>] 1021 [</xsl:text><xsl:value-of select="briefdescription"/> 1022 </xsl:if> 1023 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1024 <xsl:value-of select="$newline"/> 1025 <xsl:text> [hr]</xsl:text> 1026 <xsl:value-of select="$newline"/> 1027 <xsl:text> </xsl:text> 1028 <xsl:value-of select="briefdescription"/> 1029 </xsl:if> 1030 <xsl:if test="$overload-position = $overload-count"> 1031 <xsl:text>] 1032 ] 1033 </xsl:text> 1034 </xsl:if> 1035</xsl:for-each> 1036] 1037</xsl:if> 1038 1039<xsl:if test="$class-name = 'execution_context::service'"> 1040<xsl:if test="count(sectiondef[@kind='private-func']) > 0"> 1041[heading Private Member Functions] 1042[table 1043 [[Name][Description]] 1044<xsl:for-each select="sectiondef[@kind='private-func']/memberdef" mode="class-table"> 1045 <xsl:sort select="name"/> 1046 <xsl:variable name="name"> 1047 <xsl:value-of select="name"/> 1048 </xsl:variable> 1049 <xsl:variable name="id"> 1050 <xsl:call-template name="make-id"> 1051 <xsl:with-param name="name" select="$name"/> 1052 <xsl:with-param name="static" select="@static"/> 1053 </xsl:call-template> 1054 </xsl:variable> 1055 <xsl:variable name="doxygen-id"> 1056 <xsl:value-of select="@id"/> 1057 </xsl:variable> 1058 <xsl:variable name="overload-count"> 1059 <xsl:value-of select="count(../memberdef[name = $name])"/> 1060 </xsl:variable> 1061 <xsl:variable name="overload-position"> 1062 <xsl:for-each select="../memberdef[name = $name]"> 1063 <xsl:if test="@id = $doxygen-id"> 1064 <xsl:value-of select="position()"/> 1065 </xsl:if> 1066 </xsl:for-each> 1067 </xsl:variable> 1068 <xsl:if test="$overload-position = 1"> 1069 [ 1070 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1071 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]</xsl:text> 1072 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 1073 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 1074 <xsl:if test="@static='yes'"> [static]</xsl:if> 1075 <xsl:text>] 1076 [</xsl:text><xsl:value-of select="briefdescription"/> 1077 </xsl:if> 1078 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1079 <xsl:value-of select="$newline"/> 1080 <xsl:text> [hr]</xsl:text> 1081 <xsl:value-of select="$newline"/> 1082 <xsl:text> </xsl:text> 1083 <xsl:value-of select="briefdescription"/> 1084 </xsl:if> 1085 <xsl:if test="$overload-position = $overload-count"> 1086 <xsl:text>] 1087 ] 1088 </xsl:text> 1089 </xsl:if> 1090</xsl:for-each> 1091] 1092</xsl:if> 1093</xsl:if> 1094 1095<xsl:if test="count(sectiondef[@kind='public-attrib' or @kind='public-static-attrib']) > 0"> 1096[heading Data Members] 1097[table 1098 [[Name][Description]] 1099<xsl:for-each select="sectiondef[@kind='public-attrib' or @kind='public-static-attrib']/memberdef" mode="class-table"> 1100 <xsl:sort select="name"/> 1101 [ 1102 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 1103 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/><xsl:text>]]</xsl:text> 1104 <xsl:if test="@static='yes'"> [static]</xsl:if>] 1105 [<xsl:value-of select="briefdescription"/>] 1106 ] 1107</xsl:for-each> 1108] 1109</xsl:if> 1110 1111<xsl:if test="count(sectiondef[@kind='protected-attrib' or @kind='protected-static-attrib']/memberdef[not(name='impl_')]) > 0"> 1112[heading Protected Data Members] 1113[table 1114 [[Name][Description]] 1115<xsl:for-each select="sectiondef[@kind='protected-attrib' or @kind='protected-static-attrib']/memberdef[not(name='impl_')]" mode="class-table"> 1116 <xsl:sort select="name"/> 1117 [ 1118 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 1119 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/><xsl:text>]]</xsl:text> 1120 <xsl:if test="@static='yes'"> [static]</xsl:if>] 1121 [<xsl:value-of select="briefdescription"/>] 1122 ] 1123</xsl:for-each> 1124] 1125</xsl:if> 1126 1127<xsl:if test="count(sectiondef[@kind='friend']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]) > 0"> 1128[heading Friends] 1129[table 1130 [[Name][Description]] 1131<xsl:for-each select="sectiondef[@kind='friend']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]" mode="class-table"> 1132 <xsl:sort select="name"/> 1133 <xsl:variable name="name"> 1134 <xsl:value-of select="name"/> 1135 </xsl:variable> 1136 <xsl:variable name="id"> 1137 <xsl:call-template name="make-id"> 1138 <xsl:with-param name="name" select="$name"/> 1139 </xsl:call-template> 1140 </xsl:variable> 1141 <xsl:variable name="doxygen-id"> 1142 <xsl:value-of select="@id"/> 1143 </xsl:variable> 1144 <xsl:variable name="overload-count"> 1145 <xsl:value-of select="count(../memberdef[name = $name])"/> 1146 </xsl:variable> 1147 <xsl:variable name="overload-position"> 1148 <xsl:for-each select="../memberdef[name = $name]"> 1149 <xsl:if test="@id = $doxygen-id"> 1150 <xsl:value-of select="position()"/> 1151 </xsl:if> 1152 </xsl:for-each> 1153 </xsl:variable> 1154 <xsl:if test="$overload-position = 1"> 1155 [ 1156 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1157 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]] 1158 [</xsl:text><xsl:value-of select="briefdescription"/> 1159 </xsl:if> 1160 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1161 <xsl:value-of select="$newline"/> 1162 <xsl:text> [hr]</xsl:text> 1163 <xsl:value-of select="$newline"/> 1164 <xsl:text> </xsl:text> 1165 <xsl:value-of select="briefdescription"/> 1166 </xsl:if> 1167 <xsl:if test="$overload-position = $overload-count"> 1168 <xsl:text>] 1169 ] 1170 </xsl:text> 1171 </xsl:if> 1172</xsl:for-each> 1173] 1174</xsl:if> 1175 1176<xsl:if test="count(sectiondef[@kind='related']/memberdef) > 0"> 1177[heading Related Functions] 1178[table 1179 [[Name][Description]] 1180<xsl:for-each select="sectiondef[@kind='related']/memberdef" mode="class-table"> 1181 <xsl:sort select="name"/> 1182 <xsl:variable name="name"> 1183 <xsl:value-of select="name"/> 1184 </xsl:variable> 1185 <xsl:variable name="id"> 1186 <xsl:call-template name="make-id"> 1187 <xsl:with-param name="name" select="$name"/> 1188 </xsl:call-template> 1189 </xsl:variable> 1190 <xsl:variable name="doxygen-id"> 1191 <xsl:value-of select="@id"/> 1192 </xsl:variable> 1193 <xsl:variable name="overload-count"> 1194 <xsl:value-of select="count(../memberdef[name = $name])"/> 1195 </xsl:variable> 1196 <xsl:variable name="overload-position"> 1197 <xsl:for-each select="../memberdef[name = $name]"> 1198 <xsl:if test="@id = $doxygen-id"> 1199 <xsl:value-of select="position()"/> 1200 </xsl:if> 1201 </xsl:for-each> 1202 </xsl:variable> 1203 <xsl:if test="$overload-position = 1"> 1204 [ 1205 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1206 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]] 1207 [</xsl:text><xsl:value-of select="briefdescription"/> 1208 </xsl:if> 1209 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1210 <xsl:value-of select="$newline"/> 1211 <xsl:value-of select="$newline"/> 1212 <xsl:text> </xsl:text> 1213 <xsl:value-of select="briefdescription"/> 1214 </xsl:if> 1215 <xsl:if test="$overload-position = $overload-count"> 1216 <xsl:text>] 1217 ] 1218 </xsl:text> 1219 </xsl:if> 1220</xsl:for-each> 1221] 1222</xsl:if> 1223 1224</xsl:template> 1225 1226 1227<xsl:template name="class-members"> 1228<xsl:param name="class-name"/> 1229<xsl:param name="class-id"/> 1230<xsl:param name="class-file"/> 1231<xsl:apply-templates select="sectiondef[@kind='public-type' or @kind='public-func' or @kind='public-static-func' or @kind='public-attrib' or @kind='public-static-attrib' or @kind='protected-func' or @kind='protected-static-func' or @kind='protected-attrib' or @kind='protected-static-attrib' or @kind='friend' or @kind='related']/memberdef[not(type = 'friend class') and not(contains(name, '_helper')) and not(name = 'impl_')]" mode="class-detail"> 1232 <xsl:sort select="name"/> 1233 <xsl:with-param name="class-name" select="$class-name"/> 1234 <xsl:with-param name="class-id" select="$class-id"/> 1235 <xsl:with-param name="class-file" select="$class-file"/> 1236</xsl:apply-templates> 1237<xsl:if test="$class-name = 'execution_context::service'"> 1238 <xsl:apply-templates select="sectiondef[@kind='private-func']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]" mode="class-detail"> 1239 <xsl:sort select="name"/> 1240 <xsl:with-param name="class-name" select="$class-name"/> 1241 <xsl:with-param name="class-id" select="$class-id"/> 1242 <xsl:with-param name="class-file" select="$class-file"/> 1243 </xsl:apply-templates> 1244</xsl:if> 1245</xsl:template> 1246 1247 1248<!-- Class detail --> 1249 1250<xsl:template match="memberdef" mode="class-detail"> 1251 <xsl:param name="class-name"/> 1252 <xsl:param name="class-id"/> 1253 <xsl:param name="class-file"/> 1254 <xsl:variable name="name"> 1255 <xsl:value-of select="name"/> 1256 </xsl:variable> 1257 <xsl:variable name="escaped-name"> 1258 <xsl:call-template name="escape-name"> 1259 <xsl:with-param name="text" select="$name"/> 1260 </xsl:call-template> 1261 </xsl:variable> 1262 <xsl:variable name="escaped-class-name"> 1263 <xsl:call-template name="escape-name"> 1264 <xsl:with-param name="text" select="$class-name"/> 1265 </xsl:call-template> 1266 </xsl:variable> 1267 <xsl:variable name="id"> 1268 <xsl:call-template name="make-id"> 1269 <xsl:with-param name="name" select="$name"/> 1270 <xsl:with-param name="static" select="@static"/> 1271 </xsl:call-template> 1272 </xsl:variable> 1273 <xsl:variable name="doxygen-id"> 1274 <xsl:value-of select="@id"/> 1275 </xsl:variable> 1276 <xsl:variable name="overload-count"> 1277 <xsl:value-of select="count(../memberdef[name = $name])"/> 1278 </xsl:variable> 1279 <xsl:variable name="overload-position"> 1280 <xsl:for-each select="../memberdef[name = $name]"> 1281 <xsl:if test="@id = $doxygen-id"> 1282 <xsl:value-of select="position()"/> 1283 </xsl:if> 1284 </xsl:for-each> 1285 </xsl:variable> 1286 1287<xsl:if test="$overload-count > 1 and $overload-position = 1"> 1288[section:<xsl:value-of select="$id"/><xsl:text> </xsl:text> 1289<xsl:value-of select="$class-name"/>::<xsl:value-of select="$escaped-name"/>] 1290 1291<xsl:text>[indexterm2 </xsl:text> 1292<xsl:text>boost_asio.indexterm.</xsl:text> 1293<xsl:value-of select="$class-id"/> 1294<xsl:text>.</xsl:text> 1295<xsl:value-of select="$id"/> 1296<xsl:text>..</xsl:text> 1297<xsl:value-of select="$escaped-name"/> 1298<xsl:text>..</xsl:text> 1299<xsl:value-of select="$escaped-class-name"/> 1300<xsl:text>] </xsl:text> 1301 1302<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1303</xsl:text> 1304 1305<xsl:for-each select="../memberdef[name = $name]"> 1306<xsl:if test="position() > 1 and not(briefdescription = preceding-sibling::*/briefdescription)"> 1307 <xsl:value-of select="$newline"/> 1308 <xsl:apply-templates select="briefdescription" mode="markup"/> 1309 <xsl:value-of select="$newline"/> 1310</xsl:if> 1311<xsl:text> 1312</xsl:text><xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1313<xsl:text> </xsl:text> 1314 <xsl:if test="@explicit='yes'">explicit </xsl:if> 1315 <xsl:if test="@static='yes'">static </xsl:if> 1316 <xsl:if test="@virt='virtual'">virtual </xsl:if> 1317 <xsl:variable name="stripped-type"> 1318 <xsl:call-template name="cleanup-type"> 1319 <xsl:with-param name="name" select="type"/> 1320 </xsl:call-template> 1321 </xsl:variable> 1322 <xsl:if test="string-length($stripped-type) > 0"> 1323 <xsl:value-of select="$stripped-type"/><xsl:text> </xsl:text> 1324</xsl:if>``[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of 1325 select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text><xsl:value-of 1326 select="name"/>]``(<xsl:apply-templates select="param" 1327 mode="class-detail"/>)<xsl:if test="@const='yes'"> const</xsl:if>; 1328<xsl:text> `` [''''&raquo;'''</xsl:text> 1329<xsl:text> [link boost_asio.reference.</xsl:text> 1330<xsl:value-of select="$class-id"/>.<xsl:value-of 1331 select="$id"/>.overload<xsl:value-of select="position()"/> 1332<xsl:text> more...]]`` 1333</xsl:text> 1334</xsl:for-each> 1335</xsl:if> 1336 1337[section:<xsl:if test="$overload-count = 1"><xsl:value-of select="$id"/></xsl:if> 1338<xsl:if test="$overload-count > 1">overload<xsl:value-of select="$overload-position"/></xsl:if> 1339<xsl:text> </xsl:text><xsl:value-of select="$class-name"/>::<xsl:value-of select="$escaped-name"/> 1340<xsl:if test="$overload-count > 1"> (<xsl:value-of 1341 select="$overload-position"/> of <xsl:value-of select="$overload-count"/> overloads)</xsl:if>] 1342 1343<xsl:if test="not(starts-with($doxygen-id, ../../@id))"> 1344<xsl:variable name="inherited-from" select="($all-compounddefs)[starts-with($doxygen-id, @id)]/compoundname"/> 1345<xsl:if test="not(contains($inherited-from, '::detail'))"> 1346['Inherited from <xsl:call-template name="strip-asio-ns"> 1347<xsl:with-param name="name" select="$inherited-from"/> 1348</xsl:call-template>.]<xsl:text> 1349 1350</xsl:text></xsl:if></xsl:if> 1351 1352<xsl:if test="$overload-count = 1"> 1353 <xsl:text>[indexterm2 </xsl:text> 1354 <xsl:text>boost_asio.indexterm.</xsl:text> 1355 <xsl:value-of select="$class-id"/> 1356 <xsl:text>.</xsl:text> 1357 <xsl:value-of select="$id"/> 1358 <xsl:text>..</xsl:text> 1359 <xsl:value-of select="$escaped-name"/> 1360 <xsl:text>..</xsl:text> 1361 <xsl:value-of select="$escaped-class-name"/> 1362 <xsl:text>] </xsl:text> 1363</xsl:if> 1364 1365<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1366</xsl:text> 1367 1368 <xsl:choose> 1369 <xsl:when test="@kind='typedef'"> 1370 <xsl:call-template name="typedef" mode="class-detail"> 1371 <xsl:with-param name="class-name" select="$class-name"/> 1372 </xsl:call-template> 1373 </xsl:when> 1374 <xsl:when test="@kind='variable'"> 1375 <xsl:call-template name="variable" mode="class-detail"/> 1376 </xsl:when> 1377 <xsl:when test="@kind='enum'"> 1378 <xsl:call-template name="enum" mode="class-detail"> 1379 <xsl:with-param name="enum-name" select="$class-name"/> 1380 <xsl:with-param name="id" select="concat($class-id, '.', $id)"/> 1381 </xsl:call-template> 1382 </xsl:when> 1383 <xsl:when test="@kind='function'"> 1384 <xsl:call-template name="function" mode="class-detail"/> 1385 </xsl:when> 1386 <xsl:when test="@kind='friend'"> 1387 <xsl:call-template name="function" mode="class-detail"/> 1388 </xsl:when> 1389 </xsl:choose> 1390 1391<xsl:text> 1392</xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/> 1393 1394<xsl:if test="@kind='typedef' or @kind='friend'"> 1395 <xsl:call-template name="header-requirements"> 1396 <xsl:with-param name="file" select="$class-file"/> 1397 </xsl:call-template> 1398</xsl:if> 1399 1400[endsect] 1401 1402<xsl:if test="$overload-count > 1 and $overload-position = $overload-count"> 1403[endsect] 1404</xsl:if> 1405</xsl:template> 1406 1407 1408<xsl:template name="typedef"> 1409<xsl:param name="class-name"/> 1410<xsl:text> 1411 </xsl:text>typedef <xsl:value-of select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>;<xsl:text> 1412 1413</xsl:text> 1414<xsl:if test="count(type/ref) > 0 and not(contains(type, '*')) and not(contains(name, 'polymorphic_query_result_type'))"> 1415 <xsl:variable name="class-refid"> 1416 <xsl:choose> 1417 <xsl:when test="type='basic_address_iterator< address_v4 >'"> 1418 <xsl:text>classasio_1_1ip_1_1basic__address__iterator_3_01address__v4_01_4</xsl:text> 1419 </xsl:when> 1420 <xsl:when test="type='basic_address_iterator< address_v6 >'"> 1421 <xsl:text>classasio_1_1ip_1_1basic__address__iterator_3_01address__v6_01_4</xsl:text> 1422 </xsl:when> 1423 <xsl:when test="type='basic_address_range< address_v4 >'"> 1424 <xsl:text>classasio_1_1ip_1_1basic__address__range_3_01address__v4_01_4</xsl:text> 1425 </xsl:when> 1426 <xsl:when test="type='basic_address_range< address_v6 >'"> 1427 <xsl:text>classasio_1_1ip_1_1basic__address__range_3_01address__v6_01_4</xsl:text> 1428 </xsl:when> 1429 <xsl:otherwise> 1430 <xsl:for-each select="type/ref[1]"> 1431 <xsl:value-of select="@refid"/> 1432 </xsl:for-each> 1433 </xsl:otherwise> 1434 </xsl:choose> 1435 </xsl:variable> 1436 <xsl:variable name="name" select="name"/> 1437 <xsl:for-each select="($all-compounddefs)[@id=$class-refid]"> 1438 <xsl:call-template name="class-tables"> 1439 <xsl:with-param name="class-name"> 1440 <xsl:value-of select="concat($class-name, '::', $name)"/> 1441 </xsl:with-param> 1442 <xsl:with-param name="class-id"> 1443 <xsl:call-template name="make-id"> 1444 <xsl:with-param name="name"> 1445 <xsl:call-template name="strip-asio-ns"> 1446 <xsl:with-param name="name" select="compoundname"/> 1447 </xsl:call-template> 1448 </xsl:with-param> 1449 </xsl:call-template> 1450 </xsl:with-param> 1451 <xsl:with-param name="unqualified-class-name"> 1452 <xsl:call-template name="strip-ns"> 1453 <xsl:with-param name="name" select="compoundname"/> 1454 </xsl:call-template> 1455 </xsl:with-param> 1456 </xsl:call-template> 1457 <xsl:apply-templates select="detaileddescription" mode="markup"/> 1458 </xsl:for-each> 1459</xsl:if> 1460</xsl:template> 1461 1462 1463<xsl:template name="variable"> 1464<xsl:if test="contains(name, 'is_applicable_property_v')"> 1465<xsl:text> 1466 template <typename T></xsl:text> 1467</xsl:if> 1468<xsl:if test="contains(name, 'context_as')"> 1469<xsl:text> 1470 template <typename U></xsl:text> 1471</xsl:if> 1472<xsl:text> 1473 </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:value-of 1474 select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/> 1475 <xsl:if test="count(initializer) = 1"><xsl:text> =</xsl:text> 1476 <xsl:value-of select="initializer"/></xsl:if>; 1477</xsl:template> 1478 1479 1480<xsl:template name="enum"> 1481<xsl:param name="enum-name"/> 1482<xsl:param name="id"/> 1483 enum <xsl:value-of select="name"/><xsl:text> 1484</xsl:text><xsl:if test="count(enumvalue) > 0"> 1485<xsl:value-of select="$newline"/> 1486<xsl:for-each select="enumvalue"> 1487 <xsl:text>[indexterm2 </xsl:text> 1488 <xsl:text>boost_asio.indexterm.</xsl:text> 1489 <xsl:value-of select="$id"/> 1490 <xsl:text>.</xsl:text> 1491 <xsl:value-of select="name"/> 1492 <xsl:text>..</xsl:text> 1493 <xsl:value-of select="name"/> 1494 <xsl:text>..</xsl:text> 1495 <xsl:value-of select="$enum-name"/> 1496 <xsl:text>]</xsl:text> 1497 <xsl:value-of select="$newline"/> 1498</xsl:for-each> 1499[heading Values] 1500[variablelist 1501<xsl:for-each select="enumvalue"> 1502 [ 1503 [<xsl:value-of select="name"/>] 1504 [<xsl:value-of select="briefdescription"/>] 1505 ] 1506</xsl:for-each> 1507] 1508</xsl:if> 1509</xsl:template> 1510 1511 1512<xsl:template name="function"> 1513<xsl:text> 1514</xsl:text> 1515<xsl:variable name="doxygen-id"> 1516 <xsl:value-of select="@id"/> 1517</xsl:variable> 1518<xsl:choose> 1519 <xsl:when test="count(($all-memberdefs)[@id=$doxygen-id]/templateparamlist) = 1"> 1520 <xsl:apply-templates select="($all-memberdefs)[@id=$doxygen-id]/templateparamlist" mode="class-detail"/> 1521 </xsl:when> 1522 <xsl:otherwise> 1523 <xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1524 </xsl:otherwise> 1525</xsl:choose> 1526<xsl:variable name="stripped-type"> 1527 <xsl:call-template name="cleanup-type"> 1528 <xsl:with-param name="name" select="type"/> 1529 </xsl:call-template> 1530</xsl:variable> 1531<xsl:text> </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:if 1532 test="@virt='virtual'">virtual </xsl:if><xsl:if 1533 test="string-length($stripped-type) > 0"><xsl:value-of select="$stripped-type"/><xsl:text> </xsl:text></xsl:if> 1534<xsl:value-of select="name"/>(<xsl:apply-templates select="param" 1535 mode="class-detail"/>)<xsl:if test="@const='yes'"> const</xsl:if>; 1536</xsl:template> 1537 1538 1539<xsl:template match="templateparamlist" mode="class-detail"> 1540<xsl:text> </xsl:text>template<<xsl:apply-templates select="param" mode="class-detail-template"/>> 1541</xsl:template> 1542 1543 1544<xsl:template match="param" mode="class-detail-template"> 1545<xsl:text> 1546 </xsl:text><xsl:value-of select="type"/><xsl:text> </xsl:text> 1547 <xsl:choose> 1548 <xsl:when test="declname = 'Allocator'"> 1549 <xsl:value-of select="declname"/> 1550 </xsl:when> 1551 <xsl:when test="declname = 'Arg'"> 1552 <xsl:value-of select="declname"/> 1553 </xsl:when> 1554 <xsl:when test="declname = 'Args'"> 1555 <xsl:value-of select="declname"/> 1556 </xsl:when> 1557 <xsl:when test="declname = 'AwaitableExecutor'"> 1558 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1559 </xsl:when> 1560 <xsl:when test="declname = 'Bits'"> 1561 <xsl:value-of select="declname"/> 1562 </xsl:when> 1563 <xsl:when test="declname = 'Blocking'"> 1564 <xsl:value-of select="declname"/> 1565 </xsl:when> 1566 <xsl:when test="declname = 'BufferSequence'"> 1567 <xsl:value-of select="declname"/> 1568 </xsl:when> 1569 <xsl:when test="declname = 'ByteType'"> 1570 <xsl:value-of select="declname"/> 1571 </xsl:when> 1572 <xsl:when test="declname = 'C'"> 1573 <xsl:value-of select="declname"/> 1574 </xsl:when> 1575 <xsl:when test="declname = 'Clock'"> 1576 <xsl:value-of select="declname"/> 1577 </xsl:when> 1578 <xsl:when test="declname = 'CompletionToken'"> 1579 <xsl:value-of select="declname"/> 1580 </xsl:when> 1581 <xsl:when test="declname = 'ConstBuffer'"> 1582 <xsl:value-of select="declname"/> 1583 </xsl:when> 1584 <xsl:when test="declname = 'Context_Service'"> 1585 <xsl:value-of select="declname"/> 1586 </xsl:when> 1587 <xsl:when test="declname = 'Duration'"> 1588 <xsl:value-of select="declname"/> 1589 </xsl:when> 1590 <xsl:when test="declname = 'DatagramSocketService1'"> 1591 <xsl:value-of select="concat('``[link boost_asio.reference.DatagramSocketService ', declname, ']``')"/> 1592 </xsl:when> 1593 <xsl:when test="declname = 'E'"> 1594 <xsl:value-of select="declname"/> 1595 </xsl:when> 1596 <xsl:when test="declname = 'EndpointIterator'"> 1597 <xsl:value-of select="declname"/> 1598 </xsl:when> 1599 <xsl:when test="declname = 'Elem'"> 1600 <xsl:value-of select="declname"/> 1601 </xsl:when> 1602 <xsl:when test="declname = 'ErrorEnum'"> 1603 <xsl:value-of select="declname"/> 1604 </xsl:when> 1605 <xsl:when test="declname = 'ExecutionContext'"> 1606 <xsl:value-of select="declname"/> 1607 </xsl:when> 1608 <xsl:when test="declname = 'Executor'"> 1609 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1610 </xsl:when> 1611 <xsl:when test="declname = 'Executor2'"> 1612 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1613 </xsl:when> 1614 <xsl:when test="declname = 'F'"> 1615 <xsl:value-of select="declname"/> 1616 </xsl:when> 1617 <xsl:when test="declname = 'Function'"> 1618 <xsl:value-of select="declname"/> 1619 </xsl:when> 1620 <xsl:when test="declname = 'IoObjectService1'"> 1621 <xsl:value-of select="concat('``[link boost_asio.reference.IoObjectService ', declname, ']``')"/> 1622 </xsl:when> 1623 <xsl:when test="declname = 'Implementation'"> 1624 <xsl:value-of select="declname"/> 1625 </xsl:when> 1626 <xsl:when test="declname = 'Initiation'"> 1627 <xsl:value-of select="declname"/> 1628 </xsl:when> 1629 <xsl:when test="declname = 'InnerExecutor'"> 1630 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1631 </xsl:when> 1632 <xsl:when test="declname = 'IoObjectsOrExecutors'"> 1633 <xsl:value-of select="declname"/> 1634 </xsl:when> 1635 <xsl:when test="declname = 'Iterator'"> 1636 <xsl:value-of select="declname"/> 1637 </xsl:when> 1638 <xsl:when test="declname = 'MatchCondition'"> 1639 <xsl:value-of select="declname"/> 1640 </xsl:when> 1641 <xsl:when test="declname = 'MutableBuffer'"> 1642 <xsl:value-of select="declname"/> 1643 </xsl:when> 1644 <xsl:when test="declname = 'N'"> 1645 <xsl:value-of select="declname"/> 1646 </xsl:when> 1647 <xsl:when test="declname = 'OtherAllocator'"> 1648 <xsl:value-of select="declname"/> 1649 </xsl:when> 1650 <xsl:when test="declname = 'OtherExecutor'"> 1651 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1652 </xsl:when> 1653 <xsl:when test="declname = 'OtherHandler'"> 1654 <xsl:value-of select="declname"/> 1655 </xsl:when> 1656 <xsl:when test="declname = 'OtherSupportableProperties'"> 1657 <xsl:value-of select="declname"/> 1658 </xsl:when> 1659 <xsl:when test="declname = 'OutstandingWork'"> 1660 <xsl:value-of select="declname"/> 1661 </xsl:when> 1662 <xsl:when test="declname = 'PasswordCallback'"> 1663 <xsl:value-of select="declname"/> 1664 </xsl:when> 1665 <xsl:when test="declname = 'Period'"> 1666 <xsl:value-of select="declname"/> 1667 </xsl:when> 1668 <xsl:when test="declname = 'PodType'"> 1669 <xsl:value-of select="declname"/> 1670 </xsl:when> 1671 <xsl:when test="declname = 'PointerToPodType'"> 1672 <xsl:value-of select="declname"/> 1673 </xsl:when> 1674 <xsl:when test="declname = 'Properties'"> 1675 <xsl:value-of select="declname"/> 1676 </xsl:when> 1677 <xsl:when test="declname = 'Property'"> 1678 <xsl:value-of select="declname"/> 1679 </xsl:when> 1680 <xsl:when test="declname = 'Protocol1'"> 1681 <xsl:value-of select="concat('``[link boost_asio.reference.Protocol ', declname, ']``')"/> 1682 </xsl:when> 1683 <xsl:when test="declname = 'RawCompletionToken'"> 1684 <xsl:value-of select="declname"/> 1685 </xsl:when> 1686 <xsl:when test="declname = 'RawSocketService1'"> 1687 <xsl:value-of select="concat('``[link boost_asio.reference.RawSocketService ', declname, ']``')"/> 1688 </xsl:when> 1689 <xsl:when test="declname = 'Relationship'"> 1690 <xsl:value-of select="declname"/> 1691 </xsl:when> 1692 <xsl:when test="declname = 'Rep'"> 1693 <xsl:value-of select="declname"/> 1694 </xsl:when> 1695 <xsl:when test="declname = 'Result'"> 1696 <xsl:value-of select="declname"/> 1697 </xsl:when> 1698 <xsl:when test="declname = 'SeqPacketSocketService1'"> 1699 <xsl:value-of select="concat('``[link boost_asio.reference.SeqPacketSocketService ', declname, ']``')"/> 1700 </xsl:when> 1701 <xsl:when test="declname = 'Signature'"> 1702 <xsl:value-of select="declname"/> 1703 </xsl:when> 1704 <xsl:when test="declname = 'SocketAcceptorService1' or declname = 'SocketAcceptorService2'"> 1705 <xsl:value-of select="concat('``[link boost_asio.reference.SocketAcceptorService ', declname, ']``')"/> 1706 </xsl:when> 1707 <xsl:when test="declname = 'SocketService1' or declname = 'SocketService2'"> 1708 <xsl:value-of select="concat('``[link boost_asio.reference.SocketService ', declname, ']``')"/> 1709 </xsl:when> 1710 <xsl:when test="declname = 'Stream'"> 1711 <xsl:value-of select="declname"/> 1712 </xsl:when> 1713 <xsl:when test="declname = 'StreamSocketService1'"> 1714 <xsl:value-of select="concat('``[link boost_asio.reference.StreamSocketService ', declname, ']``')"/> 1715 </xsl:when> 1716 <xsl:when test="declname = 'SupportableProperties'"> 1717 <xsl:value-of select="declname"/> 1718 </xsl:when> 1719 <xsl:when test="declname = 'R'"> 1720 <xsl:value-of select="declname"/> 1721 </xsl:when> 1722 <xsl:when test="declname = 'S'"> 1723 <xsl:value-of select="declname"/> 1724 </xsl:when> 1725 <xsl:when test="declname = 'T'"> 1726 <xsl:value-of select="declname"/> 1727 </xsl:when> 1728 <xsl:when test="declname = 'T1'"> 1729 <xsl:value-of select="declname"/> 1730 </xsl:when> 1731 <xsl:when test="declname = 'TN'"> 1732 <xsl:value-of select="declname"/> 1733 </xsl:when> 1734 <xsl:when test="declname = 'Time'"> 1735 <xsl:value-of select="declname"/> 1736 </xsl:when> 1737 <xsl:when test="declname = 'TimeType'"> 1738 <xsl:value-of select="declname"/> 1739 </xsl:when> 1740 <xsl:when test="declname = 'Traits'"> 1741 <xsl:value-of select="declname"/> 1742 </xsl:when> 1743 <xsl:when test="declname = 'U'"> 1744 <xsl:value-of select="declname"/> 1745 </xsl:when> 1746 <xsl:when test="declname = 'Vs'"> 1747 <xsl:value-of select="declname"/> 1748 </xsl:when> 1749 <xsl:when test="declname = 'VerifyCallback'"> 1750 <xsl:value-of select="declname"/> 1751 </xsl:when> 1752 <xsl:when test="count(declname) = 0"> 1753 </xsl:when> 1754 <xsl:otherwise> 1755 <xsl:value-of select="concat('``[link boost_asio.reference.', declname, ' ', declname, ']``')"/> 1756 </xsl:otherwise> 1757 </xsl:choose> 1758 <xsl:if test="count(defval) > 0"> = <xsl:choose> 1759 <xsl:when test="defval = 'default_token'"> 1760 <xsl:text>``[link boost_asio.reference.asynchronous_operations.default_completion_tokens ['DEFAULT]]``</xsl:text> 1761 </xsl:when> 1762 <xsl:otherwise><xsl:value-of select="defval"/></xsl:otherwise> 1763 </xsl:choose></xsl:if> 1764 <xsl:if test="not(position() = last())">,</xsl:if> 1765</xsl:template> 1766 1767 1768<xsl:template match="param" mode="class-detail"> 1769<xsl:text> 1770 </xsl:text> 1771 <xsl:choose> 1772 <xsl:when test="string-length(array) > 0"> 1773 <xsl:value-of select="substring-before(type, '&')"/> 1774 <xsl:text>(&</xsl:text> 1775 <xsl:value-of select="declname"/> 1776 <xsl:text>)</xsl:text> 1777 <xsl:value-of select="array"/> 1778 </xsl:when> 1779 <xsl:otherwise> 1780 <xsl:value-of select="type"/> 1781 <xsl:text> </xsl:text> 1782 <xsl:value-of select="declname"/> 1783 </xsl:otherwise> 1784 </xsl:choose> 1785 <xsl:if test="count(defval) > 0"> = <xsl:choose> 1786 <xsl:when test="defval = 'default_token'"> 1787 <xsl:text>``[link boost_asio.reference.asynchronous_operations.default_completion_tokens ['DEFAULT]]``</xsl:text> 1788 </xsl:when> 1789 <xsl:otherwise><xsl:value-of select="defval"/></xsl:otherwise> 1790 </xsl:choose></xsl:if> 1791 <xsl:if test="not(position() = last())">,</xsl:if> 1792</xsl:template> 1793 1794 1795<xsl:template match="*" mode="class-detail"/> 1796 1797 1798<!--========== Namespace ==========--> 1799 1800<xsl:template name="namespace-memberdef"> 1801 <xsl:variable name="name"> 1802 <xsl:call-template name="strip-asio-ns"> 1803 <xsl:with-param name="name" select="concat(../../compoundname, '::', name)"/> 1804 </xsl:call-template> 1805 </xsl:variable> 1806 <xsl:variable name="unqualified-name"> 1807 <xsl:call-template name="strip-ns"> 1808 <xsl:with-param name="name" select="$name"/> 1809 </xsl:call-template> 1810 </xsl:variable> 1811 <xsl:variable name="id"> 1812 <xsl:call-template name="make-id"> 1813 <xsl:with-param name="name" select="$name"/> 1814 </xsl:call-template> 1815 </xsl:variable> 1816 <xsl:variable name="doxygen-id"> 1817 <xsl:value-of select="@id"/> 1818 </xsl:variable> 1819 <xsl:variable name="overload-count"> 1820 <xsl:value-of select="count(../memberdef[name = $unqualified-name])"/> 1821 </xsl:variable> 1822 <xsl:variable name="overload-position"> 1823 <xsl:for-each select="../memberdef[name = $unqualified-name]"> 1824 <xsl:if test="@id = $doxygen-id"> 1825 <xsl:value-of select="position()"/> 1826 </xsl:if> 1827 </xsl:for-each> 1828 </xsl:variable> 1829 1830<xsl:if test="$overload-count > 1 and $overload-position = 1"> 1831[section:<xsl:value-of select="$id"/><xsl:text> </xsl:text><xsl:value-of select="$name"/>] 1832 1833<xsl:text>[indexterm1 </xsl:text> 1834<xsl:text>boost_asio.indexterm.</xsl:text> 1835<xsl:value-of select="$id"/> 1836<xsl:text>..</xsl:text> 1837<xsl:value-of select="$name"/> 1838<xsl:text>] </xsl:text> 1839 1840<xsl:for-each select="($all-compounddefs)[@kind='group' and compoundname=$name]"> 1841 <xsl:apply-templates select="briefdescription" mode="markup"/> 1842 <xsl:value-of select="$newline"/> 1843</xsl:for-each> 1844 1845<xsl:for-each select="../memberdef[name = $unqualified-name]"> 1846<xsl:variable name="stripped-type"> 1847 <xsl:call-template name="cleanup-type"> 1848 <xsl:with-param name="name" select="type"/> 1849 </xsl:call-template> 1850</xsl:variable> 1851<xsl:if test="position() = 1 or not(briefdescription = preceding-sibling::memberdef[1]/briefdescription)"> 1852 <xsl:apply-templates select="briefdescription" mode="markup"/> 1853</xsl:if> 1854<xsl:text> 1855</xsl:text><xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1856<xsl:text> </xsl:text><xsl:if test="string-length($stripped-type) > 0"><xsl:value-of 1857 select="$stripped-type"/><xsl:text> </xsl:text></xsl:if>``[link boost_asio.reference.<xsl:value-of 1858 select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text> 1859<xsl:value-of select="name"/>]``(<xsl:apply-templates select="param" mode="class-detail"/>); 1860<xsl:text> `` [''''&raquo;'''</xsl:text> 1861<xsl:text> [link boost_asio.reference.</xsl:text> 1862<xsl:value-of select="$id"/>.overload<xsl:value-of select="position()"/> 1863<xsl:text> more...]]`` 1864</xsl:text> 1865</xsl:for-each> 1866 1867<xsl:for-each select="($all-compounddefs)[@kind='group' and compoundname=$name]"> 1868 <xsl:apply-templates select="detaileddescription" mode="markup"/> 1869</xsl:for-each> 1870 1871<xsl:call-template name="header-requirements"> 1872 <xsl:with-param name="file" select="location/@file"/> 1873</xsl:call-template> 1874 1875</xsl:if> 1876 1877[section:<xsl:if test="$overload-count = 1"><xsl:value-of select="$id"/></xsl:if> 1878<xsl:if test="$overload-count > 1">overload<xsl:value-of select="$overload-position"/> 1879</xsl:if><xsl:text> </xsl:text><xsl:value-of select="$name"/> 1880<xsl:if test="$overload-count > 1"> (<xsl:value-of 1881 select="$overload-position"/> of <xsl:value-of select="$overload-count"/> overloads)</xsl:if>] 1882 1883<xsl:if test="$overload-count = 1"> 1884 <xsl:text>[indexterm1 </xsl:text> 1885 <xsl:text>boost_asio.indexterm.</xsl:text> 1886 <xsl:value-of select="$id"/> 1887 <xsl:text>..</xsl:text> 1888 <xsl:value-of select="$name"/> 1889 <xsl:text>] </xsl:text> 1890</xsl:if> 1891 1892<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1893</xsl:text> 1894 1895 <xsl:choose> 1896 <xsl:when test="@kind='typedef'"> 1897 <xsl:call-template name="typedef"> 1898 <xsl:with-param name="class-name" select="$name"/> 1899 </xsl:call-template> 1900 </xsl:when> 1901 <xsl:when test="@kind='variable'"> 1902 <xsl:call-template name="variable"/> 1903 </xsl:when> 1904 <xsl:when test="@kind='enum'"> 1905 <xsl:call-template name="enum"> 1906 <xsl:with-param name="enum-name" select="$name"/> 1907 <xsl:with-param name="id" select="$id"/> 1908 </xsl:call-template> 1909 </xsl:when> 1910 <xsl:when test="@kind='function'"> 1911 <xsl:call-template name="function"/> 1912 </xsl:when> 1913 </xsl:choose> 1914 1915<xsl:text> 1916</xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/> 1917 1918<xsl:if test="$overload-count = 1"> 1919 <xsl:call-template name="header-requirements"> 1920 <xsl:with-param name="file" select="location/@file"/> 1921 </xsl:call-template> 1922</xsl:if> 1923 1924[endsect] 1925 1926<xsl:if test="$overload-count > 1 and $overload-position = $overload-count"> 1927[endsect] 1928</xsl:if> 1929</xsl:template> 1930 1931 1932</xsl:stylesheet> 1933