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-2020 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-2020 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="unqualified-class-name"> 822 <xsl:call-template name="strip-ns"> 823 <xsl:with-param name="name" select="compoundname"/> 824 </xsl:call-template> 825 </xsl:variable> 826 <xsl:variable name="class-id"> 827 <xsl:call-template name="make-id"> 828 <xsl:with-param name="name" select="$class-name"/> 829 </xsl:call-template> 830 </xsl:variable> 831 <xsl:variable name="class-file" select="location/@file"/> 832[section:<xsl:value-of select="$class-id"/><xsl:text> </xsl:text><xsl:value-of select="$class-name"/>] 833 834<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 835 836</xsl:text> 837 838<xsl:apply-templates select="templateparamlist" 839 mode="class-detail"/><xsl:text> </xsl:text><xsl:value-of select="@kind"/><xsl:text> </xsl:text><xsl:value-of 840 select="$unqualified-class-name"/><xsl:if test="count(basecompoundref[not(contains(.,'::detail'))]) > 0"> :</xsl:if><xsl:text> 841</xsl:text><xsl:for-each select="basecompoundref[not(contains(.,'::detail'))]"> 842<xsl:text> </xsl:text><xsl:if test="@prot='public'">public </xsl:if><xsl:call-template 843 name="strip-asio-ns"><xsl:with-param name="name" select="."/></xsl:call-template><xsl:if 844 test="not(position() = last())">,</xsl:if><xsl:text> 845</xsl:text></xsl:for-each><xsl:text> 846</xsl:text> 847 848<xsl:call-template name="class-tables"> 849 <xsl:with-param name="class-name" select="$class-name"/> 850 <xsl:with-param name="class-id" select="$class-id"/> 851 <xsl:with-param name="unqualified-class-name" select="$unqualified-class-name"/> 852</xsl:call-template> 853 854<xsl:apply-templates select="detaileddescription" mode="markup"/> 855 856<xsl:call-template name="header-requirements"> 857 <xsl:with-param name="file" select="$class-file"/> 858</xsl:call-template> 859 860<xsl:call-template name="class-members"> 861 <xsl:with-param name="class-name" select="$class-name"/> 862 <xsl:with-param name="class-id" select="$class-id"/> 863 <xsl:with-param name="class-file" select="$class-file"/> 864</xsl:call-template> 865 866[endsect] 867</xsl:template> 868 869 870<xsl:template name="class-tables"> 871<xsl:param name="class-name"/> 872<xsl:param name="class-id"/> 873<xsl:param name="unqualified-class-name"/> 874<xsl:if test=" 875 count( 876 sectiondef[@kind='public-type'] | 877 innerclass[@prot='public' and not(contains(., '_handler'))]) > 0"> 878[heading Types] 879[table 880 [[Name][Description]] 881<xsl:for-each select=" 882 sectiondef[@kind='public-type']/memberdef | 883 innerclass[@prot='public' and not(contains(., '_handler')) and not(contains(., 'thread_function')) and not(contains(., 'initiate_'))]" mode="class-table"> 884 <xsl:sort select="concat(name, (.)[not(name)])"/> 885 [ 886<xsl:choose> 887 <xsl:when test="count(name) > 0"> 888 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 889 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/>]]] 890 [<xsl:call-template name="escape-name"><xsl:with-param name="text" select="briefdescription"/></xsl:call-template>] 891 </xsl:when> 892 <xsl:otherwise> 893 <xsl:variable name="type-name"> 894 <xsl:call-template name="strip-asio-ns"> 895 <xsl:with-param name="name" select="."/> 896 </xsl:call-template> 897 </xsl:variable> 898 <xsl:variable name="unqualified-type-name"> 899 <xsl:call-template name="strip-ns"> 900 <xsl:with-param name="name" select="."/> 901 </xsl:call-template> 902 </xsl:variable> 903 <xsl:variable name="type-id"> 904 <xsl:call-template name="make-id"> 905 <xsl:with-param name="name" select="$type-name"/> 906 </xsl:call-template> 907 </xsl:variable> 908 <xsl:variable name="type-ref-id" select="@refid"/> 909 [[link boost_asio.reference.<xsl:value-of select="$type-id"/> 910 <xsl:text> </xsl:text>[*<xsl:value-of select="$unqualified-type-name"/>]]] 911 [<xsl:value-of select="(($all-compounddefs)[@id=$type-ref-id])[1]/briefdescription"/>] 912 </xsl:otherwise> 913</xsl:choose> 914 ] 915</xsl:for-each> 916] 917</xsl:if> 918 919<xsl:if test="count(sectiondef[@kind='public-func' or @kind='public-static-func']) > 0"> 920[heading Member Functions] 921[table 922 [[Name][Description]] 923<xsl:for-each select="sectiondef[@kind='public-func' or @kind='public-static-func']/memberdef" mode="class-table"> 924 <xsl:sort select="name"/> 925 <xsl:variable name="name"> 926 <xsl:value-of select="name"/> 927 </xsl:variable> 928 <xsl:variable name="escaped-name"> 929 <xsl:call-template name="escape-name"> 930 <xsl:with-param name="text" select="$name"/> 931 </xsl:call-template> 932 </xsl:variable> 933 <xsl:variable name="id"> 934 <xsl:call-template name="make-id"> 935 <xsl:with-param name="name" select="$name"/> 936 <xsl:with-param name="static" select="@static"/> 937 </xsl:call-template> 938 </xsl:variable> 939 <xsl:variable name="doxygen-id"> 940 <xsl:value-of select="@id"/> 941 </xsl:variable> 942 <xsl:variable name="overload-count"> 943 <xsl:value-of select="count(../memberdef[name = $name])"/> 944 </xsl:variable> 945 <xsl:variable name="overload-position"> 946 <xsl:for-each select="../memberdef[name = $name]"> 947 <xsl:if test="@id = $doxygen-id"> 948 <xsl:value-of select="position()"/> 949 </xsl:if> 950 </xsl:for-each> 951 </xsl:variable> 952 <xsl:if test="$overload-position = 1"> 953 [ 954 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 955 <xsl:text> </xsl:text>[*<xsl:value-of select="$escaped-name"/><xsl:text>]]</xsl:text> 956 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 957 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 958 <xsl:if test="@static='yes'"> [static]</xsl:if> 959 <xsl:text>] 960 [</xsl:text><xsl:value-of select="briefdescription"/> 961 </xsl:if> 962 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 963 <xsl:value-of select="$newline"/> 964 <xsl:text> [hr]</xsl:text> 965 <xsl:value-of select="$newline"/> 966 <xsl:text> </xsl:text> 967 <xsl:value-of select="briefdescription"/> 968 </xsl:if> 969 <xsl:if test="$overload-position = $overload-count"> 970 <xsl:text>] 971 ] 972 </xsl:text> 973 </xsl:if> 974</xsl:for-each> 975] 976</xsl:if> 977 978<xsl:if test="count(sectiondef[@kind='protected-func' or @kind='protected-static-func']) > 0"> 979[heading Protected Member Functions] 980[table 981 [[Name][Description]] 982<xsl:for-each select="sectiondef[@kind='protected-func' or @kind='protected-static-func']/memberdef" mode="class-table"> 983 <xsl:sort select="name"/> 984 <xsl:variable name="name"> 985 <xsl:value-of select="name"/> 986 </xsl:variable> 987 <xsl:variable name="id"> 988 <xsl:call-template name="make-id"> 989 <xsl:with-param name="name" select="$name"/> 990 <xsl:with-param name="static" select="@static"/> 991 </xsl:call-template> 992 </xsl:variable> 993 <xsl:variable name="doxygen-id"> 994 <xsl:value-of select="@id"/> 995 </xsl:variable> 996 <xsl:variable name="overload-count"> 997 <xsl:value-of select="count(../memberdef[name = $name])"/> 998 </xsl:variable> 999 <xsl:variable name="overload-position"> 1000 <xsl:for-each select="../memberdef[name = $name]"> 1001 <xsl:if test="@id = $doxygen-id"> 1002 <xsl:value-of select="position()"/> 1003 </xsl:if> 1004 </xsl:for-each> 1005 </xsl:variable> 1006 <xsl:if test="$overload-position = 1"> 1007 [ 1008 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1009 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]</xsl:text> 1010 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 1011 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 1012 <xsl:if test="@static='yes'"> [static]</xsl:if> 1013 <xsl:text>] 1014 [</xsl:text><xsl:value-of select="briefdescription"/> 1015 </xsl:if> 1016 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1017 <xsl:value-of select="$newline"/> 1018 <xsl:text> [hr]</xsl:text> 1019 <xsl:value-of select="$newline"/> 1020 <xsl:text> </xsl:text> 1021 <xsl:value-of select="briefdescription"/> 1022 </xsl:if> 1023 <xsl:if test="$overload-position = $overload-count"> 1024 <xsl:text>] 1025 ] 1026 </xsl:text> 1027 </xsl:if> 1028</xsl:for-each> 1029] 1030</xsl:if> 1031 1032<xsl:if test="$class-name = 'execution_context::service'"> 1033<xsl:if test="count(sectiondef[@kind='private-func']) > 0"> 1034[heading Private Member Functions] 1035[table 1036 [[Name][Description]] 1037<xsl:for-each select="sectiondef[@kind='private-func']/memberdef" mode="class-table"> 1038 <xsl:sort select="name"/> 1039 <xsl:variable name="name"> 1040 <xsl:value-of select="name"/> 1041 </xsl:variable> 1042 <xsl:variable name="id"> 1043 <xsl:call-template name="make-id"> 1044 <xsl:with-param name="name" select="$name"/> 1045 <xsl:with-param name="static" select="@static"/> 1046 </xsl:call-template> 1047 </xsl:variable> 1048 <xsl:variable name="doxygen-id"> 1049 <xsl:value-of select="@id"/> 1050 </xsl:variable> 1051 <xsl:variable name="overload-count"> 1052 <xsl:value-of select="count(../memberdef[name = $name])"/> 1053 </xsl:variable> 1054 <xsl:variable name="overload-position"> 1055 <xsl:for-each select="../memberdef[name = $name]"> 1056 <xsl:if test="@id = $doxygen-id"> 1057 <xsl:value-of select="position()"/> 1058 </xsl:if> 1059 </xsl:for-each> 1060 </xsl:variable> 1061 <xsl:if test="$overload-position = 1"> 1062 [ 1063 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1064 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]</xsl:text> 1065 <xsl:if test="$name=$unqualified-class-name"> [constructor]</xsl:if> 1066 <xsl:if test="starts-with($name, '~')"> [destructor]</xsl:if> 1067 <xsl:if test="@static='yes'"> [static]</xsl:if> 1068 <xsl:text>] 1069 [</xsl:text><xsl:value-of select="briefdescription"/> 1070 </xsl:if> 1071 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1072 <xsl:value-of select="$newline"/> 1073 <xsl:text> [hr]</xsl:text> 1074 <xsl:value-of select="$newline"/> 1075 <xsl:text> </xsl:text> 1076 <xsl:value-of select="briefdescription"/> 1077 </xsl:if> 1078 <xsl:if test="$overload-position = $overload-count"> 1079 <xsl:text>] 1080 ] 1081 </xsl:text> 1082 </xsl:if> 1083</xsl:for-each> 1084] 1085</xsl:if> 1086</xsl:if> 1087 1088<xsl:if test="count(sectiondef[@kind='public-attrib' or @kind='public-static-attrib']) > 0"> 1089[heading Data Members] 1090[table 1091 [[Name][Description]] 1092<xsl:for-each select="sectiondef[@kind='public-attrib' or @kind='public-static-attrib']/memberdef" mode="class-table"> 1093 <xsl:sort select="name"/> 1094 [ 1095 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 1096 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/><xsl:text>]]</xsl:text> 1097 <xsl:if test="@static='yes'"> [static]</xsl:if>] 1098 [<xsl:value-of select="briefdescription"/>] 1099 ] 1100</xsl:for-each> 1101] 1102</xsl:if> 1103 1104<xsl:if test="count(sectiondef[@kind='protected-attrib' or @kind='protected-static-attrib']/memberdef[not(name='impl_')]) > 0"> 1105[heading Protected Data Members] 1106[table 1107 [[Name][Description]] 1108<xsl:for-each select="sectiondef[@kind='protected-attrib' or @kind='protected-static-attrib']/memberdef[not(name='impl_')]" mode="class-table"> 1109 <xsl:sort select="name"/> 1110 [ 1111 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="name"/> 1112 <xsl:text> </xsl:text>[*<xsl:value-of select="name"/><xsl:text>]]</xsl:text> 1113 <xsl:if test="@static='yes'"> [static]</xsl:if>] 1114 [<xsl:value-of select="briefdescription"/>] 1115 ] 1116</xsl:for-each> 1117] 1118</xsl:if> 1119 1120<xsl:if test="count(sectiondef[@kind='friend']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]) > 0"> 1121[heading Friends] 1122[table 1123 [[Name][Description]] 1124<xsl:for-each select="sectiondef[@kind='friend']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]" mode="class-table"> 1125 <xsl:sort select="name"/> 1126 <xsl:variable name="name"> 1127 <xsl:value-of select="name"/> 1128 </xsl:variable> 1129 <xsl:variable name="id"> 1130 <xsl:call-template name="make-id"> 1131 <xsl:with-param name="name" select="$name"/> 1132 </xsl:call-template> 1133 </xsl:variable> 1134 <xsl:variable name="doxygen-id"> 1135 <xsl:value-of select="@id"/> 1136 </xsl:variable> 1137 <xsl:variable name="overload-count"> 1138 <xsl:value-of select="count(../memberdef[name = $name])"/> 1139 </xsl:variable> 1140 <xsl:variable name="overload-position"> 1141 <xsl:for-each select="../memberdef[name = $name]"> 1142 <xsl:if test="@id = $doxygen-id"> 1143 <xsl:value-of select="position()"/> 1144 </xsl:if> 1145 </xsl:for-each> 1146 </xsl:variable> 1147 <xsl:if test="$overload-position = 1"> 1148 [ 1149 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1150 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]] 1151 [</xsl:text><xsl:value-of select="briefdescription"/> 1152 </xsl:if> 1153 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1154 <xsl:value-of select="$newline"/> 1155 <xsl:text> [hr]</xsl:text> 1156 <xsl:value-of select="$newline"/> 1157 <xsl:text> </xsl:text> 1158 <xsl:value-of select="briefdescription"/> 1159 </xsl:if> 1160 <xsl:if test="$overload-position = $overload-count"> 1161 <xsl:text>] 1162 ] 1163 </xsl:text> 1164 </xsl:if> 1165</xsl:for-each> 1166] 1167</xsl:if> 1168 1169<xsl:if test="count(sectiondef[@kind='related']/memberdef) > 0"> 1170[heading Related Functions] 1171[table 1172 [[Name][Description]] 1173<xsl:for-each select="sectiondef[@kind='related']/memberdef" mode="class-table"> 1174 <xsl:sort select="name"/> 1175 <xsl:variable name="name"> 1176 <xsl:value-of select="name"/> 1177 </xsl:variable> 1178 <xsl:variable name="id"> 1179 <xsl:call-template name="make-id"> 1180 <xsl:with-param name="name" select="$name"/> 1181 </xsl:call-template> 1182 </xsl:variable> 1183 <xsl:variable name="doxygen-id"> 1184 <xsl:value-of select="@id"/> 1185 </xsl:variable> 1186 <xsl:variable name="overload-count"> 1187 <xsl:value-of select="count(../memberdef[name = $name])"/> 1188 </xsl:variable> 1189 <xsl:variable name="overload-position"> 1190 <xsl:for-each select="../memberdef[name = $name]"> 1191 <xsl:if test="@id = $doxygen-id"> 1192 <xsl:value-of select="position()"/> 1193 </xsl:if> 1194 </xsl:for-each> 1195 </xsl:variable> 1196 <xsl:if test="$overload-position = 1"> 1197 [ 1198 [[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of select="$id"/> 1199 <xsl:text> </xsl:text>[*<xsl:value-of select="$name"/><xsl:text>]]] 1200 [</xsl:text><xsl:value-of select="briefdescription"/> 1201 </xsl:if> 1202 <xsl:if test="not($overload-position = 1) and not(briefdescription = preceding-sibling::*/briefdescription)"> 1203 <xsl:value-of select="$newline"/> 1204 <xsl:value-of select="$newline"/> 1205 <xsl:text> </xsl:text> 1206 <xsl:value-of select="briefdescription"/> 1207 </xsl:if> 1208 <xsl:if test="$overload-position = $overload-count"> 1209 <xsl:text>] 1210 ] 1211 </xsl:text> 1212 </xsl:if> 1213</xsl:for-each> 1214] 1215</xsl:if> 1216 1217</xsl:template> 1218 1219 1220<xsl:template name="class-members"> 1221<xsl:param name="class-name"/> 1222<xsl:param name="class-id"/> 1223<xsl:param name="class-file"/> 1224<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"> 1225 <xsl:sort select="name"/> 1226 <xsl:with-param name="class-name" select="$class-name"/> 1227 <xsl:with-param name="class-id" select="$class-id"/> 1228 <xsl:with-param name="class-file" select="$class-file"/> 1229</xsl:apply-templates> 1230<xsl:if test="$class-name = 'execution_context::service'"> 1231 <xsl:apply-templates select="sectiondef[@kind='private-func']/memberdef[not(type = 'friend class') and not(contains(name, '_helper'))]" 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> 1238</xsl:template> 1239 1240 1241<!-- Class detail --> 1242 1243<xsl:template match="memberdef" mode="class-detail"> 1244 <xsl:param name="class-name"/> 1245 <xsl:param name="class-id"/> 1246 <xsl:param name="class-file"/> 1247 <xsl:variable name="name"> 1248 <xsl:value-of select="name"/> 1249 </xsl:variable> 1250 <xsl:variable name="escaped-name"> 1251 <xsl:call-template name="escape-name"> 1252 <xsl:with-param name="text" select="$name"/> 1253 </xsl:call-template> 1254 </xsl:variable> 1255 <xsl:variable name="escaped-class-name"> 1256 <xsl:call-template name="escape-name"> 1257 <xsl:with-param name="text" select="$class-name"/> 1258 </xsl:call-template> 1259 </xsl:variable> 1260 <xsl:variable name="id"> 1261 <xsl:call-template name="make-id"> 1262 <xsl:with-param name="name" select="$name"/> 1263 <xsl:with-param name="static" select="@static"/> 1264 </xsl:call-template> 1265 </xsl:variable> 1266 <xsl:variable name="doxygen-id"> 1267 <xsl:value-of select="@id"/> 1268 </xsl:variable> 1269 <xsl:variable name="overload-count"> 1270 <xsl:value-of select="count(../memberdef[name = $name])"/> 1271 </xsl:variable> 1272 <xsl:variable name="overload-position"> 1273 <xsl:for-each select="../memberdef[name = $name]"> 1274 <xsl:if test="@id = $doxygen-id"> 1275 <xsl:value-of select="position()"/> 1276 </xsl:if> 1277 </xsl:for-each> 1278 </xsl:variable> 1279 1280<xsl:if test="$overload-count > 1 and $overload-position = 1"> 1281[section:<xsl:value-of select="$id"/><xsl:text> </xsl:text> 1282<xsl:value-of select="$class-name"/>::<xsl:value-of select="$escaped-name"/>] 1283 1284<xsl:text>[indexterm2 </xsl:text> 1285<xsl:text>boost_asio.indexterm.</xsl:text> 1286<xsl:value-of select="$class-id"/> 1287<xsl:text>.</xsl:text> 1288<xsl:value-of select="$id"/> 1289<xsl:text>..</xsl:text> 1290<xsl:value-of select="$escaped-name"/> 1291<xsl:text>..</xsl:text> 1292<xsl:value-of select="$escaped-class-name"/> 1293<xsl:text>] </xsl:text> 1294 1295<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1296</xsl:text> 1297 1298<xsl:for-each select="../memberdef[name = $name]"> 1299<xsl:if test="position() > 1 and not(briefdescription = preceding-sibling::*/briefdescription)"> 1300 <xsl:value-of select="$newline"/> 1301 <xsl:apply-templates select="briefdescription" mode="markup"/> 1302 <xsl:value-of select="$newline"/> 1303</xsl:if> 1304<xsl:text> 1305</xsl:text><xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1306<xsl:text> </xsl:text> 1307 <xsl:if test="@explicit='yes'">explicit </xsl:if> 1308 <xsl:if test="@static='yes'">static </xsl:if> 1309 <xsl:if test="@virt='virtual'">virtual </xsl:if> 1310 <xsl:variable name="stripped-type"> 1311 <xsl:call-template name="cleanup-type"> 1312 <xsl:with-param name="name" select="type"/> 1313 </xsl:call-template> 1314 </xsl:variable> 1315 <xsl:if test="string-length($stripped-type) > 0"> 1316 <xsl:value-of select="$stripped-type"/><xsl:text> </xsl:text> 1317</xsl:if>``[link boost_asio.reference.<xsl:value-of select="$class-id"/>.<xsl:value-of 1318 select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text><xsl:value-of 1319 select="name"/>]``(<xsl:apply-templates select="param" 1320 mode="class-detail"/>)<xsl:if test="@const='yes'"> const</xsl:if>; 1321<xsl:text> `` [''''&raquo;'''</xsl:text> 1322<xsl:text> [link boost_asio.reference.</xsl:text> 1323<xsl:value-of select="$class-id"/>.<xsl:value-of 1324 select="$id"/>.overload<xsl:value-of select="position()"/> 1325<xsl:text> more...]]`` 1326</xsl:text> 1327</xsl:for-each> 1328</xsl:if> 1329 1330[section:<xsl:if test="$overload-count = 1"><xsl:value-of select="$id"/></xsl:if> 1331<xsl:if test="$overload-count > 1">overload<xsl:value-of select="$overload-position"/></xsl:if> 1332<xsl:text> </xsl:text><xsl:value-of select="$class-name"/>::<xsl:value-of select="$escaped-name"/> 1333<xsl:if test="$overload-count > 1"> (<xsl:value-of 1334 select="$overload-position"/> of <xsl:value-of select="$overload-count"/> overloads)</xsl:if>] 1335 1336<xsl:if test="not(starts-with($doxygen-id, ../../@id))"> 1337<xsl:variable name="inherited-from" select="($all-compounddefs)[starts-with($doxygen-id, @id)]/compoundname"/> 1338<xsl:if test="not(contains($inherited-from, '::detail'))"> 1339['Inherited from <xsl:call-template name="strip-asio-ns"> 1340<xsl:with-param name="name" select="$inherited-from"/> 1341</xsl:call-template>.]<xsl:text> 1342 1343</xsl:text></xsl:if></xsl:if> 1344 1345<xsl:if test="$overload-count = 1"> 1346 <xsl:text>[indexterm2 </xsl:text> 1347 <xsl:text>boost_asio.indexterm.</xsl:text> 1348 <xsl:value-of select="$class-id"/> 1349 <xsl:text>.</xsl:text> 1350 <xsl:value-of select="$id"/> 1351 <xsl:text>..</xsl:text> 1352 <xsl:value-of select="$escaped-name"/> 1353 <xsl:text>..</xsl:text> 1354 <xsl:value-of select="$escaped-class-name"/> 1355 <xsl:text>] </xsl:text> 1356</xsl:if> 1357 1358<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1359</xsl:text> 1360 1361 <xsl:choose> 1362 <xsl:when test="@kind='typedef'"> 1363 <xsl:call-template name="typedef" mode="class-detail"> 1364 <xsl:with-param name="class-name" select="$class-name"/> 1365 </xsl:call-template> 1366 </xsl:when> 1367 <xsl:when test="@kind='variable'"> 1368 <xsl:call-template name="variable" mode="class-detail"/> 1369 </xsl:when> 1370 <xsl:when test="@kind='enum'"> 1371 <xsl:call-template name="enum" mode="class-detail"> 1372 <xsl:with-param name="enum-name" select="$class-name"/> 1373 <xsl:with-param name="id" select="concat($class-id, '.', $id)"/> 1374 </xsl:call-template> 1375 </xsl:when> 1376 <xsl:when test="@kind='function'"> 1377 <xsl:call-template name="function" mode="class-detail"/> 1378 </xsl:when> 1379 <xsl:when test="@kind='friend'"> 1380 <xsl:call-template name="function" mode="class-detail"/> 1381 </xsl:when> 1382 </xsl:choose> 1383 1384<xsl:text> 1385</xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/> 1386 1387<xsl:if test="@kind='typedef' or @kind='friend'"> 1388 <xsl:call-template name="header-requirements"> 1389 <xsl:with-param name="file" select="$class-file"/> 1390 </xsl:call-template> 1391</xsl:if> 1392 1393[endsect] 1394 1395<xsl:if test="$overload-count > 1 and $overload-position = $overload-count"> 1396[endsect] 1397</xsl:if> 1398</xsl:template> 1399 1400 1401<xsl:template name="typedef"> 1402<xsl:param name="class-name"/> 1403<xsl:text> 1404 </xsl:text>typedef <xsl:value-of select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/>;<xsl:text> 1405 1406</xsl:text> 1407<xsl:if test="count(type/ref) > 0 and not(contains(type, '*')) and not(contains(name, 'polymorphic_query_result_type'))"> 1408 <xsl:variable name="class-refid"> 1409 <xsl:choose> 1410 <xsl:when test="type='basic_address_iterator< address_v4 >'"> 1411 <xsl:text>classasio_1_1ip_1_1basic__address__iterator_3_01address__v4_01_4</xsl:text> 1412 </xsl:when> 1413 <xsl:when test="type='basic_address_iterator< address_v6 >'"> 1414 <xsl:text>classasio_1_1ip_1_1basic__address__iterator_3_01address__v6_01_4</xsl:text> 1415 </xsl:when> 1416 <xsl:when test="type='basic_address_range< address_v4 >'"> 1417 <xsl:text>classasio_1_1ip_1_1basic__address__range_3_01address__v4_01_4</xsl:text> 1418 </xsl:when> 1419 <xsl:when test="type='basic_address_range< address_v6 >'"> 1420 <xsl:text>classasio_1_1ip_1_1basic__address__range_3_01address__v6_01_4</xsl:text> 1421 </xsl:when> 1422 <xsl:otherwise> 1423 <xsl:for-each select="type/ref[1]"> 1424 <xsl:value-of select="@refid"/> 1425 </xsl:for-each> 1426 </xsl:otherwise> 1427 </xsl:choose> 1428 </xsl:variable> 1429 <xsl:variable name="name" select="name"/> 1430 <xsl:for-each select="($all-compounddefs)[@id=$class-refid]"> 1431 <xsl:call-template name="class-tables"> 1432 <xsl:with-param name="class-name"> 1433 <xsl:value-of select="concat($class-name, '::', $name)"/> 1434 </xsl:with-param> 1435 <xsl:with-param name="class-id"> 1436 <xsl:call-template name="make-id"> 1437 <xsl:with-param name="name"> 1438 <xsl:call-template name="strip-asio-ns"> 1439 <xsl:with-param name="name" select="compoundname"/> 1440 </xsl:call-template> 1441 </xsl:with-param> 1442 </xsl:call-template> 1443 </xsl:with-param> 1444 <xsl:with-param name="unqualified-class-name"> 1445 <xsl:call-template name="strip-ns"> 1446 <xsl:with-param name="name" select="compoundname"/> 1447 </xsl:call-template> 1448 </xsl:with-param> 1449 </xsl:call-template> 1450 <xsl:apply-templates select="detaileddescription" mode="markup"/> 1451 </xsl:for-each> 1452</xsl:if> 1453</xsl:template> 1454 1455 1456<xsl:template name="variable"> 1457<xsl:if test="contains(name, 'is_applicable_property_v')"> 1458<xsl:text> 1459 template <typename T></xsl:text> 1460</xsl:if> 1461<xsl:if test="contains(name, 'context_as')"> 1462<xsl:text> 1463 template <typename U></xsl:text> 1464</xsl:if> 1465<xsl:text> 1466 </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:value-of 1467 select="type"/><xsl:text> </xsl:text><xsl:value-of select="name"/> 1468 <xsl:if test="count(initializer) = 1"><xsl:text> =</xsl:text> 1469 <xsl:value-of select="initializer"/></xsl:if>; 1470</xsl:template> 1471 1472 1473<xsl:template name="enum"> 1474<xsl:param name="enum-name"/> 1475<xsl:param name="id"/> 1476 enum <xsl:value-of select="name"/><xsl:text> 1477</xsl:text><xsl:if test="count(enumvalue) > 0"> 1478<xsl:value-of select="$newline"/> 1479<xsl:for-each select="enumvalue"> 1480 <xsl:text>[indexterm2 </xsl:text> 1481 <xsl:text>boost_asio.indexterm.</xsl:text> 1482 <xsl:value-of select="$id"/> 1483 <xsl:text>.</xsl:text> 1484 <xsl:value-of select="name"/> 1485 <xsl:text>..</xsl:text> 1486 <xsl:value-of select="name"/> 1487 <xsl:text>..</xsl:text> 1488 <xsl:value-of select="$enum-name"/> 1489 <xsl:text>]</xsl:text> 1490 <xsl:value-of select="$newline"/> 1491</xsl:for-each> 1492[heading Values] 1493[variablelist 1494<xsl:for-each select="enumvalue"> 1495 [ 1496 [<xsl:value-of select="name"/>] 1497 [<xsl:value-of select="briefdescription"/>] 1498 ] 1499</xsl:for-each> 1500] 1501</xsl:if> 1502</xsl:template> 1503 1504 1505<xsl:template name="function"> 1506<xsl:text> 1507</xsl:text> 1508<xsl:variable name="doxygen-id"> 1509 <xsl:value-of select="@id"/> 1510</xsl:variable> 1511<xsl:choose> 1512 <xsl:when test="count(($all-memberdefs)[@id=$doxygen-id]/templateparamlist) = 1"> 1513 <xsl:apply-templates select="($all-memberdefs)[@id=$doxygen-id]/templateparamlist" mode="class-detail"/> 1514 </xsl:when> 1515 <xsl:otherwise> 1516 <xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1517 </xsl:otherwise> 1518</xsl:choose> 1519<xsl:variable name="stripped-type"> 1520 <xsl:call-template name="cleanup-type"> 1521 <xsl:with-param name="name" select="type"/> 1522 </xsl:call-template> 1523</xsl:variable> 1524<xsl:text> </xsl:text><xsl:if test="@static='yes'">static </xsl:if><xsl:if 1525 test="@virt='virtual'">virtual </xsl:if><xsl:if 1526 test="string-length($stripped-type) > 0"><xsl:value-of select="$stripped-type"/><xsl:text> </xsl:text></xsl:if> 1527<xsl:value-of select="name"/>(<xsl:apply-templates select="param" 1528 mode="class-detail"/>)<xsl:if test="@const='yes'"> const</xsl:if>; 1529</xsl:template> 1530 1531 1532<xsl:template match="templateparamlist" mode="class-detail"> 1533<xsl:text> </xsl:text>template<<xsl:apply-templates select="param" mode="class-detail-template"/>> 1534</xsl:template> 1535 1536 1537<xsl:template match="param" mode="class-detail-template"> 1538<xsl:text> 1539 </xsl:text><xsl:value-of select="type"/><xsl:text> </xsl:text> 1540 <xsl:choose> 1541 <xsl:when test="declname = 'Allocator'"> 1542 <xsl:value-of select="declname"/> 1543 </xsl:when> 1544 <xsl:when test="declname = 'Arg'"> 1545 <xsl:value-of select="declname"/> 1546 </xsl:when> 1547 <xsl:when test="declname = 'Args'"> 1548 <xsl:value-of select="declname"/> 1549 </xsl:when> 1550 <xsl:when test="declname = 'AwaitableExecutor'"> 1551 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1552 </xsl:when> 1553 <xsl:when test="declname = 'Bits'"> 1554 <xsl:value-of select="declname"/> 1555 </xsl:when> 1556 <xsl:when test="declname = 'Blocking'"> 1557 <xsl:value-of select="declname"/> 1558 </xsl:when> 1559 <xsl:when test="declname = 'BufferSequence'"> 1560 <xsl:value-of select="declname"/> 1561 </xsl:when> 1562 <xsl:when test="declname = 'ByteType'"> 1563 <xsl:value-of select="declname"/> 1564 </xsl:when> 1565 <xsl:when test="declname = 'C'"> 1566 <xsl:value-of select="declname"/> 1567 </xsl:when> 1568 <xsl:when test="declname = 'Clock'"> 1569 <xsl:value-of select="declname"/> 1570 </xsl:when> 1571 <xsl:when test="declname = 'CompletionToken'"> 1572 <xsl:value-of select="declname"/> 1573 </xsl:when> 1574 <xsl:when test="declname = 'ConstBuffer'"> 1575 <xsl:value-of select="declname"/> 1576 </xsl:when> 1577 <xsl:when test="declname = 'Context_Service'"> 1578 <xsl:value-of select="declname"/> 1579 </xsl:when> 1580 <xsl:when test="declname = 'Duration'"> 1581 <xsl:value-of select="declname"/> 1582 </xsl:when> 1583 <xsl:when test="declname = 'DatagramSocketService1'"> 1584 <xsl:value-of select="concat('``[link boost_asio.reference.DatagramSocketService ', declname, ']``')"/> 1585 </xsl:when> 1586 <xsl:when test="declname = 'E'"> 1587 <xsl:value-of select="declname"/> 1588 </xsl:when> 1589 <xsl:when test="declname = 'EndpointIterator'"> 1590 <xsl:value-of select="declname"/> 1591 </xsl:when> 1592 <xsl:when test="declname = 'Elem'"> 1593 <xsl:value-of select="declname"/> 1594 </xsl:when> 1595 <xsl:when test="declname = 'ErrorEnum'"> 1596 <xsl:value-of select="declname"/> 1597 </xsl:when> 1598 <xsl:when test="declname = 'ExecutionContext'"> 1599 <xsl:value-of select="declname"/> 1600 </xsl:when> 1601 <xsl:when test="declname = 'Executor'"> 1602 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1603 </xsl:when> 1604 <xsl:when test="declname = 'Executor2'"> 1605 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1606 </xsl:when> 1607 <xsl:when test="declname = 'F'"> 1608 <xsl:value-of select="declname"/> 1609 </xsl:when> 1610 <xsl:when test="declname = 'Function'"> 1611 <xsl:value-of select="declname"/> 1612 </xsl:when> 1613 <xsl:when test="declname = 'IoObjectService1'"> 1614 <xsl:value-of select="concat('``[link boost_asio.reference.IoObjectService ', declname, ']``')"/> 1615 </xsl:when> 1616 <xsl:when test="declname = 'Implementation'"> 1617 <xsl:value-of select="declname"/> 1618 </xsl:when> 1619 <xsl:when test="declname = 'Initiation'"> 1620 <xsl:value-of select="declname"/> 1621 </xsl:when> 1622 <xsl:when test="declname = 'InnerExecutor'"> 1623 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1624 </xsl:when> 1625 <xsl:when test="declname = 'IoObjectsOrExecutors'"> 1626 <xsl:value-of select="declname"/> 1627 </xsl:when> 1628 <xsl:when test="declname = 'Iterator'"> 1629 <xsl:value-of select="declname"/> 1630 </xsl:when> 1631 <xsl:when test="declname = 'MatchCondition'"> 1632 <xsl:value-of select="declname"/> 1633 </xsl:when> 1634 <xsl:when test="declname = 'MutableBuffer'"> 1635 <xsl:value-of select="declname"/> 1636 </xsl:when> 1637 <xsl:when test="declname = 'N'"> 1638 <xsl:value-of select="declname"/> 1639 </xsl:when> 1640 <xsl:when test="declname = 'OtherAllocator'"> 1641 <xsl:value-of select="declname"/> 1642 </xsl:when> 1643 <xsl:when test="declname = 'OtherExecutor'"> 1644 <xsl:value-of select="concat('``[link boost_asio.reference.Executor1 ', declname, ']``')"/> 1645 </xsl:when> 1646 <xsl:when test="declname = 'OtherHandler'"> 1647 <xsl:value-of select="declname"/> 1648 </xsl:when> 1649 <xsl:when test="declname = 'OtherSupportableProperties'"> 1650 <xsl:value-of select="declname"/> 1651 </xsl:when> 1652 <xsl:when test="declname = 'OutstandingWork'"> 1653 <xsl:value-of select="declname"/> 1654 </xsl:when> 1655 <xsl:when test="declname = 'PasswordCallback'"> 1656 <xsl:value-of select="declname"/> 1657 </xsl:when> 1658 <xsl:when test="declname = 'Period'"> 1659 <xsl:value-of select="declname"/> 1660 </xsl:when> 1661 <xsl:when test="declname = 'PodType'"> 1662 <xsl:value-of select="declname"/> 1663 </xsl:when> 1664 <xsl:when test="declname = 'PointerToPodType'"> 1665 <xsl:value-of select="declname"/> 1666 </xsl:when> 1667 <xsl:when test="declname = 'Properties'"> 1668 <xsl:value-of select="declname"/> 1669 </xsl:when> 1670 <xsl:when test="declname = 'Property'"> 1671 <xsl:value-of select="declname"/> 1672 </xsl:when> 1673 <xsl:when test="declname = 'Protocol1'"> 1674 <xsl:value-of select="concat('``[link boost_asio.reference.Protocol ', declname, ']``')"/> 1675 </xsl:when> 1676 <xsl:when test="declname = 'RawCompletionToken'"> 1677 <xsl:value-of select="declname"/> 1678 </xsl:when> 1679 <xsl:when test="declname = 'RawSocketService1'"> 1680 <xsl:value-of select="concat('``[link boost_asio.reference.RawSocketService ', declname, ']``')"/> 1681 </xsl:when> 1682 <xsl:when test="declname = 'Relationship'"> 1683 <xsl:value-of select="declname"/> 1684 </xsl:when> 1685 <xsl:when test="declname = 'Rep'"> 1686 <xsl:value-of select="declname"/> 1687 </xsl:when> 1688 <xsl:when test="declname = 'Result'"> 1689 <xsl:value-of select="declname"/> 1690 </xsl:when> 1691 <xsl:when test="declname = 'SeqPacketSocketService1'"> 1692 <xsl:value-of select="concat('``[link boost_asio.reference.SeqPacketSocketService ', declname, ']``')"/> 1693 </xsl:when> 1694 <xsl:when test="declname = 'Signature'"> 1695 <xsl:value-of select="declname"/> 1696 </xsl:when> 1697 <xsl:when test="declname = 'SocketAcceptorService1' or declname = 'SocketAcceptorService2'"> 1698 <xsl:value-of select="concat('``[link boost_asio.reference.SocketAcceptorService ', declname, ']``')"/> 1699 </xsl:when> 1700 <xsl:when test="declname = 'SocketService1' or declname = 'SocketService2'"> 1701 <xsl:value-of select="concat('``[link boost_asio.reference.SocketService ', declname, ']``')"/> 1702 </xsl:when> 1703 <xsl:when test="declname = 'Stream'"> 1704 <xsl:value-of select="declname"/> 1705 </xsl:when> 1706 <xsl:when test="declname = 'StreamSocketService1'"> 1707 <xsl:value-of select="concat('``[link boost_asio.reference.StreamSocketService ', declname, ']``')"/> 1708 </xsl:when> 1709 <xsl:when test="declname = 'SupportableProperties'"> 1710 <xsl:value-of select="declname"/> 1711 </xsl:when> 1712 <xsl:when test="declname = 'R'"> 1713 <xsl:value-of select="declname"/> 1714 </xsl:when> 1715 <xsl:when test="declname = 'S'"> 1716 <xsl:value-of select="declname"/> 1717 </xsl:when> 1718 <xsl:when test="declname = 'T'"> 1719 <xsl:value-of select="declname"/> 1720 </xsl:when> 1721 <xsl:when test="declname = 'T1'"> 1722 <xsl:value-of select="declname"/> 1723 </xsl:when> 1724 <xsl:when test="declname = 'TN'"> 1725 <xsl:value-of select="declname"/> 1726 </xsl:when> 1727 <xsl:when test="declname = 'Time'"> 1728 <xsl:value-of select="declname"/> 1729 </xsl:when> 1730 <xsl:when test="declname = 'TimeType'"> 1731 <xsl:value-of select="declname"/> 1732 </xsl:when> 1733 <xsl:when test="declname = 'Traits'"> 1734 <xsl:value-of select="declname"/> 1735 </xsl:when> 1736 <xsl:when test="declname = 'U'"> 1737 <xsl:value-of select="declname"/> 1738 </xsl:when> 1739 <xsl:when test="declname = 'Vs'"> 1740 <xsl:value-of select="declname"/> 1741 </xsl:when> 1742 <xsl:when test="declname = 'VerifyCallback'"> 1743 <xsl:value-of select="declname"/> 1744 </xsl:when> 1745 <xsl:when test="count(declname) = 0"> 1746 </xsl:when> 1747 <xsl:otherwise> 1748 <xsl:value-of select="concat('``[link boost_asio.reference.', declname, ' ', declname, ']``')"/> 1749 </xsl:otherwise> 1750 </xsl:choose> 1751 <xsl:if test="count(defval) > 0"> = <xsl:choose> 1752 <xsl:when test="defval = 'default_token'"> 1753 <xsl:text>``[link boost_asio.reference.asynchronous_operations.default_completion_tokens ['DEFAULT]]``</xsl:text> 1754 </xsl:when> 1755 <xsl:otherwise><xsl:value-of select="defval"/></xsl:otherwise> 1756 </xsl:choose></xsl:if> 1757 <xsl:if test="not(position() = last())">,</xsl:if> 1758</xsl:template> 1759 1760 1761<xsl:template match="param" mode="class-detail"> 1762<xsl:text> 1763 </xsl:text> 1764 <xsl:choose> 1765 <xsl:when test="string-length(array) > 0"> 1766 <xsl:value-of select="substring-before(type, '&')"/> 1767 <xsl:text>(&</xsl:text> 1768 <xsl:value-of select="declname"/> 1769 <xsl:text>)</xsl:text> 1770 <xsl:value-of select="array"/> 1771 </xsl:when> 1772 <xsl:otherwise> 1773 <xsl:value-of select="type"/> 1774 <xsl:text> </xsl:text> 1775 <xsl:value-of select="declname"/> 1776 </xsl:otherwise> 1777 </xsl:choose> 1778 <xsl:if test="count(defval) > 0"> = <xsl:choose> 1779 <xsl:when test="defval = 'default_token'"> 1780 <xsl:text>``[link boost_asio.reference.asynchronous_operations.default_completion_tokens ['DEFAULT]]``</xsl:text> 1781 </xsl:when> 1782 <xsl:otherwise><xsl:value-of select="defval"/></xsl:otherwise> 1783 </xsl:choose></xsl:if> 1784 <xsl:if test="not(position() = last())">,</xsl:if> 1785</xsl:template> 1786 1787 1788<xsl:template match="*" mode="class-detail"/> 1789 1790 1791<!--========== Namespace ==========--> 1792 1793<xsl:template name="namespace-memberdef"> 1794 <xsl:variable name="name"> 1795 <xsl:call-template name="strip-asio-ns"> 1796 <xsl:with-param name="name" select="concat(../../compoundname, '::', name)"/> 1797 </xsl:call-template> 1798 </xsl:variable> 1799 <xsl:variable name="unqualified-name"> 1800 <xsl:call-template name="strip-ns"> 1801 <xsl:with-param name="name" select="$name"/> 1802 </xsl:call-template> 1803 </xsl:variable> 1804 <xsl:variable name="id"> 1805 <xsl:call-template name="make-id"> 1806 <xsl:with-param name="name" select="$name"/> 1807 </xsl:call-template> 1808 </xsl:variable> 1809 <xsl:variable name="doxygen-id"> 1810 <xsl:value-of select="@id"/> 1811 </xsl:variable> 1812 <xsl:variable name="overload-count"> 1813 <xsl:value-of select="count(../memberdef[name = $unqualified-name])"/> 1814 </xsl:variable> 1815 <xsl:variable name="overload-position"> 1816 <xsl:for-each select="../memberdef[name = $unqualified-name]"> 1817 <xsl:if test="@id = $doxygen-id"> 1818 <xsl:value-of select="position()"/> 1819 </xsl:if> 1820 </xsl:for-each> 1821 </xsl:variable> 1822 1823<xsl:if test="$overload-count > 1 and $overload-position = 1"> 1824[section:<xsl:value-of select="$id"/><xsl:text> </xsl:text><xsl:value-of select="$name"/>] 1825 1826<xsl:text>[indexterm1 </xsl:text> 1827<xsl:text>boost_asio.indexterm.</xsl:text> 1828<xsl:value-of select="$id"/> 1829<xsl:text>..</xsl:text> 1830<xsl:value-of select="$name"/> 1831<xsl:text>] </xsl:text> 1832 1833<xsl:for-each select="($all-compounddefs)[@kind='group' and compoundname=$name]"> 1834 <xsl:apply-templates select="briefdescription" mode="markup"/> 1835 <xsl:value-of select="$newline"/> 1836</xsl:for-each> 1837 1838<xsl:for-each select="../memberdef[name = $unqualified-name]"> 1839<xsl:variable name="stripped-type"> 1840 <xsl:call-template name="cleanup-type"> 1841 <xsl:with-param name="name" select="type"/> 1842 </xsl:call-template> 1843</xsl:variable> 1844<xsl:if test="position() = 1 or not(briefdescription = preceding-sibling::memberdef[1]/briefdescription)"> 1845 <xsl:apply-templates select="briefdescription" mode="markup"/> 1846</xsl:if> 1847<xsl:text> 1848</xsl:text><xsl:apply-templates select="templateparamlist" mode="class-detail"/> 1849<xsl:text> </xsl:text><xsl:if test="string-length($stripped-type) > 0"><xsl:value-of 1850 select="$stripped-type"/><xsl:text> </xsl:text></xsl:if>``[link boost_asio.reference.<xsl:value-of 1851 select="$id"/>.overload<xsl:value-of select="position()"/><xsl:text> </xsl:text> 1852<xsl:value-of select="name"/>]``(<xsl:apply-templates select="param" mode="class-detail"/>); 1853<xsl:text> `` [''''&raquo;'''</xsl:text> 1854<xsl:text> [link boost_asio.reference.</xsl:text> 1855<xsl:value-of select="$id"/>.overload<xsl:value-of select="position()"/> 1856<xsl:text> more...]]`` 1857</xsl:text> 1858</xsl:for-each> 1859 1860<xsl:for-each select="($all-compounddefs)[@kind='group' and compoundname=$name]"> 1861 <xsl:apply-templates select="detaileddescription" mode="markup"/> 1862</xsl:for-each> 1863 1864<xsl:call-template name="header-requirements"> 1865 <xsl:with-param name="file" select="location/@file"/> 1866</xsl:call-template> 1867 1868</xsl:if> 1869 1870[section:<xsl:if test="$overload-count = 1"><xsl:value-of select="$id"/></xsl:if> 1871<xsl:if test="$overload-count > 1">overload<xsl:value-of select="$overload-position"/> 1872</xsl:if><xsl:text> </xsl:text><xsl:value-of select="$name"/> 1873<xsl:if test="$overload-count > 1"> (<xsl:value-of 1874 select="$overload-position"/> of <xsl:value-of select="$overload-count"/> overloads)</xsl:if>] 1875 1876<xsl:if test="$overload-count = 1"> 1877 <xsl:text>[indexterm1 </xsl:text> 1878 <xsl:text>boost_asio.indexterm.</xsl:text> 1879 <xsl:value-of select="$id"/> 1880 <xsl:text>..</xsl:text> 1881 <xsl:value-of select="$name"/> 1882 <xsl:text>] </xsl:text> 1883</xsl:if> 1884 1885<xsl:apply-templates select="briefdescription" mode="markup"/><xsl:text> 1886</xsl:text> 1887 1888 <xsl:choose> 1889 <xsl:when test="@kind='typedef'"> 1890 <xsl:call-template name="typedef"> 1891 <xsl:with-param name="class-name" select="$name"/> 1892 </xsl:call-template> 1893 </xsl:when> 1894 <xsl:when test="@kind='variable'"> 1895 <xsl:call-template name="variable"/> 1896 </xsl:when> 1897 <xsl:when test="@kind='enum'"> 1898 <xsl:call-template name="enum"> 1899 <xsl:with-param name="enum-name" select="$name"/> 1900 <xsl:with-param name="id" select="$id"/> 1901 </xsl:call-template> 1902 </xsl:when> 1903 <xsl:when test="@kind='function'"> 1904 <xsl:call-template name="function"/> 1905 </xsl:when> 1906 </xsl:choose> 1907 1908<xsl:text> 1909</xsl:text><xsl:apply-templates select="detaileddescription" mode="markup"/> 1910 1911<xsl:if test="$overload-count = 1"> 1912 <xsl:call-template name="header-requirements"> 1913 <xsl:with-param name="file" select="location/@file"/> 1914 </xsl:call-template> 1915</xsl:if> 1916 1917[endsect] 1918 1919<xsl:if test="$overload-count > 1 and $overload-position = $overload-count"> 1920[endsect] 1921</xsl:if> 1922</xsl:template> 1923 1924 1925</xsl:stylesheet> 1926