1 2[section:boost__static_strings__basic_static_string basic_static_string] 3 4A fixed-capacity string. 5[heading Synopsis] 6Defined in header [include_file boost/static_string/static_string.hpp] 7 8``` 9template< 10 std::size_t N, 11 typename CharT, 12 typename Traits = std::char_traits<CharT>> 13class basic_static_string 14``` 15 16[heading Types] 17[table [[Name][Description]] 18 [ 19 [[*[link static_string.ref.boost__static_strings__basic_static_string.const_iterator const_iterator]] 20 ] 21 [ 22 23The constant iterator type. 24 ] 25 ] 26 [ 27 [[*[link static_string.ref.boost__static_strings__basic_static_string.const_pointer const_pointer]] 28 ] 29 [ 30 31The constant pointer type. 32 ] 33 ] 34 [ 35 [[*[link static_string.ref.boost__static_strings__basic_static_string.const_reference const_reference]] 36 ] 37 [ 38 39The constant reference type. 40 ] 41 ] 42 [ 43 [[*[link static_string.ref.boost__static_strings__basic_static_string.const_reverse_iterator const_reverse_iterator]] 44 ] 45 [ 46 47The constant reverse iterator type. 48 ] 49 ] 50 [ 51 [[*[link static_string.ref.boost__static_strings__basic_static_string.difference_type difference_type]] 52 ] 53 [ 54 55The difference type. 56 ] 57 ] 58 [ 59 [[*[link static_string.ref.boost__static_strings__basic_static_string.iterator iterator]] 60 ] 61 [ 62 63The iterator type. 64 ] 65 ] 66 [ 67 [[*[link static_string.ref.boost__static_strings__basic_static_string.pointer pointer]] 68 ] 69 [ 70 71The pointer type. 72 ] 73 ] 74 [ 75 [[*[link static_string.ref.boost__static_strings__basic_static_string.reference reference]] 76 ] 77 [ 78 79The reference type. 80 ] 81 ] 82 [ 83 [[*[link static_string.ref.boost__static_strings__basic_static_string.reverse_iterator reverse_iterator]] 84 ] 85 [ 86 87The reverse iterator type. 88 ] 89 ] 90 [ 91 [[*[link static_string.ref.boost__static_strings__basic_static_string.size_type size_type]] 92 ] 93 [ 94 95The size type. 96 ] 97 ] 98 [ 99 [[*[link static_string.ref.boost__static_strings__basic_static_string.string_view_type string_view_type]] 100 ] 101 [ 102 103The string view type. 104 ] 105 ] 106 [ 107 [[*[link static_string.ref.boost__static_strings__basic_static_string.traits_type traits_type]] 108 ] 109 [ 110 111The traits type. 112 ] 113 ] 114 [ 115 [[*[link static_string.ref.boost__static_strings__basic_static_string.value_type value_type]] 116 ] 117 [ 118 119The character type. 120 ] 121 ] 122] 123[heading Member Functions] 124[table [[Name][Description]] 125 [ 126 [[*[link static_string.ref.boost__static_strings__basic_static_string.append append]] 127 ] 128 [ 129 130Append to the string. 131 ] 132 ] 133 [ 134 [[*[link static_string.ref.boost__static_strings__basic_static_string.assign assign]] 135 ] 136 [ 137 138Assign to the string. 139 ] 140 ] 141 [ 142 [[*[link static_string.ref.boost__static_strings__basic_static_string.at at]] 143 ] 144 [ 145 146Access a character with bounds checking. 147 ] 148 ] 149 [ 150 [[*[link static_string.ref.boost__static_strings__basic_static_string.back back]] 151 ] 152 [ 153 154Return the last character. 155 ] 156 ] 157 [ 158 [[*[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string basic_static_string]] 159 ] 160 [ 161 162Constructor. 163 ] 164 ] 165 [ 166 [[*[link static_string.ref.boost__static_strings__basic_static_string.begin begin]] 167 ] 168 [ 169 170Return an iterator to the beginning. 171 ] 172 ] 173 [ 174 [[*[link static_string.ref.boost__static_strings__basic_static_string.c_str c_str]] 175 ] 176 [ 177 178Return a pointer to the string. 179 ] 180 ] 181 [ 182 [[*[link static_string.ref.boost__static_strings__basic_static_string.capacity capacity]] 183 ] 184 [ 185 186Return the number of characters that can be stored. 187 ] 188 ] 189 [ 190 [[*[link static_string.ref.boost__static_strings__basic_static_string.cbegin cbegin]] 191 ] 192 [ 193 194Return an iterator to the beginning. 195 ] 196 ] 197 [ 198 [[*[link static_string.ref.boost__static_strings__basic_static_string.cend cend]] 199 ] 200 [ 201 202Return an iterator to the end. 203 ] 204 ] 205 [ 206 [[*[link static_string.ref.boost__static_strings__basic_static_string.clear clear]] 207 ] 208 [ 209 210Clear the contents. 211 ] 212 ] 213 [ 214 [[*[link static_string.ref.boost__static_strings__basic_static_string.compare compare]] 215 ] 216 [ 217 218Compare a string with the string. 219 ] 220 ] 221 [ 222 [[*[link static_string.ref.boost__static_strings__basic_static_string.copy copy]] 223 ] 224 [ 225 226Copy a substring to another string. 227 ] 228 ] 229 [ 230 [[*[link static_string.ref.boost__static_strings__basic_static_string.crbegin crbegin]] 231 ] 232 [ 233 234Return a reverse iterator to the beginning. 235 ] 236 ] 237 [ 238 [[*[link static_string.ref.boost__static_strings__basic_static_string.crend crend]] 239 ] 240 [ 241 242Return a reverse iterator to the end. 243 ] 244 ] 245 [ 246 [[*[link static_string.ref.boost__static_strings__basic_static_string.data data]] 247 ] 248 [ 249 250Return a pointer to the string. 251 ] 252 ] 253 [ 254 [[*[link static_string.ref.boost__static_strings__basic_static_string.empty empty]] 255 ] 256 [ 257 258Return if the string is empty. 259 ] 260 ] 261 [ 262 [[*[link static_string.ref.boost__static_strings__basic_static_string.end end]] 263 ] 264 [ 265 266Return an iterator to the end. 267 ] 268 ] 269 [ 270 [[*[link static_string.ref.boost__static_strings__basic_static_string.ends_with ends_with]] 271 ] 272 [ 273 274Return whether the string ends with a string. 275 276Return whether the string ends with a character. 277 ] 278 ] 279 [ 280 [[*[link static_string.ref.boost__static_strings__basic_static_string.erase erase]] 281 ] 282 [ 283 284Erase from the string. 285 ] 286 ] 287 [ 288 [[*[link static_string.ref.boost__static_strings__basic_static_string.find find]] 289 ] 290 [ 291 292Find the first occurrence of a string within the string. 293 294Find the first occurrence of a character within the string. 295 ] 296 ] 297 [ 298 [[*[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of find_first_not_of]] 299 ] 300 [ 301 302Find the first occurrence of a character not within the string. 303 304Find the first occurrence of any of the characters not within the string. 305 306Find the first occurrence of a character not equal to `c`. 307 ] 308 ] 309 [ 310 [[*[link static_string.ref.boost__static_strings__basic_static_string.find_first_of find_first_of]] 311 ] 312 [ 313 314Find the first occurrence of any of the characters within the string. 315 316Find the first occurrence of a character within the string. 317 ] 318 ] 319 [ 320 [[*[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of find_last_not_of]] 321 ] 322 [ 323 324Find the last occurrence of a character not within the string. 325 326Find the last occurrence of a character not equal to `c`. 327 ] 328 ] 329 [ 330 [[*[link static_string.ref.boost__static_strings__basic_static_string.find_last_of find_last_of]] 331 ] 332 [ 333 334Find the last occurrence of any of the characters within the string. 335 336Find the last occurrence of a character within the string. 337 ] 338 ] 339 [ 340 [[*[link static_string.ref.boost__static_strings__basic_static_string.front front]] 341 ] 342 [ 343 344Return the first character. 345 ] 346 ] 347 [ 348 [[*[link static_string.ref.boost__static_strings__basic_static_string.insert insert]] 349 ] 350 [ 351 352Insert into the string. 353 ] 354 ] 355 [ 356 [[*[link static_string.ref.boost__static_strings__basic_static_string.length length]] 357 ] 358 [ 359 360Return the size of the string. 361 ] 362 ] 363 [ 364 [[*[link static_string.ref.boost__static_strings__basic_static_string.max_size max_size]] 365 ] 366 [ 367 368Return the number of characters that can be stored. 369 ] 370 ] 371 [ 372 [[*[link static_string.ref.boost__static_strings__basic_static_string.operator_string_view_type operator string_view_type]] 373 ] 374 [ 375 376Convert to a string view referring to the string. 377 ] 378 ] 379 [ 380 [[*[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_ operator+=]] 381 ] 382 [ 383 384Append to the string. 385 ] 386 ] 387 [ 388 [[*[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_ operator=]] 389 ] 390 [ 391 392Assign to the string. 393 ] 394 ] 395 [ 396 [[*[link static_string.ref.boost__static_strings__basic_static_string.operator_lb__rb_ operator\[\]]] 397 ] 398 [ 399 400Access a character. 401 ] 402 ] 403 [ 404 [[*[link static_string.ref.boost__static_strings__basic_static_string.pop_back pop_back]] 405 ] 406 [ 407 408Remove the last character. 409 ] 410 ] 411 [ 412 [[*[link static_string.ref.boost__static_strings__basic_static_string.push_back push_back]] 413 ] 414 [ 415 416Append a character. 417 ] 418 ] 419 [ 420 [[*[link static_string.ref.boost__static_strings__basic_static_string.rbegin rbegin]] 421 ] 422 [ 423 424Return a reverse iterator to the beginning. 425 ] 426 ] 427 [ 428 [[*[link static_string.ref.boost__static_strings__basic_static_string.rend rend]] 429 ] 430 [ 431 432Return a reverse iterator to the end. 433 ] 434 ] 435 [ 436 [[*[link static_string.ref.boost__static_strings__basic_static_string.replace replace]] 437 ] 438 [ 439 440Replace a part of the string. 441 ] 442 ] 443 [ 444 [[*[link static_string.ref.boost__static_strings__basic_static_string.reserve reserve]] 445 ] 446 [ 447 448Increase the capacity. 449 ] 450 ] 451 [ 452 [[*[link static_string.ref.boost__static_strings__basic_static_string.resize resize]] 453 ] 454 [ 455 456Change the size of the string. 457 ] 458 ] 459 [ 460 [[*[link static_string.ref.boost__static_strings__basic_static_string.rfind rfind]] 461 ] 462 [ 463 464Find the last occurrence of a string within the string. 465 466Find the last occurrence of a character within the string. 467 ] 468 ] 469 [ 470 [[*[link static_string.ref.boost__static_strings__basic_static_string.shrink_to_fit shrink_to_fit]] 471 ] 472 [ 473 474Request the removal of unused capacity. 475 ] 476 ] 477 [ 478 [[*[link static_string.ref.boost__static_strings__basic_static_string.size size]] 479 ] 480 [ 481 482Return the size of the string. 483 ] 484 ] 485 [ 486 [[*[link static_string.ref.boost__static_strings__basic_static_string.starts_with starts_with]] 487 ] 488 [ 489 490Return whether the string begins with a string. 491 492Return whether the string begins with a character. 493 ] 494 ] 495 [ 496 [[*[link static_string.ref.boost__static_strings__basic_static_string.substr substr]] 497 ] 498 [ 499 500Return a substring. 501 ] 502 ] 503 [ 504 [[*[link static_string.ref.boost__static_strings__basic_static_string.subview subview]] 505 ] 506 [ 507 508Return a string view of a substring. 509 ] 510 ] 511 [ 512 [[*[link static_string.ref.boost__static_strings__basic_static_string.swap swap]] 513 ] 514 [ 515 516Swap two strings. 517 ] 518 ] 519] 520[heading Data Members] 521[table [[Name][Description]] 522 [ 523 [[*[link static_string.ref.boost__static_strings__basic_static_string.npos npos]] 524 ] 525 [ 526 527A special index. 528 ] 529 ] 530 [ 531 [[*[link static_string.ref.boost__static_strings__basic_static_string.static_capacity static_capacity]] 532 ] 533 [ 534 535Maximum size of the string excluding any null terminator. 536 ] 537 ] 538] 539[heading Description] 540These objects behave like `std::string` except that the storage is not dynamically allocated but rather fixed in size, and stored in the object itself. 541These strings offer performance advantages when an algorithm can execute with a reasonable upper limit on the size of a value. 542 543[heading Aliases] 544 545The following alias templates are provided for convenience: 546 547``` 548template<std::size_t N> 549using static_string = 550 basic_static_string<N, char, std::char_traits<char>>; 551``` 552 553 554``` 555template<std::size_t N> 556using static_wstring = 557 basic_static_string<N, wchar_t, std::char_traits<wchar_t>>; 558``` 559 560 561``` 562template<std::size_t N> 563using static_u16string = 564 basic_static_string<N, char16_t, std::char_traits<char16_t>>; 565``` 566 567 568``` 569template<std::size_t N> 570using static_u32string = 571 basic_static_string<N, char32_t, std::char_traits<char32_t>>; 572``` 573 574Addtionally, the alias template `static_u8string` is provided in C++20 575 576``` 577template<std::size_t N> 578using static_u8string = 579 basic_static_string<N, char8_t, std::char_traits<char8_t>>; 580``` 581 582 583[heading See Also] 584[link static_string.ref.boost__static_strings__to_static_string.overload1 `to_static_string`] 585 586[section:traits_type basic_static_string::traits_type] 587[indexterm2 traits_type..basic_static_string] 588 589 590The traits type. 591[heading Synopsis] 592``` 593using traits_type = Traits; 594``` 595 596[heading Description] 597 598[endsect] 599 600[section:value_type basic_static_string::value_type] 601[indexterm2 value_type..basic_static_string] 602 603 604The character type. 605[heading Synopsis] 606``` 607using value_type = typename traits_type::char_type; 608``` 609 610[heading Description] 611 612[endsect] 613 614[section:size_type basic_static_string::size_type] 615[indexterm2 size_type..basic_static_string] 616 617 618The size type. 619[heading Synopsis] 620``` 621using size_type = std::size_t; 622``` 623 624[heading Description] 625 626[endsect] 627 628[section:difference_type basic_static_string::difference_type] 629[indexterm2 difference_type..basic_static_string] 630 631 632The difference type. 633[heading Synopsis] 634``` 635using difference_type = std::ptrdiff_t; 636``` 637 638[heading Description] 639 640[endsect] 641 642[section:pointer basic_static_string::pointer] 643[indexterm2 pointer..basic_static_string] 644 645 646The pointer type. 647[heading Synopsis] 648``` 649using pointer = value_type*; 650``` 651 652[heading Description] 653 654[endsect] 655 656[section:reference basic_static_string::reference] 657[indexterm2 reference..basic_static_string] 658 659 660The reference type. 661[heading Synopsis] 662``` 663using reference = value_type&; 664``` 665 666[heading Description] 667 668[endsect] 669 670[section:const_pointer basic_static_string::const_pointer] 671[indexterm2 const_pointer..basic_static_string] 672 673 674The constant pointer type. 675[heading Synopsis] 676``` 677using const_pointer = const value_type*; 678``` 679 680[heading Description] 681 682[endsect] 683 684[section:const_reference basic_static_string::const_reference] 685[indexterm2 const_reference..basic_static_string] 686 687 688The constant reference type. 689[heading Synopsis] 690``` 691using const_reference = const value_type&; 692``` 693 694[heading Description] 695 696[endsect] 697 698[section:iterator basic_static_string::iterator] 699[indexterm2 iterator..basic_static_string] 700 701 702The iterator type. 703[heading Synopsis] 704``` 705using iterator = value_type*; 706``` 707 708[heading Description] 709 710[endsect] 711 712[section:const_iterator basic_static_string::const_iterator] 713[indexterm2 const_iterator..basic_static_string] 714 715 716The constant iterator type. 717[heading Synopsis] 718``` 719using const_iterator = const value_type*; 720``` 721 722[heading Description] 723 724[endsect] 725 726[section:reverse_iterator basic_static_string::reverse_iterator] 727[indexterm2 reverse_iterator..basic_static_string] 728 729 730The reverse iterator type. 731[heading Synopsis] 732``` 733using reverse_iterator = std::reverse_iterator< iterator >; 734``` 735 736[heading Description] 737 738[endsect] 739 740[section:const_reverse_iterator basic_static_string::const_reverse_iterator] 741[indexterm2 const_reverse_iterator..basic_static_string] 742 743 744The constant reverse iterator type. 745[heading Synopsis] 746``` 747using const_reverse_iterator = std::reverse_iterator< const_iterator >; 748``` 749 750[heading Description] 751 752[endsect] 753 754[section:string_view_type basic_static_string::string_view_type] 755[indexterm2 string_view_type..basic_static_string] 756 757 758The string view type. 759[heading Synopsis] 760``` 761using string_view_type = basic_string_view< value_type, traits_type >; 762``` 763 764[heading Description] 765 766[endsect] 767 768[section:static_capacity basic_static_string::static_capacity] 769[indexterm2 static_capacity..basic_static_string] 770 771 772Maximum size of the string excluding any null terminator. 773[heading Synopsis] 774``` 775static 776constexpr size_type static_capacity = N; 777``` 778 779[heading Description] 780 781[endsect] 782 783[section:npos basic_static_string::npos] 784[indexterm2 npos..basic_static_string] 785 786 787A special index. 788[heading Synopsis] 789``` 790static 791constexpr size_type npos = ``[link static_string.ref.boost__static_strings__basic_static_string.size_type size_type]``(-1); 792``` 793 794[heading Description] 795 796[endsect] 797 798[section:basic_static_string basic_static_string::basic_static_string] 799[indexterm2 basic_static_string..basic_static_string] 800 801 802Constructor. 803``` 804constexpr 805``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload1 basic_static_string]``(); 806 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload1 `more...`]]`` 807 808constexpr 809``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload2 basic_static_string]``( 810 size_type count, 811 value_type ch); 812 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload2 `more...`]]`` 813 814template< 815 std::size_t M> 816constexpr 817``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload3 basic_static_string]``( 818 const basic_static_string< M, CharT, Traits >& other, 819 size_type pos); 820 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload3 `more...`]]`` 821 822template< 823 std::size_t M> 824constexpr 825``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload4 basic_static_string]``( 826 const basic_static_string< M, CharT, Traits >& other, 827 size_type pos, 828 size_type count); 829 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload4 `more...`]]`` 830 831constexpr 832``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload5 basic_static_string]``( 833 const_pointer s, 834 size_type count); 835 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload5 `more...`]]`` 836 837constexpr 838``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload6 basic_static_string]``( 839 const_pointer s); 840 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload6 `more...`]]`` 841 842template< 843 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 844constexpr 845``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload7 basic_static_string]``( 846 InputIterator first, 847 InputIterator last); 848 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload7 `more...`]]`` 849 850constexpr 851``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload8 basic_static_string]``( 852 const basic_static_string& other); 853 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload8 `more...`]]`` 854 855template< 856 std::size_t M> 857constexpr 858``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload9 basic_static_string]``( 859 const basic_static_string< M, CharT, Traits >& other); 860 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload9 `more...`]]`` 861 862constexpr 863``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload10 basic_static_string]``( 864 std::initializer_list< value_type > init); 865 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload10 `more...`]]`` 866 867template< 868 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 869explicit 870constexpr 871``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload11 basic_static_string]``( 872 const T& t); 873 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload11 `more...`]]`` 874 875template< 876 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 877constexpr 878``[link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload12 basic_static_string]``( 879 const T& t, 880 size_type pos, 881 size_type n); 882 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.basic_static_string.overload12 `more...`]]`` 883``` 884 885[section:overload1 basic_static_string::basic_static_string (1 of 12 overloads)] 886 887Constructor. 888[heading Synopsis] 889``` 890constexpr 891basic_static_string(); 892``` 893 894[heading Description] 895Construct an empty string 896 897[endsect] 898 899[section:overload2 basic_static_string::basic_static_string (2 of 12 overloads)] 900 901Constructor. 902[heading Synopsis] 903``` 904constexpr 905basic_static_string( 906 size_type count, 907 value_type ch); 908``` 909 910[heading Description] 911Construct the string with `count` copies of character `ch`. 912The behavior is undefined if `count >= npos` 913 914[endsect] 915 916[section:overload3 basic_static_string::basic_static_string (3 of 12 overloads)] 917 918Constructor. 919[heading Synopsis] 920``` 921template< 922 std::size_t M> 923constexpr 924basic_static_string( 925 const basic_static_string< M, CharT, Traits >& other, 926 size_type pos); 927``` 928 929[heading Description] 930Construct with a substring (pos, other.size()) of `other`. 931 932[endsect] 933 934[section:overload4 basic_static_string::basic_static_string (4 of 12 overloads)] 935 936Constructor. 937[heading Synopsis] 938``` 939template< 940 std::size_t M> 941constexpr 942basic_static_string( 943 const basic_static_string< M, CharT, Traits >& other, 944 size_type pos, 945 size_type count); 946``` 947 948[heading Description] 949Construct with a substring (pos, count) of `other`. 950 951[endsect] 952 953[section:overload5 basic_static_string::basic_static_string (5 of 12 overloads)] 954 955Constructor. 956[heading Synopsis] 957``` 958constexpr 959basic_static_string( 960 const_pointer s, 961 size_type count); 962``` 963 964[heading Description] 965Construct with the first `count` characters of `s`, including nulls. 966 967[endsect] 968 969[section:overload6 basic_static_string::basic_static_string (6 of 12 overloads)] 970 971Constructor. 972[heading Synopsis] 973``` 974constexpr 975basic_static_string( 976 const_pointer s); 977``` 978 979[heading Description] 980Construct from a null terminated string. 981 982[endsect] 983 984[section:overload7 basic_static_string::basic_static_string (7 of 12 overloads)] 985 986Constructor. 987[heading Synopsis] 988``` 989template< 990 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 991constexpr 992basic_static_string( 993 InputIterator first, 994 InputIterator last); 995``` 996 997[heading Description] 998Construct from a range of characters 999 1000[endsect] 1001 1002[section:overload8 basic_static_string::basic_static_string (8 of 12 overloads)] 1003 1004Constructor. 1005[heading Synopsis] 1006``` 1007constexpr 1008basic_static_string( 1009 const basic_static_string& other); 1010``` 1011 1012[heading Description] 1013Copy constructor. 1014 1015[endsect] 1016 1017[section:overload9 basic_static_string::basic_static_string (9 of 12 overloads)] 1018 1019Constructor. 1020[heading Synopsis] 1021``` 1022template< 1023 std::size_t M> 1024constexpr 1025basic_static_string( 1026 const basic_static_string< M, CharT, Traits >& other); 1027``` 1028 1029[heading Description] 1030Copy constructor. 1031 1032[endsect] 1033 1034[section:overload10 basic_static_string::basic_static_string (10 of 12 overloads)] 1035 1036Constructor. 1037[heading Synopsis] 1038``` 1039constexpr 1040basic_static_string( 1041 std::initializer_list< value_type > init); 1042``` 1043 1044[heading Description] 1045Construct from an initializer list 1046 1047[endsect] 1048 1049[section:overload11 basic_static_string::basic_static_string (11 of 12 overloads)] 1050 1051Constructor. 1052[heading Synopsis] 1053``` 1054template< 1055 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1056constexpr 1057basic_static_string( 1058 const T& t); 1059``` 1060 1061[heading Description] 1062Construct from a object convertible to `string_view_type` 1063 1064[endsect] 1065 1066[section:overload12 basic_static_string::basic_static_string (12 of 12 overloads)] 1067 1068Constructor. 1069[heading Synopsis] 1070``` 1071template< 1072 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1073constexpr 1074basic_static_string( 1075 const T& t, 1076 size_type pos, 1077 size_type n); 1078``` 1079 1080[heading Description] 1081Construct from any object convertible to `string_view_type`. 1082The range (pos, n) is extracted from the value obtained by converting `t` to `string_view_type`, and used to construct the string. 1083 1084[endsect] 1085 1086 1087[endsect] 1088 1089[section:operator_eq_ basic_static_string::operator=] 1090[indexterm2 operator=..basic_static_string] 1091 1092 1093Assign to the string. 1094``` 1095template< 1096 std::size_t M> 1097constexpr basic_static_string& 1098``[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload1 operator=]``( 1099 const basic_static_string< M, CharT, Traits >& s); 1100 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload1 `more...`]]`` 1101 1102constexpr basic_static_string& 1103``[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload2 operator=]``( 1104 const_pointer s); 1105 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload2 `more...`]]`` 1106 1107constexpr basic_static_string& 1108``[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload3 operator=]``( 1109 value_type ch); 1110 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload3 `more...`]]`` 1111 1112constexpr basic_static_string& 1113``[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload4 operator=]``( 1114 std::initializer_list< value_type > ilist); 1115 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload4 `more...`]]`` 1116 1117template< 1118 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1119constexpr basic_static_string& 1120``[link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload5 operator=]``( 1121 const T& t); 1122 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_eq_.overload5 `more...`]]`` 1123``` 1124 1125[section:overload1 basic_static_string::operator= (1 of 5 overloads)] 1126 1127Assign to the string. 1128[heading Synopsis] 1129``` 1130template< 1131 std::size_t M> 1132constexpr basic_static_string& 1133operator=( 1134 const basic_static_string< M, CharT, Traits >& s); 1135``` 1136 1137[heading Description] 1138Replaces the contents with those of the string `s`. 1139 1140[heading Complexity] 1141 1142Linear in `s.size()`. 1143 1144[heading Exception Safety] 1145 1146Strong guarantee. 1147 1148[heading Template Parameters] 1149[table [[Type][Description]] 1150 [ 1151 [`M` 1152 ] 1153 [ 1154The size of the other string. 1155 ] 1156 ] 1157] 1158[heading Return Value] 1159`*this` 1160[heading Parameters] 1161[table [[Name][Description]] 1162 [ 1163 [`s` 1164 ] 1165 [ 1166The string to replace the contents with. 1167 ] 1168 ] 1169] 1170[heading Exceptions] 1171[table [[Type][Thrown On]] 1172 [ 1173 [`std::length_error` 1174 ] 1175 [ 1176s.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1177 ] 1178 ] 1179] 1180 1181[endsect] 1182 1183[section:overload2 basic_static_string::operator= (2 of 5 overloads)] 1184 1185Assign to the string. 1186[heading Synopsis] 1187``` 1188constexpr basic_static_string& 1189operator=( 1190 const_pointer s); 1191``` 1192 1193[heading Description] 1194Replaces the contents with those of `{s, s + traits_type::length(s))`. 1195 1196[heading Complexity] 1197 1198Linear in `count`. 1199 1200[heading Exception Safety] 1201 1202Strong guarantee. 1203 1204[heading Return Value] 1205`*this` 1206[heading Parameters] 1207[table [[Name][Description]] 1208 [ 1209 [`s` 1210 ] 1211 [ 1212A pointer to the string to copy from. 1213 ] 1214 ] 1215] 1216[heading Exceptions] 1217[table [[Type][Thrown On]] 1218 [ 1219 [`std::length_error` 1220 ] 1221 [ 1222traits_type::length(s) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1223 ] 1224 ] 1225] 1226 1227[endsect] 1228 1229[section:overload3 basic_static_string::operator= (3 of 5 overloads)] 1230 1231Assign to the string. 1232[heading Synopsis] 1233``` 1234constexpr basic_static_string& 1235operator=( 1236 value_type ch); 1237``` 1238 1239[heading Description] 1240Replaces the contents with a single copy of the character `ch`. 1241 1242[heading Complexity] 1243 1244Constant. 1245 1246[heading Exception Safety] 1247 1248Strong guarantee. 1249 1250[heading Return Value] 1251`*this` 1252[heading Parameters] 1253[table [[Name][Description]] 1254 [ 1255 [`ch` 1256 ] 1257 [ 1258The character to assign to. 1259 ] 1260 ] 1261] 1262[heading Exceptions] 1263[table [[Type][Thrown On]] 1264 [ 1265 [`std::length_error` 1266 ] 1267 [ 1268count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1269 ] 1270 ] 1271] 1272 1273[endsect] 1274 1275[section:overload4 basic_static_string::operator= (4 of 5 overloads)] 1276 1277Assign to the string. 1278[heading Synopsis] 1279``` 1280constexpr basic_static_string& 1281operator=( 1282 std::initializer_list< value_type > ilist); 1283``` 1284 1285[heading Description] 1286Replaces the contents with those of the initializer list `ilist`. 1287 1288[heading Complexity] 1289 1290Linear in `init.size()`. 1291 1292[heading Exception Safety] 1293 1294Strong guarantee. 1295 1296[heading Return Value] 1297`*this` 1298[heading Parameters] 1299[table [[Name][Description]] 1300 [ 1301 [`ilist` 1302 ] 1303 [ 1304The initializer list to copy from. 1305 ] 1306 ] 1307] 1308[heading Exceptions] 1309[table [[Type][Thrown On]] 1310 [ 1311 [`std::length_error` 1312 ] 1313 [ 1314ilist.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1315 ] 1316 ] 1317] 1318 1319[endsect] 1320 1321[section:overload5 basic_static_string::operator= (5 of 5 overloads)] 1322 1323Assign to the string. 1324[heading Synopsis] 1325``` 1326template< 1327 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1328constexpr basic_static_string& 1329operator=( 1330 const T& t); 1331``` 1332 1333[heading Description] 1334Replaces the contents with those of `sv`, where `sv` is `string_view_type(t)`. 1335 1336[heading Complexity] 1337 1338Linear in `sv.size()`. 1339 1340[heading Exception Safety] 1341 1342Strong guarantee. 1343 1344[heading Remarks] 1345 1346The view can contain null characters. 1347 1348[heading Template Parameters] 1349[table [[Type][Description]] 1350 [ 1351 [`T` 1352 ] 1353 [ 1354A type convertible to `string_view_type`. 1355 ] 1356 ] 1357] 1358[heading Constraints] 1359 1360``` 1361std::is_convertible<const T&, string_view>::value && 1362!std::is_convertible<const T&, const CharT*>::value 1363``` 1364 1365 1366[heading Return Value] 1367`*this` 1368[heading Parameters] 1369[table [[Name][Description]] 1370 [ 1371 [`t` 1372 ] 1373 [ 1374The object to assign from. 1375 ] 1376 ] 1377] 1378[heading Exceptions] 1379[table [[Type][Thrown On]] 1380 [ 1381 [`std::length_error` 1382 ] 1383 [ 1384sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1385 ] 1386 ] 1387] 1388 1389[endsect] 1390 1391 1392[endsect] 1393 1394[section:assign basic_static_string::assign] 1395[indexterm2 assign..basic_static_string] 1396 1397 1398Assign to the string. 1399``` 1400constexpr basic_static_string& 1401``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload1 assign]``( 1402 size_type count, 1403 value_type ch); 1404 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload1 `more...`]]`` 1405 1406template< 1407 std::size_t M> 1408constexpr basic_static_string& 1409``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload2 assign]``( 1410 const basic_static_string< M, CharT, Traits >& s); 1411 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload2 `more...`]]`` 1412 1413template< 1414 std::size_t M> 1415constexpr basic_static_string& 1416``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload3 assign]``( 1417 const basic_static_string< M, CharT, Traits >& s, 1418 size_type pos, 1419 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 1420 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload3 `more...`]]`` 1421 1422constexpr basic_static_string& 1423``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload4 assign]``( 1424 const_pointer s, 1425 size_type count); 1426 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload4 `more...`]]`` 1427 1428constexpr basic_static_string& 1429``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload5 assign]``( 1430 const_pointer s); 1431 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload5 `more...`]]`` 1432 1433template< 1434 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1435constexpr basic_static_string& 1436``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload6 assign]``( 1437 InputIterator first, 1438 InputIterator last); 1439 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload6 `more...`]]`` 1440 1441constexpr basic_static_string& 1442``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload7 assign]``( 1443 std::initializer_list< value_type > ilist); 1444 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload7 `more...`]]`` 1445 1446template< 1447 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1448constexpr basic_static_string& 1449``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload8 assign]``( 1450 const T& t); 1451 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload8 `more...`]]`` 1452 1453template< 1454 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1455basic_static_string& 1456``[link static_string.ref.boost__static_strings__basic_static_string.assign.overload9 assign]``( 1457 const T& t, 1458 size_type pos, 1459 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 1460 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.assign.overload9 `more...`]]`` 1461``` 1462 1463[section:overload1 basic_static_string::assign (1 of 9 overloads)] 1464 1465Assign to the string. 1466[heading Synopsis] 1467``` 1468constexpr basic_static_string& 1469assign( 1470 size_type count, 1471 value_type ch); 1472``` 1473 1474[heading Description] 1475Replaces the contents with `count` copies of character `ch`. 1476 1477[heading Complexity] 1478 1479Linear in `count`. 1480 1481[heading Exception Safety] 1482 1483Strong guarantee. 1484 1485[heading Return Value] 1486`*this` 1487[heading Parameters] 1488[table [[Name][Description]] 1489 [ 1490 [`count` 1491 ] 1492 [ 1493The size of the resulting string. 1494 ] 1495 ] 1496 [ 1497 [`ch` 1498 ] 1499 [ 1500The value to initialize characters of the string with. 1501 ] 1502 ] 1503] 1504[heading Exceptions] 1505[table [[Type][Thrown On]] 1506 [ 1507 [`std::length_error` 1508 ] 1509 [ 1510count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1511 ] 1512 ] 1513] 1514 1515[endsect] 1516 1517[section:overload2 basic_static_string::assign (2 of 9 overloads)] 1518 1519Assign to the string. 1520[heading Synopsis] 1521``` 1522template< 1523 std::size_t M> 1524constexpr basic_static_string& 1525assign( 1526 const basic_static_string< M, CharT, Traits >& s); 1527``` 1528 1529[heading Description] 1530Replaces the contents with those of the string `s`. 1531 1532[heading Complexity] 1533 1534Linear in `s.size()`. 1535 1536[heading Exception Safety] 1537 1538Strong guarantee. 1539 1540[heading Template Parameters] 1541[table [[Type][Description]] 1542 [ 1543 [`M` 1544 ] 1545 [ 1546The size of the other string. 1547 ] 1548 ] 1549] 1550[heading Return Value] 1551`*this` 1552[heading Parameters] 1553[table [[Name][Description]] 1554 [ 1555 [`s` 1556 ] 1557 [ 1558The string to replace the contents with. 1559 ] 1560 ] 1561] 1562[heading Exceptions] 1563[table [[Type][Thrown On]] 1564 [ 1565 [`std::length_error` 1566 ] 1567 [ 1568s.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1569 ] 1570 ] 1571] 1572 1573[endsect] 1574 1575[section:overload3 basic_static_string::assign (3 of 9 overloads)] 1576 1577Assign to the string. 1578[heading Synopsis] 1579``` 1580template< 1581 std::size_t M> 1582constexpr basic_static_string& 1583assign( 1584 const basic_static_string< M, CharT, Traits >& s, 1585 size_type pos, 1586 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 1587``` 1588 1589[heading Description] 1590Replaces the contents with those of the string `sub`, where `sub` is `s.substr(pos, count)`. 1591 1592[heading Complexity] 1593 1594Linear in `sub.size()`. 1595 1596[heading Exception Safety] 1597 1598Strong guarantee. 1599 1600[heading Template Parameters] 1601[table [[Type][Description]] 1602 [ 1603 [`M` 1604 ] 1605 [ 1606The capacity of the other string. 1607 ] 1608 ] 1609] 1610[heading Return Value] 1611`*this` 1612[heading Parameters] 1613[table [[Name][Description]] 1614 [ 1615 [`s` 1616 ] 1617 [ 1618The string to replace the contents with. 1619 ] 1620 ] 1621 [ 1622 [`pos` 1623 ] 1624 [ 1625The index at which to begin the substring. 1626 ] 1627 ] 1628 [ 1629 [`count` 1630 ] 1631 [ 1632The size of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 1633 ] 1634 ] 1635] 1636[heading Exceptions] 1637[table [[Type][Thrown On]] 1638 [ 1639 [`std::length_error` 1640 ] 1641 [ 1642sub.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1643 ] 1644 ] 1645] 1646 1647[endsect] 1648 1649[section:overload4 basic_static_string::assign (4 of 9 overloads)] 1650 1651Assign to the string. 1652[heading Synopsis] 1653``` 1654constexpr basic_static_string& 1655assign( 1656 const_pointer s, 1657 size_type count); 1658``` 1659 1660[heading Description] 1661Replaces the contents with those of `{s, s + count)`. 1662 1663[heading Complexity] 1664 1665Linear in `count`. 1666 1667[heading Exception Safety] 1668 1669Strong guarantee. 1670 1671[heading Remarks] 1672 1673The range can contain null characters. 1674 1675[heading Return Value] 1676`*this` 1677[heading Parameters] 1678[table [[Name][Description]] 1679 [ 1680 [`count` 1681 ] 1682 [ 1683The number of characters to copy. 1684 ] 1685 ] 1686 [ 1687 [`s` 1688 ] 1689 [ 1690A pointer to the string to copy from. 1691 ] 1692 ] 1693] 1694[heading Exceptions] 1695[table [[Type][Thrown On]] 1696 [ 1697 [`std::length_error` 1698 ] 1699 [ 1700count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1701 ] 1702 ] 1703] 1704 1705[endsect] 1706 1707[section:overload5 basic_static_string::assign (5 of 9 overloads)] 1708 1709Assign to the string. 1710[heading Synopsis] 1711``` 1712constexpr basic_static_string& 1713assign( 1714 const_pointer s); 1715``` 1716 1717[heading Description] 1718Replaces the contents with those of `{s, s + traits_type::length(s))`. 1719 1720[heading Complexity] 1721 1722Linear in `count`. 1723 1724[heading Exception Safety] 1725 1726Strong guarantee. 1727 1728[heading Return Value] 1729`*this` 1730[heading Parameters] 1731[table [[Name][Description]] 1732 [ 1733 [`s` 1734 ] 1735 [ 1736A pointer to the string to copy from. 1737 ] 1738 ] 1739] 1740[heading Exceptions] 1741[table [[Type][Thrown On]] 1742 [ 1743 [`std::length_error` 1744 ] 1745 [ 1746traits_type::length(s) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1747 ] 1748 ] 1749] 1750 1751[endsect] 1752 1753[section:overload6 basic_static_string::assign (6 of 9 overloads)] 1754 1755Assign to the string. 1756[heading Synopsis] 1757``` 1758template< 1759 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1760constexpr basic_static_string& 1761assign( 1762 InputIterator first, 1763 InputIterator last); 1764``` 1765 1766[heading Description] 1767Replaces the contents with the characters in the range `{first, last)`. 1768 1769[heading Complexity] 1770 1771Linear in `std::distance(first, last)`. 1772 1773[heading Exception Safety] 1774 1775Strong guarantee. 1776 1777[heading Template Parameters] 1778[table [[Type][Description]] 1779 [ 1780 [`InputIterator` 1781 ] 1782 [ 1783The type of the iterators. 1784 ] 1785 ] 1786] 1787[heading Constraints] 1788 1789`InputIterator`satisfies [*InputIterator]. 1790 1791[heading Return Value] 1792`*this` 1793[heading Parameters] 1794[table [[Name][Description]] 1795 [ 1796 [`first` 1797 ] 1798 [ 1799An iterator referring to the first character to assign. 1800 ] 1801 ] 1802 [ 1803 [`last` 1804 ] 1805 [ 1806An iterator past the end of the range to assign from. 1807 ] 1808 ] 1809] 1810[heading Exceptions] 1811[table [[Type][Thrown On]] 1812 [ 1813 [`std::length_error` 1814 ] 1815 [ 1816std::distance(first, last) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1817 ] 1818 ] 1819] 1820 1821[endsect] 1822 1823[section:overload7 basic_static_string::assign (7 of 9 overloads)] 1824 1825Assign to the string. 1826[heading Synopsis] 1827``` 1828constexpr basic_static_string& 1829assign( 1830 std::initializer_list< value_type > ilist); 1831``` 1832 1833[heading Description] 1834Replaces the contents with those of the initializer list `ilist`. 1835 1836[heading Complexity] 1837 1838Linear in `init.size()`. 1839 1840[heading Exception Safety] 1841 1842Strong guarantee. 1843 1844[heading Return Value] 1845`*this` 1846[heading Parameters] 1847[table [[Name][Description]] 1848 [ 1849 [`ilist` 1850 ] 1851 [ 1852The initializer list to copy from. 1853 ] 1854 ] 1855] 1856[heading Exceptions] 1857[table [[Type][Thrown On]] 1858 [ 1859 [`std::length_error` 1860 ] 1861 [ 1862ilist.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1863 ] 1864 ] 1865] 1866 1867[endsect] 1868 1869[section:overload8 basic_static_string::assign (8 of 9 overloads)] 1870 1871Assign to the string. 1872[heading Synopsis] 1873``` 1874template< 1875 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1876constexpr basic_static_string& 1877assign( 1878 const T& t); 1879``` 1880 1881[heading Description] 1882Replaces the contents with those of `sv`, where `sv` is `string_view_type(t)`. 1883 1884[heading Complexity] 1885 1886Linear in `sv.size()`. 1887 1888[heading Exception Safety] 1889 1890Strong guarantee. 1891 1892[heading Remarks] 1893 1894The view can contain null characters. 1895 1896[heading Template Parameters] 1897[table [[Type][Description]] 1898 [ 1899 [`T` 1900 ] 1901 [ 1902A type convertible to `string_view_type`. 1903 ] 1904 ] 1905] 1906[heading Constraints] 1907 1908``` 1909std::is_convertible<const T&, string_view>::value && 1910!std::is_convertible<const T&, const CharT*>::value 1911``` 1912 1913 1914[heading Return Value] 1915`*this` 1916[heading Parameters] 1917[table [[Name][Description]] 1918 [ 1919 [`t` 1920 ] 1921 [ 1922The object to assign from. 1923 ] 1924 ] 1925] 1926[heading Exceptions] 1927[table [[Type][Thrown On]] 1928 [ 1929 [`std::length_error` 1930 ] 1931 [ 1932sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 1933 ] 1934 ] 1935] 1936 1937[endsect] 1938 1939[section:overload9 basic_static_string::assign (9 of 9 overloads)] 1940 1941Assign to the string. 1942[heading Synopsis] 1943``` 1944template< 1945 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 1946basic_static_string& 1947assign( 1948 const T& t, 1949 size_type pos, 1950 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 1951``` 1952 1953[heading Description] 1954Replaces the contents with those of the substring `sv`, where `sv` is `string_view_type(t).substr(pos, count)`. 1955 1956[heading Complexity] 1957 1958Linear in `sv.size()`. 1959 1960[heading Exception Safety] 1961 1962Strong guarantee. 1963 1964[heading Remarks] 1965 1966The view can contain null characters. 1967 1968[heading Template Parameters] 1969[table [[Type][Description]] 1970 [ 1971 [`T` 1972 ] 1973 [ 1974A type convertible to `string_view_type`. 1975 ] 1976 ] 1977] 1978[heading Constraints] 1979 1980``` 1981std::is_convertible<const T&, string_view>::value && 1982!std::is_convertible<const T&, const CharT*>::value 1983``` 1984 1985 1986[heading Return Value] 1987`*this` 1988[heading Parameters] 1989[table [[Name][Description]] 1990 [ 1991 [`t` 1992 ] 1993 [ 1994The object to assign from. 1995 ] 1996 ] 1997 [ 1998 [`pos` 1999 ] 2000 [ 2001The index at which to begin the substring. 2002 ] 2003 ] 2004 [ 2005 [`count` 2006 ] 2007 [ 2008The size of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 2009 ] 2010 ] 2011] 2012[heading Exceptions] 2013[table [[Type][Thrown On]] 2014 [ 2015 [`std::length_error` 2016 ] 2017 [ 2018sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`]. 2019 ] 2020 ] 2021] 2022 2023[endsect] 2024 2025 2026[endsect] 2027 2028[section:at basic_static_string::at] 2029[indexterm2 at..basic_static_string] 2030 2031 2032Access a character with bounds checking. 2033``` 2034constexpr reference 2035``[link static_string.ref.boost__static_strings__basic_static_string.at.overload1 at]``( 2036 size_type pos); 2037 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.at.overload1 `more...`]]`` 2038 2039constexpr const_reference 2040``[link static_string.ref.boost__static_strings__basic_static_string.at.overload2 at]``( 2041 size_type pos) const; 2042 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.at.overload2 `more...`]]`` 2043``` 2044 2045[section:overload1 basic_static_string::at (1 of 2 overloads)] 2046 2047Access a character with bounds checking. 2048[heading Synopsis] 2049``` 2050constexpr reference 2051at( 2052 size_type pos); 2053``` 2054 2055[heading Description] 2056Returns a reference to the character at index `pos`. 2057 2058[heading Complexity] 2059 2060Constant. 2061 2062[heading Exception Safety] 2063 2064Strong guarantee. 2065 2066[heading Parameters] 2067[table [[Name][Description]] 2068 [ 2069 [`pos` 2070 ] 2071 [ 2072The index to access. 2073 ] 2074 ] 2075] 2076[heading Exceptions] 2077[table [[Type][Thrown On]] 2078 [ 2079 [`std::out_of_range` 2080 ] 2081 [ 2082pos >= [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 2083 ] 2084 ] 2085] 2086 2087[endsect] 2088 2089[section:overload2 basic_static_string::at (2 of 2 overloads)] 2090 2091Access a character with bounds checking. 2092[heading Synopsis] 2093``` 2094constexpr const_reference 2095at( 2096 size_type pos) const; 2097``` 2098 2099[heading Description] 2100Returns a reference to the character at index `pos`. 2101 2102[heading Complexity] 2103 2104Constant. 2105 2106[heading Exception Safety] 2107 2108Strong guarantee. 2109 2110[heading Parameters] 2111[table [[Name][Description]] 2112 [ 2113 [`pos` 2114 ] 2115 [ 2116The index to access. 2117 ] 2118 ] 2119] 2120[heading Exceptions] 2121[table [[Type][Thrown On]] 2122 [ 2123 [`std::out_of_range` 2124 ] 2125 [ 2126pos >= [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 2127 ] 2128 ] 2129] 2130 2131[endsect] 2132 2133 2134[endsect] 2135 2136[section:operator_lb__rb_ basic_static_string::operator\[\]] 2137[indexterm2 operator\[\]..basic_static_string] 2138 2139 2140Access a character. 2141``` 2142constexpr reference 2143``[link static_string.ref.boost__static_strings__basic_static_string.operator_lb__rb_.overload1 operator\[\]]``( 2144 size_type pos); 2145 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_lb__rb_.overload1 `more...`]]`` 2146 2147constexpr const_reference 2148``[link static_string.ref.boost__static_strings__basic_static_string.operator_lb__rb_.overload2 operator\[\]]``( 2149 size_type pos) const; 2150 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_lb__rb_.overload2 `more...`]]`` 2151``` 2152 2153[section:overload1 basic_static_string::operator\[\] (1 of 2 overloads)] 2154 2155Access a character. 2156[heading Synopsis] 2157``` 2158constexpr reference 2159operator[]( 2160 size_type pos); 2161``` 2162 2163[heading Description] 2164Returns a reference to the character at index `pos`. 2165 2166[heading Complexity] 2167 2168Constant. 2169 2170[heading Precondition] 2171 2172`pos >= size` 2173 2174[heading Parameters] 2175[table [[Name][Description]] 2176 [ 2177 [`pos` 2178 ] 2179 [ 2180The index to access. 2181 ] 2182 ] 2183] 2184 2185[endsect] 2186 2187[section:overload2 basic_static_string::operator\[\] (2 of 2 overloads)] 2188 2189Access a character. 2190[heading Synopsis] 2191``` 2192constexpr const_reference 2193operator[]( 2194 size_type pos) const; 2195``` 2196 2197[heading Description] 2198Returns a reference to the character at index `pos`. 2199 2200[heading Complexity] 2201 2202Constant. 2203 2204[heading Precondition] 2205 2206`pos >= size` 2207 2208[heading Parameters] 2209[table [[Name][Description]] 2210 [ 2211 [`pos` 2212 ] 2213 [ 2214The index to access. 2215 ] 2216 ] 2217] 2218 2219[endsect] 2220 2221 2222[endsect] 2223 2224[section:front basic_static_string::front] 2225[indexterm2 front..basic_static_string] 2226 2227 2228Return the first character. 2229``` 2230constexpr reference 2231``[link static_string.ref.boost__static_strings__basic_static_string.front.overload1 front]``(); 2232 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.front.overload1 `more...`]]`` 2233 2234constexpr const_reference 2235``[link static_string.ref.boost__static_strings__basic_static_string.front.overload2 front]``() const; 2236 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.front.overload2 `more...`]]`` 2237``` 2238 2239[section:overload1 basic_static_string::front (1 of 2 overloads)] 2240 2241Return the first character. 2242[heading Synopsis] 2243``` 2244constexpr reference 2245front(); 2246``` 2247 2248[heading Description] 2249Returns a reference to the first character. 2250 2251[heading Complexity] 2252 2253Constant. 2254 2255[heading Precondition] 2256 2257not [link static_string.ref.boost__static_strings__basic_static_string.empty `empty()`] 2258 2259[endsect] 2260 2261[section:overload2 basic_static_string::front (2 of 2 overloads)] 2262 2263Return the first character. 2264[heading Synopsis] 2265``` 2266constexpr const_reference 2267front() const; 2268``` 2269 2270[heading Description] 2271Returns a reference to the first character. 2272 2273[heading Complexity] 2274 2275Constant. 2276 2277[heading Precondition] 2278 2279not [link static_string.ref.boost__static_strings__basic_static_string.empty `empty()`] 2280 2281[endsect] 2282 2283 2284[endsect] 2285 2286[section:back basic_static_string::back] 2287[indexterm2 back..basic_static_string] 2288 2289 2290Return the last character. 2291``` 2292constexpr reference 2293``[link static_string.ref.boost__static_strings__basic_static_string.back.overload1 back]``(); 2294 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.back.overload1 `more...`]]`` 2295 2296constexpr const_reference 2297``[link static_string.ref.boost__static_strings__basic_static_string.back.overload2 back]``() const; 2298 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.back.overload2 `more...`]]`` 2299``` 2300 2301[section:overload1 basic_static_string::back (1 of 2 overloads)] 2302 2303Return the last character. 2304[heading Synopsis] 2305``` 2306constexpr reference 2307back(); 2308``` 2309 2310[heading Description] 2311Returns a reference to the last character. 2312 2313[heading Complexity] 2314 2315Constant. 2316 2317[heading Precondition] 2318 2319not [link static_string.ref.boost__static_strings__basic_static_string.empty `empty()`] 2320 2321[endsect] 2322 2323[section:overload2 basic_static_string::back (2 of 2 overloads)] 2324 2325Return the last character. 2326[heading Synopsis] 2327``` 2328constexpr const_reference 2329back() const; 2330``` 2331 2332[heading Description] 2333Returns a reference to the last character. 2334 2335[heading Complexity] 2336 2337Constant. 2338 2339[heading Precondition] 2340 2341not [link static_string.ref.boost__static_strings__basic_static_string.empty `empty()`] 2342 2343[endsect] 2344 2345 2346[endsect] 2347 2348[section:data basic_static_string::data] 2349[indexterm2 data..basic_static_string] 2350 2351 2352Return a pointer to the string. 2353``` 2354constexpr pointer 2355``[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 data]``(); 2356 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `more...`]]`` 2357 2358constexpr const_pointer 2359``[link static_string.ref.boost__static_strings__basic_static_string.data.overload2 data]``() const; 2360 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.data.overload2 `more...`]]`` 2361``` 2362 2363[section:overload1 basic_static_string::data (1 of 2 overloads)] 2364 2365Return a pointer to the string. 2366[heading Synopsis] 2367``` 2368constexpr pointer 2369data(); 2370``` 2371 2372[heading Description] 2373Returns a pointer to the underlying array serving as storage. The value returned is such that the range {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]) is always a valid range, even if the container is empty. 2374 2375[heading Complexity] 2376 2377Constant. 2378 2379[heading Remarks] 2380The value returned from this function is never never a null pointer value. 2381 2382[endsect] 2383 2384[section:overload2 basic_static_string::data (2 of 2 overloads)] 2385 2386Return a pointer to the string. 2387[heading Synopsis] 2388``` 2389constexpr const_pointer 2390data() const; 2391``` 2392 2393[heading Description] 2394Returns a pointer to the underlying array serving as storage. The value returned is such that the range {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]) is always a valid range, even if the container is empty. 2395 2396[heading Complexity] 2397 2398Constant. 2399 2400[heading Remarks] 2401The value returned from this function is never never a null pointer value. 2402 2403[endsect] 2404 2405 2406[endsect] 2407 2408[section:c_str basic_static_string::c_str] 2409[indexterm2 c_str..basic_static_string] 2410 2411 2412Return a pointer to the string. 2413[heading Synopsis] 2414``` 2415constexpr const_pointer 2416c_str() const; 2417``` 2418 2419[heading Description] 2420Returns a pointer to the underlying array serving as storage. The value returned is such that the range {[link static_string.ref.boost__static_strings__basic_static_string.c_str `c_str()`], [link static_string.ref.boost__static_strings__basic_static_string.c_str `c_str()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]) is always a valid range, even if the container is empty. 2421 2422[heading Complexity] 2423 2424Constant. 2425 2426[heading Remarks] 2427The value returned from this function is never never a null pointer value. 2428 2429[endsect] 2430 2431[section:operator_string_view_type basic_static_string::operator string_view_type] 2432[indexterm2 operator string_view_type..basic_static_string] 2433 2434 2435Convert to a string view referring to the string. 2436[heading Synopsis] 2437``` 2438constexpr 2439operator string_view_type() const; 2440``` 2441 2442[heading Description] 2443Returns a string view referring to the underlying character string. 2444 2445[heading Complexity] 2446 2447Constant. 2448 2449[endsect] 2450 2451[section:begin basic_static_string::begin] 2452[indexterm2 begin..basic_static_string] 2453 2454 2455Return an iterator to the beginning. 2456``` 2457constexpr iterator 2458``[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 begin]``(); 2459 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `more...`]]`` 2460 2461constexpr const_iterator 2462``[link static_string.ref.boost__static_strings__basic_static_string.begin.overload2 begin]``() const; 2463 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.begin.overload2 `more...`]]`` 2464``` 2465 2466[section:overload1 basic_static_string::begin (1 of 2 overloads)] 2467 2468Return an iterator to the beginning. 2469[heading Synopsis] 2470``` 2471constexpr iterator 2472begin(); 2473``` 2474 2475[heading Description] 2476 2477[endsect] 2478 2479[section:overload2 basic_static_string::begin (2 of 2 overloads)] 2480 2481Return an iterator to the beginning. 2482[heading Synopsis] 2483``` 2484constexpr const_iterator 2485begin() const; 2486``` 2487 2488[heading Description] 2489 2490[endsect] 2491 2492 2493[endsect] 2494 2495[section:cbegin basic_static_string::cbegin] 2496[indexterm2 cbegin..basic_static_string] 2497 2498 2499Return an iterator to the beginning. 2500[heading Synopsis] 2501``` 2502constexpr const_iterator 2503cbegin() const; 2504``` 2505 2506[heading Description] 2507 2508[endsect] 2509 2510[section:end basic_static_string::end] 2511[indexterm2 end..basic_static_string] 2512 2513 2514Return an iterator to the end. 2515``` 2516constexpr iterator 2517``[link static_string.ref.boost__static_strings__basic_static_string.end.overload1 end]``(); 2518 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `more...`]]`` 2519 2520constexpr const_iterator 2521``[link static_string.ref.boost__static_strings__basic_static_string.end.overload2 end]``() const; 2522 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.end.overload2 `more...`]]`` 2523``` 2524 2525[section:overload1 basic_static_string::end (1 of 2 overloads)] 2526 2527Return an iterator to the end. 2528[heading Synopsis] 2529``` 2530constexpr iterator 2531end(); 2532``` 2533 2534[heading Description] 2535 2536[endsect] 2537 2538[section:overload2 basic_static_string::end (2 of 2 overloads)] 2539 2540Return an iterator to the end. 2541[heading Synopsis] 2542``` 2543constexpr const_iterator 2544end() const; 2545``` 2546 2547[heading Description] 2548 2549[endsect] 2550 2551 2552[endsect] 2553 2554[section:cend basic_static_string::cend] 2555[indexterm2 cend..basic_static_string] 2556 2557 2558Return an iterator to the end. 2559[heading Synopsis] 2560``` 2561constexpr const_iterator 2562cend() const; 2563``` 2564 2565[heading Description] 2566 2567[endsect] 2568 2569[section:rbegin basic_static_string::rbegin] 2570[indexterm2 rbegin..basic_static_string] 2571 2572 2573Return a reverse iterator to the beginning. 2574``` 2575constexpr reverse_iterator 2576``[link static_string.ref.boost__static_strings__basic_static_string.rbegin.overload1 rbegin]``(); 2577 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rbegin.overload1 `more...`]]`` 2578 2579constexpr const_reverse_iterator 2580``[link static_string.ref.boost__static_strings__basic_static_string.rbegin.overload2 rbegin]``() const; 2581 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rbegin.overload2 `more...`]]`` 2582``` 2583 2584[section:overload1 basic_static_string::rbegin (1 of 2 overloads)] 2585 2586Return a reverse iterator to the beginning. 2587[heading Synopsis] 2588``` 2589constexpr reverse_iterator 2590rbegin(); 2591``` 2592 2593[heading Description] 2594 2595[endsect] 2596 2597[section:overload2 basic_static_string::rbegin (2 of 2 overloads)] 2598 2599Return a reverse iterator to the beginning. 2600[heading Synopsis] 2601``` 2602constexpr const_reverse_iterator 2603rbegin() const; 2604``` 2605 2606[heading Description] 2607 2608[endsect] 2609 2610 2611[endsect] 2612 2613[section:crbegin basic_static_string::crbegin] 2614[indexterm2 crbegin..basic_static_string] 2615 2616 2617Return a reverse iterator to the beginning. 2618[heading Synopsis] 2619``` 2620constexpr const_reverse_iterator 2621crbegin() const; 2622``` 2623 2624[heading Description] 2625 2626[endsect] 2627 2628[section:rend basic_static_string::rend] 2629[indexterm2 rend..basic_static_string] 2630 2631 2632Return a reverse iterator to the end. 2633``` 2634constexpr reverse_iterator 2635``[link static_string.ref.boost__static_strings__basic_static_string.rend.overload1 rend]``(); 2636 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rend.overload1 `more...`]]`` 2637 2638constexpr const_reverse_iterator 2639``[link static_string.ref.boost__static_strings__basic_static_string.rend.overload2 rend]``() const; 2640 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rend.overload2 `more...`]]`` 2641``` 2642 2643[section:overload1 basic_static_string::rend (1 of 2 overloads)] 2644 2645Return a reverse iterator to the end. 2646[heading Synopsis] 2647``` 2648constexpr reverse_iterator 2649rend(); 2650``` 2651 2652[heading Description] 2653 2654[endsect] 2655 2656[section:overload2 basic_static_string::rend (2 of 2 overloads)] 2657 2658Return a reverse iterator to the end. 2659[heading Synopsis] 2660``` 2661constexpr const_reverse_iterator 2662rend() const; 2663``` 2664 2665[heading Description] 2666 2667[endsect] 2668 2669 2670[endsect] 2671 2672[section:crend basic_static_string::crend] 2673[indexterm2 crend..basic_static_string] 2674 2675 2676Return a reverse iterator to the end. 2677[heading Synopsis] 2678``` 2679constexpr const_reverse_iterator 2680crend() const; 2681``` 2682 2683[heading Description] 2684 2685[endsect] 2686 2687[section:empty basic_static_string::empty] 2688[indexterm2 empty..basic_static_string] 2689 2690 2691Return if the string is empty. 2692[heading Synopsis] 2693``` 2694BOOST_STATIC_STRING_NODISCARD constexpr bool 2695empty() const; 2696``` 2697 2698[heading Description] 2699Returns whether the string contains no characters. 2700 2701[heading Complexity] 2702 2703Constant. 2704 2705[heading Return Value] 2706[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] == 0 2707 2708[endsect] 2709 2710[section:size basic_static_string::size] 2711[indexterm2 size..basic_static_string] 2712 2713 2714Return the size of the string. 2715[heading Synopsis] 2716``` 2717constexpr size_type 2718size() const; 2719``` 2720 2721[heading Description] 2722Returns the number of characters stored in the string, excluding the null terminator. 2723 2724[heading Complexity] 2725 2726Constant. 2727 2728[endsect] 2729 2730[section:length basic_static_string::length] 2731[indexterm2 length..basic_static_string] 2732 2733 2734Return the size of the string. 2735[heading Synopsis] 2736``` 2737constexpr size_type 2738length() const; 2739``` 2740 2741[heading Description] 2742Returns the number of characters stored in the string, excluding the null terminator. 2743 2744[heading Complexity] 2745 2746Constant. 2747 2748[endsect] 2749 2750[section:max_size basic_static_string::max_size] 2751[indexterm2 max_size..basic_static_string] 2752 2753 2754Return the number of characters that can be stored. 2755[heading Synopsis] 2756``` 2757constexpr size_type 2758max_size() const; 2759``` 2760 2761[heading Description] 2762Returns the maximum size of the string, excluding the null terminator. The returned value is always `N`. 2763 2764[heading Complexity] 2765 2766Constant. 2767 2768[endsect] 2769 2770[section:reserve basic_static_string::reserve] 2771[indexterm2 reserve..basic_static_string] 2772 2773 2774Increase the capacity. 2775[heading Synopsis] 2776``` 2777constexpr void 2778reserve( 2779 size_type n); 2780``` 2781 2782[heading Description] 2783This function has no effect. 2784 2785[heading Exceptions] 2786[table [[Type][Thrown On]] 2787 [ 2788 [`std::length_error` 2789 ] 2790 [ 2791n > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 2792 ] 2793 ] 2794] 2795 2796[endsect] 2797 2798[section:capacity basic_static_string::capacity] 2799[indexterm2 capacity..basic_static_string] 2800 2801 2802Return the number of characters that can be stored. 2803[heading Synopsis] 2804``` 2805constexpr size_type 2806capacity() const; 2807``` 2808 2809[heading Description] 2810Returns the maximum size of the string, excluding the null terminator. The returned value is always `N`. 2811 2812[heading Complexity] 2813 2814Constant. 2815 2816[endsect] 2817 2818[section:shrink_to_fit basic_static_string::shrink_to_fit] 2819[indexterm2 shrink_to_fit..basic_static_string] 2820 2821 2822Request the removal of unused capacity. 2823[heading Synopsis] 2824``` 2825constexpr void 2826shrink_to_fit(); 2827``` 2828 2829[heading Description] 2830This function has no effect. 2831 2832[endsect] 2833 2834[section:clear basic_static_string::clear] 2835[indexterm2 clear..basic_static_string] 2836 2837 2838Clear the contents. 2839[heading Synopsis] 2840``` 2841constexpr void 2842clear(); 2843``` 2844 2845[heading Description] 2846Erases all characters from the string. After this call, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] returns zero. 2847 2848[heading Complexity] 2849 2850Linear in [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]. 2851 2852[heading Remarks] 2853All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 2854 2855[endsect] 2856 2857[section:insert basic_static_string::insert] 2858[indexterm2 insert..basic_static_string] 2859 2860 2861Insert into the string. 2862``` 2863constexpr basic_static_string& 2864``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload1 insert]``( 2865 size_type index, 2866 size_type count, 2867 value_type ch); 2868 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload1 `more...`]]`` 2869 2870constexpr basic_static_string& 2871``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload2 insert]``( 2872 size_type index, 2873 const_pointer s); 2874 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload2 `more...`]]`` 2875 2876constexpr basic_static_string& 2877``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload3 insert]``( 2878 size_type index, 2879 const_pointer s, 2880 size_type count); 2881 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload3 `more...`]]`` 2882 2883template< 2884 std::size_t M> 2885constexpr basic_static_string& 2886``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload4 insert]``( 2887 size_type index, 2888 const basic_static_string< M, CharT, Traits >& str); 2889 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload4 `more...`]]`` 2890 2891template< 2892 std::size_t M> 2893constexpr basic_static_string& 2894``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload5 insert]``( 2895 size_type index, 2896 const basic_static_string< M, CharT, Traits >& str, 2897 size_type index_str, 2898 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 2899 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload5 `more...`]]`` 2900 2901constexpr iterator 2902``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload6 insert]``( 2903 const_iterator pos, 2904 value_type ch); 2905 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload6 `more...`]]`` 2906 2907constexpr iterator 2908``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload7 insert]``( 2909 const_iterator pos, 2910 size_type count, 2911 value_type ch); 2912 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload7 `more...`]]`` 2913 2914template< 2915 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 2916constexpr iterator 2917``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload8 insert]``( 2918 const_iterator pos, 2919 InputIterator first, 2920 InputIterator last); 2921 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload8 `more...`]]`` 2922 2923constexpr iterator 2924``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload9 insert]``( 2925 const_iterator pos, 2926 std::initializer_list< value_type > ilist); 2927 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload9 `more...`]]`` 2928 2929template< 2930 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 2931constexpr basic_static_string& 2932``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload10 insert]``( 2933 size_type index, 2934 const T& t); 2935 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload10 `more...`]]`` 2936 2937template< 2938 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 2939constexpr basic_static_string& 2940``[link static_string.ref.boost__static_strings__basic_static_string.insert.overload11 insert]``( 2941 size_type index, 2942 const T& t, 2943 size_type index_str, 2944 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 2945 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.insert.overload11 `more...`]]`` 2946``` 2947 2948[section:overload1 basic_static_string::insert (1 of 11 overloads)] 2949 2950Insert into the string. 2951[heading Synopsis] 2952``` 2953constexpr basic_static_string& 2954insert( 2955 size_type index, 2956 size_type count, 2957 value_type ch); 2958``` 2959 2960[heading Description] 2961Inserts `count` copies of `ch` at the position `index`. 2962 2963[heading Exception Safety] 2964 2965Strong guarantee. 2966 2967[heading Remarks] 2968All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 2969[heading Return Value] 2970`*this` 2971[heading Parameters] 2972[table [[Name][Description]] 2973 [ 2974 [`index` 2975 ] 2976 [ 2977The index to insert at. 2978 ] 2979 ] 2980 [ 2981 [`count` 2982 ] 2983 [ 2984The number of characters to insert. 2985 ] 2986 ] 2987 [ 2988 [`ch` 2989 ] 2990 [ 2991The character to insert. 2992 ] 2993 ] 2994] 2995[heading Exceptions] 2996[table [[Type][Thrown On]] 2997 [ 2998 [`std::length_error` 2999 ] 3000 [ 3001[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3002 ] 3003 ] 3004 [ 3005 [`std::out_of_range` 3006 ] 3007 [ 3008index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3009 ] 3010 ] 3011] 3012 3013[endsect] 3014 3015[section:overload2 basic_static_string::insert (2 of 11 overloads)] 3016 3017Insert into the string. 3018[heading Synopsis] 3019``` 3020constexpr basic_static_string& 3021insert( 3022 size_type index, 3023 const_pointer s); 3024``` 3025 3026[heading Description] 3027Inserts the null-terminated character string pointed to by `s` of length `count` at the position `index` where `count` is `traits_type::length(s)`. 3028 3029[heading Exception Safety] 3030 3031Strong guarantee. 3032 3033[heading Remarks] 3034All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3035[heading Return Value] 3036`*this` 3037[heading Parameters] 3038[table [[Name][Description]] 3039 [ 3040 [`index` 3041 ] 3042 [ 3043The index to insert at. 3044 ] 3045 ] 3046 [ 3047 [`s` 3048 ] 3049 [ 3050The string to insert. 3051 ] 3052 ] 3053] 3054[heading Exceptions] 3055[table [[Type][Thrown On]] 3056 [ 3057 [`std::length_error` 3058 ] 3059 [ 3060[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3061 ] 3062 ] 3063 [ 3064 [`std::out_of_range` 3065 ] 3066 [ 3067index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3068 ] 3069 ] 3070] 3071 3072[endsect] 3073 3074[section:overload3 basic_static_string::insert (3 of 11 overloads)] 3075 3076Insert into the string. 3077[heading Synopsis] 3078``` 3079constexpr basic_static_string& 3080insert( 3081 size_type index, 3082 const_pointer s, 3083 size_type count); 3084``` 3085 3086[heading Description] 3087Inserts `count` characters of the string pointed to by `s` at the position `index`. 3088 3089[heading Exception Safety] 3090 3091Strong guarantee. 3092 3093[heading Remarks] 3094All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3095[heading Return Value] 3096`*this` 3097[heading Parameters] 3098[table [[Name][Description]] 3099 [ 3100 [`index` 3101 ] 3102 [ 3103The index to insert at. 3104 ] 3105 ] 3106 [ 3107 [`s` 3108 ] 3109 [ 3110The string to insert. 3111 ] 3112 ] 3113 [ 3114 [`count` 3115 ] 3116 [ 3117The length of the string to insert. 3118 ] 3119 ] 3120] 3121[heading Exceptions] 3122[table [[Type][Thrown On]] 3123 [ 3124 [`std::length_error` 3125 ] 3126 [ 3127[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3128 ] 3129 ] 3130 [ 3131 [`std::out_of_range` 3132 ] 3133 [ 3134index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3135 ] 3136 ] 3137] 3138 3139[endsect] 3140 3141[section:overload4 basic_static_string::insert (4 of 11 overloads)] 3142 3143Insert into the string. 3144[heading Synopsis] 3145``` 3146template< 3147 std::size_t M> 3148constexpr basic_static_string& 3149insert( 3150 size_type index, 3151 const basic_static_string< M, CharT, Traits >& str); 3152``` 3153 3154[heading Description] 3155Inserts the string `str` at the position `index`. 3156 3157[heading Exception Safety] 3158 3159Strong guarantee. 3160 3161[heading Remarks] 3162The insertion is done unchecked when the capacity of `str` differs from that of the string the function is called on. 3163[heading Remarks] 3164All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3165[heading Template Parameters] 3166[table [[Type][Description]] 3167 [ 3168 [`M` 3169 ] 3170 [ 3171The size of the input string. 3172 ] 3173 ] 3174] 3175[heading Return Value] 3176`*this` 3177[heading Parameters] 3178[table [[Name][Description]] 3179 [ 3180 [`index` 3181 ] 3182 [ 3183The index to insert at. 3184 ] 3185 ] 3186 [ 3187 [`str` 3188 ] 3189 [ 3190The string to insert. 3191 ] 3192 ] 3193] 3194[heading Exceptions] 3195[table [[Type][Thrown On]] 3196 [ 3197 [`std::length_error` 3198 ] 3199 [ 3200[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + str.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3201 ] 3202 ] 3203 [ 3204 [`std::out_of_range` 3205 ] 3206 [ 3207index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3208 ] 3209 ] 3210] 3211 3212[endsect] 3213 3214[section:overload5 basic_static_string::insert (5 of 11 overloads)] 3215 3216Insert into the string. 3217[heading Synopsis] 3218``` 3219template< 3220 std::size_t M> 3221constexpr basic_static_string& 3222insert( 3223 size_type index, 3224 const basic_static_string< M, CharT, Traits >& str, 3225 size_type index_str, 3226 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 3227``` 3228 3229[heading Description] 3230Inserts a string, obtained by `str.substr(index_str, count)` at the position `index`. 3231 3232[heading Exception Safety] 3233 3234Strong guarantee. 3235 3236[heading Remarks] 3237The insertion is done unchecked when the capacity of `str` differs from that of the string the function is called on. 3238[heading Remarks] 3239All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3240[heading Template Parameters] 3241[table [[Type][Description]] 3242 [ 3243 [`M` 3244 ] 3245 [ 3246The size of the input string. 3247 ] 3248 ] 3249] 3250[heading Return Value] 3251`*this` 3252[heading Parameters] 3253[table [[Name][Description]] 3254 [ 3255 [`index` 3256 ] 3257 [ 3258The index to insert at. 3259 ] 3260 ] 3261 [ 3262 [`str` 3263 ] 3264 [ 3265The string from which to insert. 3266 ] 3267 ] 3268 [ 3269 [`index_str` 3270 ] 3271 [ 3272The index in `str` to start inserting from. 3273 ] 3274 ] 3275 [ 3276 [`count` 3277 ] 3278 [ 3279The number of characters to insert. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 3280 ] 3281 ] 3282] 3283[heading Exceptions] 3284[table [[Type][Thrown On]] 3285 [ 3286 [`std::length_error` 3287 ] 3288 [ 3289[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + str.substr(index_str, count).[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3290 ] 3291 ] 3292 [ 3293 [`std::out_of_range` 3294 ] 3295 [ 3296index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3297 ] 3298 ] 3299 [ 3300 [`std::out_of_range` 3301 ] 3302 [ 3303`index_str > str.size()` 3304 ] 3305 ] 3306] 3307 3308[endsect] 3309 3310[section:overload6 basic_static_string::insert (6 of 11 overloads)] 3311 3312Insert into the string. 3313[heading Synopsis] 3314``` 3315constexpr iterator 3316insert( 3317 const_iterator pos, 3318 value_type ch); 3319``` 3320 3321[heading Description] 3322Inserts the character `ch` before the character pointed by `pos`. 3323 3324[heading Precondition] 3325 3326`pos`shall be vaild within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3327 3328[heading Exception Safety] 3329 3330Strong guarantee. 3331 3332[heading Remarks] 3333All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3334[heading Return Value] 3335An iterator which refers to the first inserted character or `pos` if no characters were inserted 3336[heading Parameters] 3337[table [[Name][Description]] 3338 [ 3339 [`pos` 3340 ] 3341 [ 3342The index to insert at. 3343 ] 3344 ] 3345 [ 3346 [`ch` 3347 ] 3348 [ 3349The character to insert. 3350 ] 3351 ] 3352] 3353[heading Exceptions] 3354[table [[Type][Thrown On]] 3355 [ 3356 [`std::length_error` 3357 ] 3358 [ 3359[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + 1 > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3360 ] 3361 ] 3362] 3363 3364[endsect] 3365 3366[section:overload7 basic_static_string::insert (7 of 11 overloads)] 3367 3368Insert into the string. 3369[heading Synopsis] 3370``` 3371constexpr iterator 3372insert( 3373 const_iterator pos, 3374 size_type count, 3375 value_type ch); 3376``` 3377 3378[heading Description] 3379Inserts `count` copies of `ch` before the character pointed by `pos`. 3380 3381[heading Precondition] 3382 3383`pos`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3384 3385[heading Exception Safety] 3386 3387Strong guarantee. 3388 3389[heading Remarks] 3390All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3391[heading Return Value] 3392An iterator which refers to the first inserted character or `pos` if no characters were inserted 3393[heading Parameters] 3394[table [[Name][Description]] 3395 [ 3396 [`pos` 3397 ] 3398 [ 3399The position to insert at. 3400 ] 3401 ] 3402 [ 3403 [`count` 3404 ] 3405 [ 3406The number of characters to insert. 3407 ] 3408 ] 3409 [ 3410 [`ch` 3411 ] 3412 [ 3413The character to insert. 3414 ] 3415 ] 3416] 3417[heading Exceptions] 3418[table [[Type][Thrown On]] 3419 [ 3420 [`std::length_error` 3421 ] 3422 [ 3423[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3424 ] 3425 ] 3426] 3427 3428[endsect] 3429 3430[section:overload8 basic_static_string::insert (8 of 11 overloads)] 3431 3432Insert into the string. 3433[heading Synopsis] 3434``` 3435template< 3436 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 3437constexpr iterator 3438insert( 3439 const_iterator pos, 3440 InputIterator first, 3441 InputIterator last); 3442``` 3443 3444[heading Description] 3445Inserts characters from the range `{first, last)` before the character pointed to by `pos`. 3446 3447[heading Precondition] 3448 3449`pos`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]}, 3450`{first, last)` shall be a valid range 3451 3452[heading Exception Safety] 3453 3454Strong guarantee. 3455 3456[heading Remarks] 3457All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3458[heading Template Parameters] 3459[table [[Type][Description]] 3460 [ 3461 [`InputIterator` 3462 ] 3463 [ 3464The type of the iterators. 3465 ] 3466 ] 3467] 3468[heading Constraints] 3469 3470`InputIterator`satisfies [*InputIterator] and does not satisfy [*ForwardIterator]. 3471 3472[heading Return Value] 3473An iterator which refers to the first inserted character or `pos` if no characters were inserted 3474[heading Parameters] 3475[table [[Name][Description]] 3476 [ 3477 [`pos` 3478 ] 3479 [ 3480The position to insert at. 3481 ] 3482 ] 3483 [ 3484 [`first` 3485 ] 3486 [ 3487An iterator representing the first character to insert. 3488 ] 3489 ] 3490 [ 3491 [`last` 3492 ] 3493 [ 3494An iterator representing one past the last character to insert. 3495 ] 3496 ] 3497] 3498[heading Exceptions] 3499[table [[Type][Thrown On]] 3500 [ 3501 [`std::length_error` 3502 ] 3503 [ 3504[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + insert_count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3505 ] 3506 ] 3507] 3508 3509[endsect] 3510 3511[section:overload9 basic_static_string::insert (9 of 11 overloads)] 3512 3513Insert into the string. 3514[heading Synopsis] 3515``` 3516constexpr iterator 3517insert( 3518 const_iterator pos, 3519 std::initializer_list< value_type > ilist); 3520``` 3521 3522[heading Description] 3523Inserts characters from `ilist` before `pos`. 3524 3525[heading Precondition] 3526 3527`pos`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3528 3529[heading Exception Safety] 3530 3531Strong guarantee. 3532 3533[heading Remarks] 3534All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3535[heading Return Value] 3536An iterator which refers to the first inserted character or `pos` if no characters were inserted 3537[heading Parameters] 3538[table [[Name][Description]] 3539 [ 3540 [`pos` 3541 ] 3542 [ 3543The position to insert at. 3544 ] 3545 ] 3546 [ 3547 [`ilist` 3548 ] 3549 [ 3550The initializer list from which to insert. 3551 ] 3552 ] 3553] 3554[heading Exceptions] 3555[table [[Type][Thrown On]] 3556 [ 3557 [`std::length_error` 3558 ] 3559 [ 3560[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + ilist.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3561 ] 3562 ] 3563] 3564 3565[endsect] 3566 3567[section:overload10 basic_static_string::insert (10 of 11 overloads)] 3568 3569Insert into the string. 3570[heading Synopsis] 3571``` 3572template< 3573 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 3574constexpr basic_static_string& 3575insert( 3576 size_type index, 3577 const T& t); 3578``` 3579 3580[heading Description] 3581Constructs a temporary `string_view_type` object `sv` from `t` and inserts `{sv.begin(), sv.end())` at `index`. 3582 3583[heading Precondition] 3584 3585`index`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3586 3587[heading Exception Safety] 3588 3589Strong guarantee. 3590 3591[heading Remarks] 3592All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3593[heading Return Value] 3594`*this` 3595[heading Template Parameters] 3596[table [[Type][Description]] 3597 [ 3598 [`T` 3599 ] 3600 [ 3601The type of the object to convert. 3602 ] 3603 ] 3604] 3605[heading Constraints] 3606 3607`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 3608 3609[heading Parameters] 3610[table [[Name][Description]] 3611 [ 3612 [`index` 3613 ] 3614 [ 3615The index to insert at. 3616 ] 3617 ] 3618 [ 3619 [`t` 3620 ] 3621 [ 3622The string to insert from. 3623 ] 3624 ] 3625] 3626[heading Exceptions] 3627[table [[Type][Thrown On]] 3628 [ 3629 [`std::length_error` 3630 ] 3631 [ 3632[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3633 ] 3634 ] 3635 [ 3636 [`std::out_of_range` 3637 ] 3638 [ 3639index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3640 ] 3641 ] 3642] 3643 3644[endsect] 3645 3646[section:overload11 basic_static_string::insert (11 of 11 overloads)] 3647 3648Insert into the string. 3649[heading Synopsis] 3650``` 3651template< 3652 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 3653constexpr basic_static_string& 3654insert( 3655 size_type index, 3656 const T& t, 3657 size_type index_str, 3658 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 3659``` 3660 3661[heading Description] 3662Constructs a temporary `string_view_type` object `sv` from `t` and inserts `sv.substr(index_str, count)` at `index`. 3663 3664[heading Exception Safety] 3665 3666Strong guarantee. 3667 3668[heading Remarks] 3669All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3670[heading Template Parameters] 3671[table [[Type][Description]] 3672 [ 3673 [`T` 3674 ] 3675 [ 3676The type of the object to convert. 3677 ] 3678 ] 3679] 3680[heading Constraints] 3681 3682`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const_pointer>::value`. 3683 3684[heading Return Value] 3685`*this` 3686[heading Parameters] 3687[table [[Name][Description]] 3688 [ 3689 [`index` 3690 ] 3691 [ 3692The index to insert at. 3693 ] 3694 ] 3695 [ 3696 [`t` 3697 ] 3698 [ 3699The string to insert from. 3700 ] 3701 ] 3702 [ 3703 [`index_str` 3704 ] 3705 [ 3706The index in the temporary `string_view_type` object to start the substring from. 3707 ] 3708 ] 3709 [ 3710 [`count` 3711 ] 3712 [ 3713The number of characters to insert. 3714 ] 3715 ] 3716] 3717[heading Exceptions] 3718[table [[Type][Thrown On]] 3719 [ 3720 [`std::length_error` 3721 ] 3722 [ 3723[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3724 ] 3725 ] 3726 [ 3727 [`std::out_of_range` 3728 ] 3729 [ 3730index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3731 ] 3732 ] 3733 [ 3734 [`std::out_of_range` 3735 ] 3736 [ 3737`index_str > sv.size()` 3738 ] 3739 ] 3740] 3741 3742[endsect] 3743 3744 3745[endsect] 3746 3747[section:erase basic_static_string::erase] 3748[indexterm2 erase..basic_static_string] 3749 3750 3751Erase from the string. 3752``` 3753constexpr basic_static_string& 3754``[link static_string.ref.boost__static_strings__basic_static_string.erase.overload1 erase]``( 3755 size_type index = 0, 3756 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 3757 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.erase.overload1 `more...`]]`` 3758 3759constexpr iterator 3760``[link static_string.ref.boost__static_strings__basic_static_string.erase.overload2 erase]``( 3761 const_iterator pos); 3762 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.erase.overload2 `more...`]]`` 3763 3764constexpr iterator 3765``[link static_string.ref.boost__static_strings__basic_static_string.erase.overload3 erase]``( 3766 const_iterator first, 3767 const_iterator last); 3768 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.erase.overload3 `more...`]]`` 3769``` 3770 3771[section:overload1 basic_static_string::erase (1 of 3 overloads)] 3772 3773Erase from the string. 3774[heading Synopsis] 3775``` 3776constexpr basic_static_string& 3777erase( 3778 size_type index = 0, 3779 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 3780``` 3781 3782[heading Description] 3783Erases `num` characters from the string, starting at `index`. `num` is determined as the smaller of `count` and [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - index. 3784 3785[heading Exception Safety] 3786 3787Strong guarantee. 3788 3789[heading Remarks] 3790All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3791[heading Return Value] 3792`*this` 3793[heading Parameters] 3794[table [[Name][Description]] 3795 [ 3796 [`index` 3797 ] 3798 [ 3799The index to erase at. The default argument for this parameter is `0`. 3800 ] 3801 ] 3802 [ 3803 [`count` 3804 ] 3805 [ 3806The number of characters to erase. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 3807 ] 3808 ] 3809] 3810[heading Exceptions] 3811[table [[Type][Thrown On]] 3812 [ 3813 [`std::out_of_range` 3814 ] 3815 [ 3816index > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 3817 ] 3818 ] 3819] 3820 3821[endsect] 3822 3823[section:overload2 basic_static_string::erase (2 of 3 overloads)] 3824 3825Erase from the string. 3826[heading Synopsis] 3827``` 3828constexpr iterator 3829erase( 3830 const_iterator pos); 3831``` 3832 3833[heading Description] 3834Erases the character at `pos`. 3835 3836[heading Preconditions] 3837 3838`pos`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3839 3840[heading Exception Safety] 3841 3842Strong guarantee. 3843 3844[heading Remarks] 3845All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3846[heading Return Value] 3847An iterator referring to character immediately following the erased character, or [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`] if one does not exist. 3848[heading Parameters] 3849[table [[Name][Description]] 3850 [ 3851 [`pos` 3852 ] 3853 [ 3854An iterator referring to the character to erase. 3855 ] 3856 ] 3857] 3858 3859[endsect] 3860 3861[section:overload3 basic_static_string::erase (3 of 3 overloads)] 3862 3863Erase from the string. 3864[heading Synopsis] 3865``` 3866constexpr iterator 3867erase( 3868 const_iterator first, 3869 const_iterator last); 3870``` 3871 3872[heading Description] 3873Erases the characters in the range `{first, last)`. 3874 3875[heading Precondition] 3876 3877`{first, last}`shall be valid within {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], [link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + [link static_string.ref.boost__static_strings__basic_static_string.size `size()`]} 3878 3879[heading Exception Safety] 3880 3881Strong guarantee. 3882 3883[heading Remarks] 3884All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 3885[heading Return Value] 3886An iterator referring to the character `last` previously referred to, or [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`] if one does not exist. 3887[heading Parameters] 3888[table [[Name][Description]] 3889 [ 3890 [`first` 3891 ] 3892 [ 3893An iterator referring to the first character to erase. 3894 ] 3895 ] 3896 [ 3897 [`last` 3898 ] 3899 [ 3900An iterator past the last character to erase. 3901 ] 3902 ] 3903] 3904 3905[endsect] 3906 3907 3908[endsect] 3909 3910[section:push_back basic_static_string::push_back] 3911[indexterm2 push_back..basic_static_string] 3912 3913 3914Append a character. 3915[heading Synopsis] 3916``` 3917constexpr void 3918push_back( 3919 value_type ch); 3920``` 3921 3922[heading Description] 3923Appends a character to the end of the string. 3924 3925[heading Exception Safety] 3926 3927Strong guarantee. 3928 3929[heading Parameters] 3930[table [[Name][Description]] 3931 [ 3932 [`ch` 3933 ] 3934 [ 3935The character to append. 3936 ] 3937 ] 3938] 3939[heading Exceptions] 3940[table [[Type][Thrown On]] 3941 [ 3942 [`std::length_error` 3943 ] 3944 [ 3945[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] >= [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 3946 ] 3947 ] 3948] 3949 3950[endsect] 3951 3952[section:pop_back basic_static_string::pop_back] 3953[indexterm2 pop_back..basic_static_string] 3954 3955 3956Remove the last character. 3957[heading Synopsis] 3958``` 3959constexpr void 3960pop_back(); 3961``` 3962 3963[heading Description] 3964Removes a character from the end of the string. 3965 3966[heading Precondition] 3967 3968not [link static_string.ref.boost__static_strings__basic_static_string.empty `empty()`] 3969 3970[endsect] 3971 3972[section:append basic_static_string::append] 3973[indexterm2 append..basic_static_string] 3974 3975 3976Append to the string. 3977``` 3978constexpr basic_static_string& 3979``[link static_string.ref.boost__static_strings__basic_static_string.append.overload1 append]``( 3980 size_type count, 3981 value_type ch); 3982 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload1 `more...`]]`` 3983 3984template< 3985 std::size_t M> 3986constexpr basic_static_string& 3987``[link static_string.ref.boost__static_strings__basic_static_string.append.overload2 append]``( 3988 const basic_static_string< M, CharT, Traits >& s); 3989 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload2 `more...`]]`` 3990 3991template< 3992 std::size_t M> 3993constexpr basic_static_string& 3994``[link static_string.ref.boost__static_strings__basic_static_string.append.overload3 append]``( 3995 const basic_static_string< M, CharT, Traits >& s, 3996 size_type pos, 3997 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 3998 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload3 `more...`]]`` 3999 4000constexpr basic_static_string& 4001``[link static_string.ref.boost__static_strings__basic_static_string.append.overload4 append]``( 4002 const_pointer s, 4003 size_type count); 4004 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload4 `more...`]]`` 4005 4006constexpr basic_static_string& 4007``[link static_string.ref.boost__static_strings__basic_static_string.append.overload5 append]``( 4008 const_pointer s); 4009 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload5 `more...`]]`` 4010 4011template< 4012 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4013constexpr basic_static_string& 4014``[link static_string.ref.boost__static_strings__basic_static_string.append.overload6 append]``( 4015 InputIterator first, 4016 InputIterator last); 4017 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload6 `more...`]]`` 4018 4019constexpr basic_static_string& 4020``[link static_string.ref.boost__static_strings__basic_static_string.append.overload7 append]``( 4021 std::initializer_list< value_type > ilist); 4022 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload7 `more...`]]`` 4023 4024template< 4025 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4026constexpr basic_static_string& 4027``[link static_string.ref.boost__static_strings__basic_static_string.append.overload8 append]``( 4028 const T& t); 4029 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload8 `more...`]]`` 4030 4031template< 4032 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4033constexpr basic_static_string& 4034``[link static_string.ref.boost__static_strings__basic_static_string.append.overload9 append]``( 4035 const T& t, 4036 size_type pos, 4037 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 4038 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.append.overload9 `more...`]]`` 4039``` 4040 4041[section:overload1 basic_static_string::append (1 of 9 overloads)] 4042 4043Append to the string. 4044[heading Synopsis] 4045``` 4046constexpr basic_static_string& 4047append( 4048 size_type count, 4049 value_type ch); 4050``` 4051 4052[heading Description] 4053Appends `count` copies of `ch` to the end of the string. 4054 4055[heading Exception Safety] 4056 4057Strong guarantee. 4058 4059[heading Return Value] 4060`*this` 4061[heading Parameters] 4062[table [[Name][Description]] 4063 [ 4064 [`count` 4065 ] 4066 [ 4067The number of characters to append. 4068 ] 4069 ] 4070 [ 4071 [`ch` 4072 ] 4073 [ 4074The character to append. 4075 ] 4076 ] 4077] 4078[heading Exceptions] 4079[table [[Type][Thrown On]] 4080 [ 4081 [`std::length_error` 4082 ] 4083 [ 4084[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4085 ] 4086 ] 4087] 4088 4089[endsect] 4090 4091[section:overload2 basic_static_string::append (2 of 9 overloads)] 4092 4093Append to the string. 4094[heading Synopsis] 4095``` 4096template< 4097 std::size_t M> 4098constexpr basic_static_string& 4099append( 4100 const basic_static_string< M, CharT, Traits >& s); 4101``` 4102 4103[heading Description] 4104Appends `s` to the end of the string. 4105 4106[heading Exception Safety] 4107 4108Strong guarantee. 4109 4110[heading Template Parameters] 4111[table [[Type][Description]] 4112 [ 4113 [`M` 4114 ] 4115 [ 4116The size of the string to append. 4117 ] 4118 ] 4119] 4120[heading Return Value] 4121`*this` 4122[heading Parameters] 4123[table [[Name][Description]] 4124 [ 4125 [`s` 4126 ] 4127 [ 4128The string to append. 4129 ] 4130 ] 4131] 4132[heading Exceptions] 4133[table [[Type][Thrown On]] 4134 [ 4135 [`std::length_error` 4136 ] 4137 [ 4138[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + s.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4139 ] 4140 ] 4141] 4142 4143[endsect] 4144 4145[section:overload3 basic_static_string::append (3 of 9 overloads)] 4146 4147Append to the string. 4148[heading Synopsis] 4149``` 4150template< 4151 std::size_t M> 4152constexpr basic_static_string& 4153append( 4154 const basic_static_string< M, CharT, Traits >& s, 4155 size_type pos, 4156 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 4157``` 4158 4159[heading Description] 4160Appends the substring `sub` to the end of the string, where `sub` is `s.substr(pos, count)`. 4161 4162[heading Exception Safety] 4163 4164Strong guarantee. 4165 4166[heading Template Parameters] 4167[table [[Type][Description]] 4168 [ 4169 [`M` 4170 ] 4171 [ 4172The size of the string to append. 4173 ] 4174 ] 4175] 4176[heading Return Value] 4177`*this` 4178[heading Parameters] 4179[table [[Name][Description]] 4180 [ 4181 [`s` 4182 ] 4183 [ 4184The string to append. 4185 ] 4186 ] 4187 [ 4188 [`pos` 4189 ] 4190 [ 4191The index at which to begin the substring. 4192 ] 4193 ] 4194 [ 4195 [`count` 4196 ] 4197 [ 4198The size of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 4199 ] 4200 ] 4201] 4202[heading Exceptions] 4203[table [[Type][Thrown On]] 4204 [ 4205 [`std::length_error` 4206 ] 4207 [ 4208[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sub.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4209 ] 4210 ] 4211 [ 4212 [`std::out_of_range` 4213 ] 4214 [ 4215`pos > s.size()` 4216 ] 4217 ] 4218] 4219 4220[endsect] 4221 4222[section:overload4 basic_static_string::append (4 of 9 overloads)] 4223 4224Append to the string. 4225[heading Synopsis] 4226``` 4227constexpr basic_static_string& 4228append( 4229 const_pointer s, 4230 size_type count); 4231``` 4232 4233[heading Description] 4234Appends `count` characters from the string pointed to by `s` to the end of the string. 4235 4236[heading Exception Safety] 4237 4238Strong guarantee. 4239 4240[heading Remarks] 4241The string can contain null characters. 4242[heading Return Value] 4243`*this` 4244[heading Parameters] 4245[table [[Name][Description]] 4246 [ 4247 [`s` 4248 ] 4249 [ 4250The string to append. 4251 ] 4252 ] 4253 [ 4254 [`count` 4255 ] 4256 [ 4257The number of characters to append. 4258 ] 4259 ] 4260] 4261[heading Exceptions] 4262[table [[Type][Thrown On]] 4263 [ 4264 [`std::length_error` 4265 ] 4266 [ 4267[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4268 ] 4269 ] 4270] 4271 4272[endsect] 4273 4274[section:overload5 basic_static_string::append (5 of 9 overloads)] 4275 4276Append to the string. 4277[heading Synopsis] 4278``` 4279constexpr basic_static_string& 4280append( 4281 const_pointer s); 4282``` 4283 4284[heading Description] 4285Appends `count` characters from the string pointed to by `s` to the end of the string, where `count` is `traits_type::length(s)`. 4286 4287[heading Exception Safety] 4288 4289Strong guarantee. 4290 4291[heading Return Value] 4292`*this` 4293[heading Parameters] 4294[table [[Name][Description]] 4295 [ 4296 [`s` 4297 ] 4298 [ 4299The string to append. 4300 ] 4301 ] 4302] 4303[heading Exceptions] 4304[table [[Type][Thrown On]] 4305 [ 4306 [`std::length_error` 4307 ] 4308 [ 4309[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4310 ] 4311 ] 4312] 4313 4314[endsect] 4315 4316[section:overload6 basic_static_string::append (6 of 9 overloads)] 4317 4318Append to the string. 4319[heading Synopsis] 4320``` 4321template< 4322 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4323constexpr basic_static_string& 4324append( 4325 InputIterator first, 4326 InputIterator last); 4327``` 4328 4329[heading Description] 4330Appends characters from the range `{first, last)` to the end of the string. 4331 4332[heading Precondition] 4333 4334`{first, last)`shall be a valid range 4335 4336[heading Exception Safety] 4337 4338Strong guarantee. 4339 4340[heading Template Parameters] 4341[table [[Type][Description]] 4342 [ 4343 [`InputIterator` 4344 ] 4345 [ 4346The type of the iterators. 4347 ] 4348 ] 4349] 4350[heading Constraints] 4351 4352`InputIterator`satisfies [*InputIterator]. 4353 4354[heading Return Value] 4355`*this` 4356[heading Parameters] 4357[table [[Name][Description]] 4358 [ 4359 [`first` 4360 ] 4361 [ 4362An iterator referring to the first character to append. 4363 ] 4364 ] 4365 [ 4366 [`last` 4367 ] 4368 [ 4369An iterator past the end of last character to append. 4370 ] 4371 ] 4372] 4373[heading Exceptions] 4374[table [[Type][Thrown On]] 4375 [ 4376 [`std::length_error` 4377 ] 4378 [ 4379[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + std::distance(first, last) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4380 ] 4381 ] 4382] 4383 4384[endsect] 4385 4386[section:overload7 basic_static_string::append (7 of 9 overloads)] 4387 4388Append to the string. 4389[heading Synopsis] 4390``` 4391constexpr basic_static_string& 4392append( 4393 std::initializer_list< value_type > ilist); 4394``` 4395 4396[heading Description] 4397Appends the characters from `ilist` to the end of the string. 4398 4399[heading Exception Safety] 4400 4401Strong guarantee. 4402 4403[heading Return Value] 4404`*this` 4405[heading Parameters] 4406[table [[Name][Description]] 4407 [ 4408 [`ilist` 4409 ] 4410 [ 4411The initializer list to append. 4412 ] 4413 ] 4414] 4415[heading Exceptions] 4416[table [[Type][Thrown On]] 4417 [ 4418 [`std::length_error` 4419 ] 4420 [ 4421[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + ilist.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4422 ] 4423 ] 4424] 4425 4426[endsect] 4427 4428[section:overload8 basic_static_string::append (8 of 9 overloads)] 4429 4430Append to the string. 4431[heading Synopsis] 4432``` 4433template< 4434 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4435constexpr basic_static_string& 4436append( 4437 const T& t); 4438``` 4439 4440[heading Description] 4441Appends `sv` to the end of the string, where `sv` is `string_view_type(t)`. 4442 4443[heading Exception Safety] 4444 4445Strong guarantee. 4446 4447[heading Template Parameters] 4448[table [[Type][Description]] 4449 [ 4450 [`T` 4451 ] 4452 [ 4453The type of the object to convert. 4454 ] 4455 ] 4456] 4457[heading Constraints] 4458 4459``` 4460std::is_convertible<T const&, string_view>::value && 4461!std::is_convertible<T const&, char const*>::value 4462``` 4463 4464 4465[heading Return Value] 4466`*this` 4467[heading Parameters] 4468[table [[Name][Description]] 4469 [ 4470 [`t` 4471 ] 4472 [ 4473The string to append. 4474 ] 4475 ] 4476] 4477[heading Exceptions] 4478[table [[Type][Thrown On]] 4479 [ 4480 [`std::length_error` 4481 ] 4482 [ 4483[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4484 ] 4485 ] 4486] 4487 4488[endsect] 4489 4490[section:overload9 basic_static_string::append (9 of 9 overloads)] 4491 4492Append to the string. 4493[heading Synopsis] 4494``` 4495template< 4496 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4497constexpr basic_static_string& 4498append( 4499 const T& t, 4500 size_type pos, 4501 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 4502``` 4503 4504[heading Description] 4505Appends the substring `sv` to the end of the string, where `sv` is `string_view_type(t).substr(pos, count)`. 4506 4507[heading Exception Safety] 4508 4509Strong guarantee. 4510 4511[heading Template Parameters] 4512[table [[Type][Description]] 4513 [ 4514 [`T` 4515 ] 4516 [ 4517The type of the object to convert. 4518 ] 4519 ] 4520] 4521[heading Constraints] 4522 4523``` 4524std::is_convertible<T const&, string_view>::value && 4525!std::is_convertible<T const&, char const*>::value 4526``` 4527 4528 4529[heading Return Value] 4530`*this` 4531[heading Parameters] 4532[table [[Name][Description]] 4533 [ 4534 [`t` 4535 ] 4536 [ 4537The object to append. 4538 ] 4539 ] 4540 [ 4541 [`pos` 4542 ] 4543 [ 4544The index at which to begin the substring. 4545 ] 4546 ] 4547 [ 4548 [`count` 4549 ] 4550 [ 4551The size of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 4552 ] 4553 ] 4554] 4555[heading Exceptions] 4556[table [[Type][Thrown On]] 4557 [ 4558 [`std::length_error` 4559 ] 4560 [ 4561[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4562 ] 4563 ] 4564] 4565 4566[endsect] 4567 4568 4569[endsect] 4570 4571[section:operator_plus__eq_ basic_static_string::operator+=] 4572[indexterm2 operator+=..basic_static_string] 4573 4574 4575Append to the string. 4576``` 4577template< 4578 std::size_t M> 4579constexpr basic_static_string& 4580``[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload1 operator+=]``( 4581 const basic_static_string< M, CharT, Traits >& s); 4582 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload1 `more...`]]`` 4583 4584constexpr basic_static_string& 4585``[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload2 operator+=]``( 4586 value_type ch); 4587 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload2 `more...`]]`` 4588 4589constexpr basic_static_string& 4590``[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload3 operator+=]``( 4591 const_pointer s); 4592 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload3 `more...`]]`` 4593 4594constexpr basic_static_string& 4595``[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload4 operator+=]``( 4596 std::initializer_list< value_type > ilist); 4597 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload4 `more...`]]`` 4598 4599template< 4600 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4601constexpr basic_static_string& 4602``[link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload5 operator+=]``( 4603 const T& t); 4604 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.operator_plus__eq_.overload5 `more...`]]`` 4605``` 4606 4607[section:overload1 basic_static_string::operator+= (1 of 5 overloads)] 4608 4609Append to the string. 4610[heading Synopsis] 4611``` 4612template< 4613 std::size_t M> 4614constexpr basic_static_string& 4615operator+=( 4616 const basic_static_string< M, CharT, Traits >& s); 4617``` 4618 4619[heading Description] 4620Appends `s` to the end of the string. 4621 4622[heading Exception Safety] 4623 4624Strong guarantee. 4625 4626[heading Template Parameters] 4627[table [[Type][Description]] 4628 [ 4629 [`M` 4630 ] 4631 [ 4632The size of the string to append. 4633 ] 4634 ] 4635] 4636[heading Return Value] 4637`*this` 4638[heading Parameters] 4639[table [[Name][Description]] 4640 [ 4641 [`s` 4642 ] 4643 [ 4644The string to append. 4645 ] 4646 ] 4647] 4648[heading Exceptions] 4649[table [[Type][Thrown On]] 4650 [ 4651 [`std::length_error` 4652 ] 4653 [ 4654[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + s.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4655 ] 4656 ] 4657] 4658 4659[endsect] 4660 4661[section:overload2 basic_static_string::operator+= (2 of 5 overloads)] 4662 4663Append to the string. 4664[heading Synopsis] 4665``` 4666constexpr basic_static_string& 4667operator+=( 4668 value_type ch); 4669``` 4670 4671[heading Description] 4672Appends a character to the end of the string. 4673 4674[heading Exception Safety] 4675 4676Strong guarantee. 4677 4678[heading Parameters] 4679[table [[Name][Description]] 4680 [ 4681 [`ch` 4682 ] 4683 [ 4684The character to append. 4685 ] 4686 ] 4687] 4688[heading Exceptions] 4689[table [[Type][Thrown On]] 4690 [ 4691 [`std::length_error` 4692 ] 4693 [ 4694[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] >= [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4695 ] 4696 ] 4697] 4698 4699[endsect] 4700 4701[section:overload3 basic_static_string::operator+= (3 of 5 overloads)] 4702 4703Append to the string. 4704[heading Synopsis] 4705``` 4706constexpr basic_static_string& 4707operator+=( 4708 const_pointer s); 4709``` 4710 4711[heading Description] 4712Appends `count` characters from the string pointed to by `s` to the end of the string, where `count` is `traits_type::length(s)`. 4713 4714[heading Exception Safety] 4715 4716Strong guarantee. 4717 4718[heading Return Value] 4719`*this` 4720[heading Parameters] 4721[table [[Name][Description]] 4722 [ 4723 [`s` 4724 ] 4725 [ 4726The string to append. 4727 ] 4728 ] 4729] 4730[heading Exceptions] 4731[table [[Type][Thrown On]] 4732 [ 4733 [`std::length_error` 4734 ] 4735 [ 4736[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + count > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4737 ] 4738 ] 4739] 4740 4741[endsect] 4742 4743[section:overload4 basic_static_string::operator+= (4 of 5 overloads)] 4744 4745Append to the string. 4746[heading Synopsis] 4747``` 4748constexpr basic_static_string& 4749operator+=( 4750 std::initializer_list< value_type > ilist); 4751``` 4752 4753[heading Description] 4754Appends the characters from `ilist` to the end of the string. 4755 4756[heading Exception Safety] 4757 4758Strong guarantee. 4759 4760[heading Return Value] 4761`*this` 4762[heading Parameters] 4763[table [[Name][Description]] 4764 [ 4765 [`ilist` 4766 ] 4767 [ 4768The initializer list to append. 4769 ] 4770 ] 4771] 4772[heading Exceptions] 4773[table [[Type][Thrown On]] 4774 [ 4775 [`std::length_error` 4776 ] 4777 [ 4778[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + ilist.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4779 ] 4780 ] 4781] 4782 4783[endsect] 4784 4785[section:overload5 basic_static_string::operator+= (5 of 5 overloads)] 4786 4787Append to the string. 4788[heading Synopsis] 4789``` 4790template< 4791 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4792constexpr basic_static_string& 4793operator+=( 4794 const T& t); 4795``` 4796 4797[heading Description] 4798Appends `sv` to the end of the string, where `sv` is `string_view_type(t)`. 4799 4800[heading Exception Safety] 4801 4802Strong guarantee. 4803 4804[heading Template Parameters] 4805[table [[Type][Description]] 4806 [ 4807 [`T` 4808 ] 4809 [ 4810The type of the object to convert. 4811 ] 4812 ] 4813] 4814[heading Constraints] 4815 4816``` 4817std::is_convertible<T const&, string_view>::value && 4818!std::is_convertible<T const&, char const*>::value 4819``` 4820 4821 4822[heading Return Value] 4823`*this` 4824[heading Parameters] 4825[table [[Name][Description]] 4826 [ 4827 [`t` 4828 ] 4829 [ 4830The string to append. 4831 ] 4832 ] 4833] 4834[heading Exceptions] 4835[table [[Type][Thrown On]] 4836 [ 4837 [`std::length_error` 4838 ] 4839 [ 4840[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + sv.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 4841 ] 4842 ] 4843] 4844 4845[endsect] 4846 4847 4848[endsect] 4849 4850[section:compare basic_static_string::compare] 4851[indexterm2 compare..basic_static_string] 4852 4853 4854Compare a string with the string. 4855``` 4856template< 4857 std::size_t M> 4858constexpr int 4859``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload1 compare]``( 4860 const basic_static_string< M, CharT, Traits >& s) const; 4861 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload1 `more...`]]`` 4862 4863template< 4864 std::size_t M> 4865constexpr int 4866``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload2 compare]``( 4867 size_type pos1, 4868 size_type count1, 4869 const basic_static_string< M, CharT, Traits >& s) const; 4870 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload2 `more...`]]`` 4871 4872template< 4873 std::size_t M> 4874constexpr int 4875``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload3 compare]``( 4876 size_type pos1, 4877 size_type count1, 4878 const basic_static_string< M, CharT, Traits >& s, 4879 size_type pos2, 4880 size_type count2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 4881 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload3 `more...`]]`` 4882 4883constexpr int 4884``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload4 compare]``( 4885 const_pointer s) const; 4886 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload4 `more...`]]`` 4887 4888constexpr int 4889``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload5 compare]``( 4890 size_type pos1, 4891 size_type count1, 4892 const_pointer s) const; 4893 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload5 `more...`]]`` 4894 4895constexpr int 4896``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload6 compare]``( 4897 size_type pos1, 4898 size_type count1, 4899 const_pointer s, 4900 size_type count2) const; 4901 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload6 `more...`]]`` 4902 4903template< 4904 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4905constexpr int 4906``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload7 compare]``( 4907 const T& t) const; 4908 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload7 `more...`]]`` 4909 4910template< 4911 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4912constexpr int 4913``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload8 compare]``( 4914 size_type pos1, 4915 size_type count1, 4916 const T& t) const; 4917 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload8 `more...`]]`` 4918 4919template< 4920 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 4921constexpr int 4922``[link static_string.ref.boost__static_strings__basic_static_string.compare.overload9 compare]``( 4923 size_type pos1, 4924 size_type count1, 4925 const T& t, 4926 size_type pos2, 4927 size_type count2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 4928 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.compare.overload9 `more...`]]`` 4929``` 4930 4931[section:overload1 basic_static_string::compare (1 of 9 overloads)] 4932 4933Compare a string with the string. 4934[heading Synopsis] 4935``` 4936template< 4937 std::size_t M> 4938constexpr int 4939compare( 4940 const basic_static_string< M, CharT, Traits >& s) const; 4941``` 4942 4943[heading Description] 4944Let `comp` be traits_type::compare([link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], s.data(), std::min([link static_string.ref.boost__static_strings__basic_static_string.size `size()`], s.size()). If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] == s.size(), `-1` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] < s.size(), and `1` otherwise. 4945 4946[heading Complexity] 4947Linear. 4948[heading Return Value] 4949The result of lexicographically comparing `s` and the string. 4950[heading Template Parameters] 4951[table [[Type][Description]] 4952 [ 4953 [`M` 4954 ] 4955 [ 4956The size of the string to compare with. 4957 ] 4958 ] 4959] 4960[heading Parameters] 4961[table [[Name][Description]] 4962 [ 4963 [`s` 4964 ] 4965 [ 4966The string to compare. 4967 ] 4968 ] 4969] 4970 4971[endsect] 4972 4973[section:overload2 basic_static_string::compare (2 of 9 overloads)] 4974 4975Compare a string with the string. 4976[heading Synopsis] 4977``` 4978template< 4979 std::size_t M> 4980constexpr int 4981compare( 4982 size_type pos1, 4983 size_type count1, 4984 const basic_static_string< M, CharT, Traits >& s) const; 4985``` 4986 4987[heading Description] 4988Let `sub` be `substr(pos1, count1)` and `comp` be `traits_type::compare(sub.data(), s.data(), std::min(sub.size(), s.size())`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub.size() == s.size()`, `-1` if `sub.size() < s.size()`, and `1` otherwise. 4989 4990[heading Complexity] 4991 4992Linear. 4993 4994[heading Exception Safety] 4995 4996Strong guarantee. 4997 4998[heading Return Value] 4999The result of lexicographically comparing `sub` and `s`. 5000[heading Template Parameters] 5001[table [[Type][Description]] 5002 [ 5003 [`M` 5004 ] 5005 [ 5006The size of the string to compare with. 5007 ] 5008 ] 5009] 5010[heading Parameters] 5011[table [[Name][Description]] 5012 [ 5013 [`pos1` 5014 ] 5015 [ 5016The index at which to begin the substring. 5017 ] 5018 ] 5019 [ 5020 [`count1` 5021 ] 5022 [ 5023The size of the substring. 5024 ] 5025 ] 5026 [ 5027 [`s` 5028 ] 5029 [ 5030The string to compare. 5031 ] 5032 ] 5033] 5034[heading Exceptions] 5035[table [[Type][Thrown On]] 5036 [ 5037 [`std::out_of_range` 5038 ] 5039 [ 5040pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5041 ] 5042 ] 5043] 5044 5045[endsect] 5046 5047[section:overload3 basic_static_string::compare (3 of 9 overloads)] 5048 5049Compare a string with the string. 5050[heading Synopsis] 5051``` 5052template< 5053 std::size_t M> 5054constexpr int 5055compare( 5056 size_type pos1, 5057 size_type count1, 5058 const basic_static_string< M, CharT, Traits >& s, 5059 size_type pos2, 5060 size_type count2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 5061``` 5062 5063[heading Description] 5064Let `sub1` be `substr(pos1, count1)`, `sub2` be `s.substr(pos2, count2)`, and `comp` be `traits_type::compare(sub1.data(), sub2.data(), std::min(sub1.size(), sub2.size())`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub1.size() == sub2.size()`, `-1` if `sub1.size() < sub2.size()`, and `1` otherwise. 5065 5066[heading Complexity] 5067 5068Linear. 5069 5070[heading Exception Safety] 5071 5072Strong guarantee. 5073 5074[heading Return Value] 5075The result of lexicographically comparing `sub1` and `sub2`. 5076[heading Parameters] 5077[table [[Name][Description]] 5078 [ 5079 [`pos1` 5080 ] 5081 [ 5082The index at which to begin the substring. 5083 ] 5084 ] 5085 [ 5086 [`count1` 5087 ] 5088 [ 5089The size of the substring. 5090 ] 5091 ] 5092 [ 5093 [`s` 5094 ] 5095 [ 5096The string to compare. 5097 ] 5098 ] 5099 [ 5100 [`pos2` 5101 ] 5102 [ 5103The index at which to begin the substring to compare. 5104 ] 5105 ] 5106 [ 5107 [`count2` 5108 ] 5109 [ 5110The size of the substring to compare. 5111 ] 5112 ] 5113] 5114[heading Exceptions] 5115[table [[Type][Thrown On]] 5116 [ 5117 [`std::out_of_range` 5118 ] 5119 [ 5120pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5121 ] 5122 ] 5123 [ 5124 [`std::out_of_range` 5125 ] 5126 [ 5127`pos2 > s.size()` 5128 ] 5129 ] 5130] 5131 5132[endsect] 5133 5134[section:overload4 basic_static_string::compare (4 of 9 overloads)] 5135 5136Compare a string with the string. 5137[heading Synopsis] 5138``` 5139constexpr int 5140compare( 5141 const_pointer s) const; 5142``` 5143 5144[heading Description] 5145Let `len` be `traits_type::length(s)` and `comp` be traits_type::compare([link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], s, std::min(size(), len). If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] == len, `-1` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] < len, and `1` otherwise. 5146 5147[heading Complexity] 5148 5149Linear. 5150 5151[heading Return Value] 5152The result of lexicographically comparing `s` and the string. 5153[heading Parameters] 5154[table [[Name][Description]] 5155 [ 5156 [`s` 5157 ] 5158 [ 5159The string to compare. 5160 ] 5161 ] 5162] 5163 5164[endsect] 5165 5166[section:overload5 basic_static_string::compare (5 of 9 overloads)] 5167 5168Compare a string with the string. 5169[heading Synopsis] 5170``` 5171constexpr int 5172compare( 5173 size_type pos1, 5174 size_type count1, 5175 const_pointer s) const; 5176``` 5177 5178[heading Description] 5179Let `sub` be `substr(pos1, count1)`, `len` be `traits_type::length(s)`, and `comp` be `traits_type::compare(sub.data(), s, std::min(size(), len)`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub.size() == len`, `-1` if `sub.size() < len`, and `1` otherwise. 5180 5181[heading Complexity] 5182 5183Linear. 5184 5185[heading Exception Safety] 5186 5187Strong guarantee. 5188 5189[heading Return Value] 5190The result of lexicographically comparing `s` and `sub`. 5191[heading Parameters] 5192[table [[Name][Description]] 5193 [ 5194 [`pos1` 5195 ] 5196 [ 5197The index at which to begin the substring. 5198 ] 5199 ] 5200 [ 5201 [`count1` 5202 ] 5203 [ 5204The size of the substring. 5205 ] 5206 ] 5207 [ 5208 [`s` 5209 ] 5210 [ 5211The string to compare. 5212 ] 5213 ] 5214] 5215[heading Exceptions] 5216[table [[Type][Thrown On]] 5217 [ 5218 [`std::out_of_range` 5219 ] 5220 [ 5221pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5222 ] 5223 ] 5224] 5225 5226[endsect] 5227 5228[section:overload6 basic_static_string::compare (6 of 9 overloads)] 5229 5230Compare a string with the string. 5231[heading Synopsis] 5232``` 5233constexpr int 5234compare( 5235 size_type pos1, 5236 size_type count1, 5237 const_pointer s, 5238 size_type count2) const; 5239``` 5240 5241[heading Description] 5242Let `sub` be `substr(pos1, count1)`, and `comp` be `traits_type::compare(sub.data(), s, std::min(size(), count2)`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub.size() == count2`, `-1` if `sub.size() < count2`, and `1` otherwise. 5243 5244[heading Complexity] 5245 5246Linear. 5247 5248[heading Exception Safety] 5249 5250Strong guarantee. 5251 5252[heading Return Value] 5253The result of lexicographically comparing `s` and `sub`. 5254[heading Parameters] 5255[table [[Name][Description]] 5256 [ 5257 [`pos1` 5258 ] 5259 [ 5260The index at which to begin the substring. 5261 ] 5262 ] 5263 [ 5264 [`count1` 5265 ] 5266 [ 5267The size of the substring. 5268 ] 5269 ] 5270 [ 5271 [`s` 5272 ] 5273 [ 5274The string to compare. 5275 ] 5276 ] 5277 [ 5278 [`count2` 5279 ] 5280 [ 5281The length of the string to compare. 5282 ] 5283 ] 5284] 5285[heading Exceptions] 5286[table [[Type][Thrown On]] 5287 [ 5288 [`std::out_of_range` 5289 ] 5290 [ 5291pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5292 ] 5293 ] 5294] 5295 5296[endsect] 5297 5298[section:overload7 basic_static_string::compare (7 of 9 overloads)] 5299 5300Compare a string with the string. 5301[heading Synopsis] 5302``` 5303template< 5304 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5305constexpr int 5306compare( 5307 const T& t) const; 5308``` 5309 5310[heading Description] 5311Let `s` be `string_view_type(t)` and `comp` be traits_type::compare([link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`], s.data(), std::min([link static_string.ref.boost__static_strings__basic_static_string.size `size()`], s.size()). If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] == s.size(), `-1` if [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] < s.size(), and `1` otherwise. 5312 5313[heading Complexity] 5314 5315Linear. 5316 5317[heading Exception Safety] 5318 5319Strong guarantee. 5320 5321[heading Template Parameters] 5322[table [[Type][Description]] 5323 [ 5324 [`T` 5325 ] 5326 [ 5327The type of the object to convert. 5328 ] 5329 ] 5330] 5331[heading Constraints] 5332 5333``` 5334std::is_convertible<const T&, string_view>::value && 5335!std::is_convertible<const T&, const_pointer>::value. 5336``` 5337 5338 5339[heading Return Value] 5340The result of lexicographically comparing `s` and the string. 5341[heading Parameters] 5342[table [[Name][Description]] 5343 [ 5344 [`t` 5345 ] 5346 [ 5347The string to compare. 5348 ] 5349 ] 5350] 5351 5352[endsect] 5353 5354[section:overload8 basic_static_string::compare (8 of 9 overloads)] 5355 5356Compare a string with the string. 5357[heading Synopsis] 5358``` 5359template< 5360 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5361constexpr int 5362compare( 5363 size_type pos1, 5364 size_type count1, 5365 const T& t) const; 5366``` 5367 5368[heading Description] 5369Let `s` be `string_view_type(t)`, `sub` be `substr(pos1, count1)`, and `comp` be `traits_type::compare(sub.data(), s.data(), std::min(sub.size(), s.size())`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub.size() == s.size()`, `-1` if `sub.size() < s.size()`, and `1` otherwise. 5370 5371[heading Complexity] 5372 5373Linear. 5374 5375[heading Exception Safety] 5376 5377Strong guarantee. 5378 5379[heading Template Parameters] 5380[table [[Type][Description]] 5381 [ 5382 [`T` 5383 ] 5384 [ 5385The type of the object to convert. 5386 ] 5387 ] 5388] 5389[heading Constraints] 5390 5391``` 5392std::is_convertible<const T&, string_view>::value && 5393!std::is_convertible<const T&, const_pointer>::value. 5394``` 5395 5396 5397[heading Return Value] 5398The result of lexicographically comparing `s` and `sub`. 5399[heading Parameters] 5400[table [[Name][Description]] 5401 [ 5402 [`pos1` 5403 ] 5404 [ 5405The index at which to begin the substring. 5406 ] 5407 ] 5408 [ 5409 [`count1` 5410 ] 5411 [ 5412The length of the substring. 5413 ] 5414 ] 5415 [ 5416 [`t` 5417 ] 5418 [ 5419The string to compare. 5420 ] 5421 ] 5422] 5423 5424[endsect] 5425 5426[section:overload9 basic_static_string::compare (9 of 9 overloads)] 5427 5428Compare a string with the string. 5429[heading Synopsis] 5430``` 5431template< 5432 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5433constexpr int 5434compare( 5435 size_type pos1, 5436 size_type count1, 5437 const T& t, 5438 size_type pos2, 5439 size_type count2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 5440``` 5441 5442[heading Description] 5443Let `sub1` be `substr(pos1, count1)`, `sub2` be `string_view_type(t).substr(pos2, count2)`, and `comp` be `traits_type::compare(sub1.data(), sub2.data(), std::min(sub1.size(), sub2.size())`. If `comp != 0`, then the result is `comp`. Otherwise, the result is `0` if `sub1.size() == sub2.size()`, `-1` if `sub1.size() < sub2.size()`, and `1` otherwise. 5444 5445[heading Complexity] 5446 5447Linear. 5448 5449[heading Exception Safety] 5450 5451Strong guarantee. 5452 5453[heading Template Parameters] 5454[table [[Type][Description]] 5455 [ 5456 [`T` 5457 ] 5458 [ 5459The type of the object to convert. 5460 ] 5461 ] 5462] 5463[heading Constraints] 5464 5465``` 5466std::is_convertible<const T&, string_view>::value && 5467!std::is_convertible<const T&, const_pointer>::value. 5468``` 5469 5470 5471[heading Return Value] 5472The result of lexicographically comparing `sub1` and `sub2`. 5473[heading Parameters] 5474[table [[Name][Description]] 5475 [ 5476 [`pos1` 5477 ] 5478 [ 5479The index at which to begin the substring in the string. 5480 ] 5481 ] 5482 [ 5483 [`count1` 5484 ] 5485 [ 5486The length of the substring in the string. 5487 ] 5488 ] 5489 [ 5490 [`t` 5491 ] 5492 [ 5493The string to compare. 5494 ] 5495 ] 5496 [ 5497 [`pos2` 5498 ] 5499 [ 5500The index at which to begin the substring in the string view. 5501 ] 5502 ] 5503 [ 5504 [`count2` 5505 ] 5506 [ 5507The length of the substring in the string view. 5508 ] 5509 ] 5510] 5511 5512[endsect] 5513 5514 5515[endsect] 5516 5517[section:substr basic_static_string::substr] 5518[indexterm2 substr..basic_static_string] 5519 5520 5521Return a substring. 5522[heading Synopsis] 5523``` 5524constexpr basic_static_string 5525substr( 5526 size_type pos = 0, 5527 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 5528``` 5529 5530[heading Description] 5531Returns a substring of the string. 5532 5533[heading Exception Safety] 5534 5535Strong guarantee. 5536 5537[heading Return Value] 5538A string object containing the characters {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + pos, std::min(count, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos)). 5539[heading Parameters] 5540[table [[Name][Description]] 5541 [ 5542 [`pos` 5543 ] 5544 [ 5545The index to being the substring at. The default arugment for this parameter is `0`. 5546 ] 5547 ] 5548 [ 5549 [`count` 5550 ] 5551 [ 5552The length of the substring. The default arugment for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 5553 ] 5554 ] 5555] 5556[heading Exceptions] 5557[table [[Type][Thrown On]] 5558 [ 5559 [`std::out_of_range` 5560 ] 5561 [ 5562pos > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5563 ] 5564 ] 5565] 5566 5567[endsect] 5568 5569[section:subview basic_static_string::subview] 5570[indexterm2 subview..basic_static_string] 5571 5572 5573Return a string view of a substring. 5574[heading Synopsis] 5575``` 5576constexpr string_view_type 5577subview( 5578 size_type pos = 0, 5579 size_type count = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 5580``` 5581 5582[heading Description] 5583Returns a view of a substring. 5584 5585[heading Exception Safety] 5586 5587Strong guarantee. 5588 5589[heading Return Value] 5590A `string_view_type` object referring to {[link static_string.ref.boost__static_strings__basic_static_string.data.overload1 `data()`] + pos, std::min(count, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos)). 5591[heading Parameters] 5592[table [[Name][Description]] 5593 [ 5594 [`pos` 5595 ] 5596 [ 5597The index to being the substring at. The default arugment for this parameter is `0`. 5598 ] 5599 ] 5600 [ 5601 [`count` 5602 ] 5603 [ 5604The length of the substring. The default arugment for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 5605 ] 5606 ] 5607] 5608[heading Exceptions] 5609[table [[Type][Thrown On]] 5610 [ 5611 [`std::out_of_range` 5612 ] 5613 [ 5614pos > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 5615 ] 5616 ] 5617] 5618 5619[endsect] 5620 5621[section:copy basic_static_string::copy] 5622[indexterm2 copy..basic_static_string] 5623 5624 5625Copy a substring to another string. 5626[heading Synopsis] 5627``` 5628constexpr size_type 5629copy( 5630 pointer dest, 5631 size_type count, 5632 size_type pos = 0) const; 5633``` 5634 5635[heading Description] 5636Copies std::min(count, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos) characters starting at index `pos` to the string pointed to by `dest`. 5637 5638[heading Remarks] 5639The resulting string is not null terminated. 5640[heading Return Value] 5641The number of characters copied. 5642[heading Parameters] 5643[table [[Name][Description]] 5644 [ 5645 [`count` 5646 ] 5647 [ 5648The number of characters to copy. 5649 ] 5650 ] 5651 [ 5652 [`dest` 5653 ] 5654 [ 5655The string to copy to. 5656 ] 5657 ] 5658 [ 5659 [`pos` 5660 ] 5661 [ 5662The index to begin copying from. The default argument for this parameter is `0`. 5663 ] 5664 ] 5665] 5666[heading Exceptions] 5667[table [[Type][Thrown On]] 5668 [ 5669 [`std::out_of_range` 5670 ] 5671 [ 5672pos > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 5673 ] 5674 ] 5675] 5676 5677[endsect] 5678 5679[section:resize basic_static_string::resize] 5680[indexterm2 resize..basic_static_string] 5681 5682 5683Change the size of the string. 5684``` 5685constexpr void 5686``[link static_string.ref.boost__static_strings__basic_static_string.resize.overload1 resize]``( 5687 size_type n); 5688 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.resize.overload1 `more...`]]`` 5689 5690constexpr void 5691``[link static_string.ref.boost__static_strings__basic_static_string.resize.overload2 resize]``( 5692 size_type n, 5693 value_type c); 5694 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.resize.overload2 `more...`]]`` 5695``` 5696 5697[section:overload1 basic_static_string::resize (1 of 2 overloads)] 5698 5699Change the size of the string. 5700[heading Synopsis] 5701``` 5702constexpr void 5703resize( 5704 size_type n); 5705``` 5706 5707[heading Description] 5708Resizes the string to contain `n` characters. If n > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`], characters with the value `CharT()` are appended. Otherwise, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] is reduced to `n`. 5709 5710[heading Parameters] 5711[table [[Name][Description]] 5712 [ 5713 [`n` 5714 ] 5715 [ 5716The size to resize the string to. 5717 ] 5718 ] 5719] 5720[heading Exceptions] 5721[table [[Type][Thrown On]] 5722 [ 5723 [`std::out_of_range` 5724 ] 5725 [ 5726n > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 5727 ] 5728 ] 5729] 5730 5731[endsect] 5732 5733[section:overload2 basic_static_string::resize (2 of 2 overloads)] 5734 5735Change the size of the string. 5736[heading Synopsis] 5737``` 5738constexpr void 5739resize( 5740 size_type n, 5741 value_type c); 5742``` 5743 5744[heading Description] 5745Resizes the string to contain `n` characters. If n > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`], copies of `c` are appended. Otherwise, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] is reduced to `n`. 5746 5747[heading Parameters] 5748[table [[Name][Description]] 5749 [ 5750 [`n` 5751 ] 5752 [ 5753The size to resize the string to. 5754 ] 5755 ] 5756 [ 5757 [`c` 5758 ] 5759 [ 5760The characters to append if the size increases. 5761 ] 5762 ] 5763] 5764[heading Exceptions] 5765[table [[Type][Thrown On]] 5766 [ 5767 [`std::out_of_range` 5768 ] 5769 [ 5770n > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 5771 ] 5772 ] 5773] 5774 5775[endsect] 5776 5777 5778[endsect] 5779 5780[section:swap basic_static_string::swap] 5781[indexterm2 swap..basic_static_string] 5782 5783 5784Swap two strings. 5785``` 5786constexpr void 5787``[link static_string.ref.boost__static_strings__basic_static_string.swap.overload1 swap]``( 5788 basic_static_string& s); 5789 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.swap.overload1 `more...`]]`` 5790 5791template< 5792 std::size_t M> 5793constexpr void 5794``[link static_string.ref.boost__static_strings__basic_static_string.swap.overload2 swap]``( 5795 basic_static_string< M, CharT, Traits >& s); 5796 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.swap.overload2 `more...`]]`` 5797``` 5798 5799[section:overload1 basic_static_string::swap (1 of 2 overloads)] 5800 5801Swap two strings. 5802[heading Synopsis] 5803``` 5804constexpr void 5805swap( 5806 basic_static_string& s); 5807``` 5808 5809[heading Description] 5810Swaps the contents of the string and `s`. 5811 5812[heading Exception Safety] 5813 5814Strong guarantee. 5815 5816[heading Remarks] 5817 5818All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 5819 5820[heading Parameters] 5821[table [[Name][Description]] 5822 [ 5823 [`s` 5824 ] 5825 [ 5826The string to swap with. 5827 ] 5828 ] 5829] 5830 5831[endsect] 5832 5833[section:overload2 basic_static_string::swap (2 of 2 overloads)] 5834 5835Swap two strings. 5836[heading Synopsis] 5837``` 5838template< 5839 std::size_t M> 5840constexpr void 5841swap( 5842 basic_static_string< M, CharT, Traits >& s); 5843``` 5844 5845[heading Description] 5846Swaps the contents of the string and `s`. 5847 5848[heading Exception Safety] 5849 5850Strong guarantee. 5851 5852[heading Remarks] 5853 5854All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 5855 5856[heading Template Parameters] 5857[table [[Type][Description]] 5858 [ 5859 [`M` 5860 ] 5861 [ 5862The size of the string to swap with. 5863 ] 5864 ] 5865] 5866[heading Parameters] 5867[table [[Name][Description]] 5868 [ 5869 [`s` 5870 ] 5871 [ 5872The string to swap with. 5873 ] 5874 ] 5875] 5876[heading Exceptions] 5877[table [[Type][Thrown On]] 5878 [ 5879 [`std::length_error` 5880 ] 5881 [ 5882s.size() > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] || [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] > s.max_size() 5883 ] 5884 ] 5885] 5886 5887[endsect] 5888 5889 5890[endsect] 5891 5892[section:replace basic_static_string::replace] 5893[indexterm2 replace..basic_static_string] 5894 5895 5896Replace a part of the string. 5897``` 5898template< 5899 size_t M> 5900constexpr basic_static_string& 5901``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload1 replace]``( 5902 size_type pos1, 5903 size_type n1, 5904 const basic_static_string< M, CharT, Traits >& str); 5905 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload1 `more...`]]`` 5906 5907template< 5908 std::size_t M> 5909constexpr basic_static_string& 5910``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload2 replace]``( 5911 size_type pos1, 5912 size_type n1, 5913 const basic_static_string< M, CharT, Traits >& str, 5914 size_type pos2, 5915 size_type n2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 5916 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload2 `more...`]]`` 5917 5918template< 5919 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5920constexpr basic_static_string& 5921``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload3 replace]``( 5922 size_type pos1, 5923 size_type n1, 5924 const T& t); 5925 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload3 `more...`]]`` 5926 5927template< 5928 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5929constexpr basic_static_string& 5930``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload4 replace]``( 5931 size_type pos1, 5932 size_type n1, 5933 const T& t, 5934 size_type pos2, 5935 size_type n2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 5936 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload4 `more...`]]`` 5937 5938constexpr basic_static_string& 5939``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload5 replace]``( 5940 size_type pos, 5941 size_type n1, 5942 const_pointer s, 5943 size_type n2); 5944 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload5 `more...`]]`` 5945 5946constexpr basic_static_string& 5947``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload6 replace]``( 5948 size_type pos, 5949 size_type n1, 5950 const_pointer s); 5951 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload6 `more...`]]`` 5952 5953constexpr basic_static_string& 5954``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload7 replace]``( 5955 size_type pos, 5956 size_type n1, 5957 size_type n2, 5958 value_type c); 5959 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload7 `more...`]]`` 5960 5961template< 5962 std::size_t M> 5963constexpr basic_static_string& 5964``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload8 replace]``( 5965 const_iterator i1, 5966 const_iterator i2, 5967 const basic_static_string< M, CharT, Traits >& str); 5968 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload8 `more...`]]`` 5969 5970template< 5971 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 5972constexpr basic_static_string& 5973``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload9 replace]``( 5974 const_iterator i1, 5975 const_iterator i2, 5976 const T& t); 5977 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload9 `more...`]]`` 5978 5979constexpr basic_static_string& 5980``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload10 replace]``( 5981 const_iterator i1, 5982 const_iterator i2, 5983 const_pointer s, 5984 size_type n); 5985 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload10 `more...`]]`` 5986 5987constexpr basic_static_string& 5988``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload11 replace]``( 5989 const_iterator i1, 5990 const_iterator i2, 5991 const_pointer s); 5992 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload11 `more...`]]`` 5993 5994constexpr basic_static_string& 5995``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload12 replace]``( 5996 const_iterator i1, 5997 const_iterator i2, 5998 size_type n, 5999 value_type c); 6000 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload12 `more...`]]`` 6001 6002template< 6003 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 6004constexpr basic_static_string& 6005``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload13 replace]``( 6006 const_iterator i1, 6007 const_iterator i2, 6008 InputIterator j1, 6009 InputIterator j2); 6010 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload13 `more...`]]`` 6011 6012constexpr basic_static_string& 6013``[link static_string.ref.boost__static_strings__basic_static_string.replace.overload14 replace]``( 6014 const_iterator i1, 6015 const_iterator i2, 6016 std::initializer_list< value_type > il); 6017 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.replace.overload14 `more...`]]`` 6018``` 6019 6020[section:overload1 basic_static_string::replace (1 of 14 overloads)] 6021 6022Replace a part of the string. 6023[heading Synopsis] 6024``` 6025template< 6026 size_t M> 6027constexpr basic_static_string& 6028replace( 6029 size_type pos1, 6030 size_type n1, 6031 const basic_static_string< M, CharT, Traits >& str); 6032``` 6033 6034[heading Description] 6035Replaces `rcount` characters starting at index `pos1` with those of `str`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos1). 6036 6037[heading Exception Safety] 6038 6039Strong guarantee. 6040 6041[heading Remarks] 6042The replacement is done unchecked when the capacity of `str` differs from that of the string the function is called on. 6043All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6044 6045[heading Template Parameters] 6046[table [[Type][Description]] 6047 [ 6048 [`M` 6049 ] 6050 [ 6051The size of the input string. 6052 ] 6053 ] 6054] 6055[heading Return Value] 6056`*this` 6057[heading Parameters] 6058[table [[Name][Description]] 6059 [ 6060 [`pos1` 6061 ] 6062 [ 6063The index to replace at. 6064 ] 6065 ] 6066 [ 6067 [`n1` 6068 ] 6069 [ 6070The number of characters to replace. 6071 ] 6072 ] 6073 [ 6074 [`str` 6075 ] 6076 [ 6077The string to replace with. 6078 ] 6079 ] 6080] 6081[heading Exceptions] 6082[table [[Type][Thrown On]] 6083 [ 6084 [`std::length_error` 6085 ] 6086 [ 6087[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (str.size() - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6088 ] 6089 ] 6090 [ 6091 [`std::out_of_range` 6092 ] 6093 [ 6094pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6095 ] 6096 ] 6097] 6098 6099[endsect] 6100 6101[section:overload2 basic_static_string::replace (2 of 14 overloads)] 6102 6103Replace a part of the string. 6104[heading Synopsis] 6105``` 6106template< 6107 std::size_t M> 6108constexpr basic_static_string& 6109replace( 6110 size_type pos1, 6111 size_type n1, 6112 const basic_static_string< M, CharT, Traits >& str, 6113 size_type pos2, 6114 size_type n2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 6115``` 6116 6117[heading Description] 6118Replaces `rcount` characters starting at index `pos1` with those of `str.subview(pos2, n2)`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos1). 6119 6120[heading Exception Safety] 6121 6122Strong guarantee. 6123 6124[heading Remarks] 6125The replacement is done unchecked when the capacity of `str` differs from that of the string the function is called on. 6126All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6127 6128[heading Return Value] 6129`*this` 6130[heading Parameters] 6131[table [[Name][Description]] 6132 [ 6133 [`pos1` 6134 ] 6135 [ 6136The index to replace at. 6137 ] 6138 ] 6139 [ 6140 [`n1` 6141 ] 6142 [ 6143The number of characters to replace. 6144 ] 6145 ] 6146 [ 6147 [`str` 6148 ] 6149 [ 6150The string to replace with. 6151 ] 6152 ] 6153 [ 6154 [`pos2` 6155 ] 6156 [ 6157The index to begin the substring. 6158 ] 6159 ] 6160 [ 6161 [`n2` 6162 ] 6163 [ 6164The length of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 6165 ] 6166 ] 6167] 6168[heading Exceptions] 6169[table [[Type][Thrown On]] 6170 [ 6171 [`std::length_error` 6172 ] 6173 [ 6174[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (std::min(str.size(), n2) - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6175 ] 6176 ] 6177 [ 6178 [`std::out_of_range` 6179 ] 6180 [ 6181pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6182 ] 6183 ] 6184 [ 6185 [`std::out_of_range` 6186 ] 6187 [ 6188`pos2 > str.size()` 6189 ] 6190 ] 6191] 6192 6193[endsect] 6194 6195[section:overload3 basic_static_string::replace (3 of 14 overloads)] 6196 6197Replace a part of the string. 6198[heading Synopsis] 6199``` 6200template< 6201 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 6202constexpr basic_static_string& 6203replace( 6204 size_type pos1, 6205 size_type n1, 6206 const T& t); 6207``` 6208 6209[heading Description] 6210Constructs a temporary `string_view_type` object `sv` from `t`, and replaces `rcount` characters starting at index `pos1` with those of `sv`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos1). 6211 6212[heading Exception Safety] 6213 6214Strong guarantee. 6215 6216[heading Remarks] 6217All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6218[heading Template Parameters] 6219[table [[Type][Description]] 6220 [ 6221 [`T` 6222 ] 6223 [ 6224The type of the object to convert. 6225 ] 6226 ] 6227] 6228[heading Constraints] 6229 6230`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 6231 6232[heading Return Value] 6233`*this` 6234[heading Parameters] 6235[table [[Name][Description]] 6236 [ 6237 [`pos1` 6238 ] 6239 [ 6240The index to replace at. 6241 ] 6242 ] 6243 [ 6244 [`n1` 6245 ] 6246 [ 6247The number of characters to replace. 6248 ] 6249 ] 6250 [ 6251 [`t` 6252 ] 6253 [ 6254The object to replace with. 6255 ] 6256 ] 6257] 6258[heading Exceptions] 6259[table [[Type][Thrown On]] 6260 [ 6261 [`std::length_error` 6262 ] 6263 [ 6264[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (sv.size() - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6265 ] 6266 ] 6267 [ 6268 [`std::out_of_range` 6269 ] 6270 [ 6271pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6272 ] 6273 ] 6274] 6275 6276[endsect] 6277 6278[section:overload4 basic_static_string::replace (4 of 14 overloads)] 6279 6280Replace a part of the string. 6281[heading Synopsis] 6282``` 6283template< 6284 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 6285constexpr basic_static_string& 6286replace( 6287 size_type pos1, 6288 size_type n1, 6289 const T& t, 6290 size_type pos2, 6291 size_type n2 = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``); 6292``` 6293 6294[heading Description] 6295Constructs a temporary `string_view_type` object `sv` from `t`, and replaces `rcount` characters starting at index `pos1` with those of `sv.substr(pos2, n2)`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos). 6296 6297[heading Exception Safety] 6298 6299Strong guarantee. 6300 6301[heading Remarks] 6302All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6303[heading Template Parameters] 6304[table [[Type][Description]] 6305 [ 6306 [`T` 6307 ] 6308 [ 6309The type of the object to convert. 6310 ] 6311 ] 6312] 6313[heading Constraints] 6314 6315`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 6316 6317[heading Return Value] 6318`*this` 6319[heading Parameters] 6320[table [[Name][Description]] 6321 [ 6322 [`pos1` 6323 ] 6324 [ 6325The index to replace at. 6326 ] 6327 ] 6328 [ 6329 [`n1` 6330 ] 6331 [ 6332The number of characters to replace. 6333 ] 6334 ] 6335 [ 6336 [`t` 6337 ] 6338 [ 6339The object to replace with. 6340 ] 6341 ] 6342 [ 6343 [`pos2` 6344 ] 6345 [ 6346The index to begin the substring. 6347 ] 6348 ] 6349 [ 6350 [`n2` 6351 ] 6352 [ 6353The length of the substring. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 6354 ] 6355 ] 6356] 6357[heading Exceptions] 6358[table [[Type][Thrown On]] 6359 [ 6360 [`std::length_error` 6361 ] 6362 [ 6363[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (std::min(n2, sv.size()) - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6364 ] 6365 ] 6366 [ 6367 [`std::out_of_range` 6368 ] 6369 [ 6370pos1 > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6371 ] 6372 ] 6373 [ 6374 [`std::out_of_range` 6375 ] 6376 [ 6377`pos2 > sv.size()` 6378 ] 6379 ] 6380] 6381 6382[endsect] 6383 6384[section:overload5 basic_static_string::replace (5 of 14 overloads)] 6385 6386Replace a part of the string. 6387[heading Synopsis] 6388``` 6389constexpr basic_static_string& 6390replace( 6391 size_type pos, 6392 size_type n1, 6393 const_pointer s, 6394 size_type n2); 6395``` 6396 6397[heading Description] 6398Replaces `rcount` characters starting at index `pos` with those of `{s, s + n2)`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos). 6399 6400[heading Exception Safety] 6401 6402Strong guarantee. 6403 6404[heading Remarks] 6405All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6406[heading Return Value] 6407`*this` 6408[heading Parameters] 6409[table [[Name][Description]] 6410 [ 6411 [`pos` 6412 ] 6413 [ 6414The index to replace at. 6415 ] 6416 ] 6417 [ 6418 [`n1` 6419 ] 6420 [ 6421The number of characters to replace. 6422 ] 6423 ] 6424 [ 6425 [`s` 6426 ] 6427 [ 6428The string to replace with. 6429 ] 6430 ] 6431 [ 6432 [`n2` 6433 ] 6434 [ 6435The length of the string to replace with. 6436 ] 6437 ] 6438] 6439[heading Exceptions] 6440[table [[Type][Thrown On]] 6441 [ 6442 [`std::length_error` 6443 ] 6444 [ 6445[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (n2 - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6446 ] 6447 ] 6448 [ 6449 [`std::out_of_range` 6450 ] 6451 [ 6452pos > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6453 ] 6454 ] 6455] 6456 6457[endsect] 6458 6459[section:overload6 basic_static_string::replace (6 of 14 overloads)] 6460 6461Replace a part of the string. 6462[heading Synopsis] 6463``` 6464constexpr basic_static_string& 6465replace( 6466 size_type pos, 6467 size_type n1, 6468 const_pointer s); 6469``` 6470 6471[heading Description] 6472Replaces `rcount` characters starting at index `pos` with those of `{s, s + len)`, where the length of the string `len` is `traits_type::length(s)` and `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos). 6473 6474[heading Exception Safety] 6475 6476Strong guarantee. 6477 6478[heading Remarks] 6479All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6480[heading Return Value] 6481`*this` 6482[heading Parameters] 6483[table [[Name][Description]] 6484 [ 6485 [`pos` 6486 ] 6487 [ 6488The index to replace at. 6489 ] 6490 ] 6491 [ 6492 [`n1` 6493 ] 6494 [ 6495The number of characters to replace. 6496 ] 6497 ] 6498 [ 6499 [`s` 6500 ] 6501 [ 6502The string to replace with. 6503 ] 6504 ] 6505] 6506[heading Exceptions] 6507[table [[Type][Thrown On]] 6508 [ 6509 [`std::length_error` 6510 ] 6511 [ 6512[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (len - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6513 ] 6514 ] 6515 [ 6516 [`std::out_of_range` 6517 ] 6518 [ 6519pos > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6520 ] 6521 ] 6522] 6523 6524[endsect] 6525 6526[section:overload7 basic_static_string::replace (7 of 14 overloads)] 6527 6528Replace a part of the string. 6529[heading Synopsis] 6530``` 6531constexpr basic_static_string& 6532replace( 6533 size_type pos, 6534 size_type n1, 6535 size_type n2, 6536 value_type c); 6537``` 6538 6539[heading Description] 6540Replaces `rcount` characters starting at index `pos` with `n2` copies of `c`, where `rcount` is std::min(n1, [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] - pos). 6541 6542[heading Exception Safety] 6543 6544Strong guarantee. 6545 6546[heading Remarks] 6547All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6548[heading Return Value] 6549`*this` 6550[heading Parameters] 6551[table [[Name][Description]] 6552 [ 6553 [`pos` 6554 ] 6555 [ 6556The index to replace at. 6557 ] 6558 ] 6559 [ 6560 [`n1` 6561 ] 6562 [ 6563The number of characters to replace. 6564 ] 6565 ] 6566 [ 6567 [`n2` 6568 ] 6569 [ 6570The number of characters to replace with. 6571 ] 6572 ] 6573 [ 6574 [`c` 6575 ] 6576 [ 6577The character to replace with. 6578 ] 6579 ] 6580] 6581[heading Exceptions] 6582[table [[Type][Thrown On]] 6583 [ 6584 [`std::length_error` 6585 ] 6586 [ 6587[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (n2 - rcount) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6588 ] 6589 ] 6590 [ 6591 [`std::out_of_range` 6592 ] 6593 [ 6594pos > [link static_string.ref.boost__static_strings__basic_static_string.size `size()`] 6595 ] 6596 ] 6597] 6598 6599[endsect] 6600 6601[section:overload8 basic_static_string::replace (8 of 14 overloads)] 6602 6603Replace a part of the string. 6604[heading Synopsis] 6605``` 6606template< 6607 std::size_t M> 6608constexpr basic_static_string& 6609replace( 6610 const_iterator i1, 6611 const_iterator i2, 6612 const basic_static_string< M, CharT, Traits >& str); 6613``` 6614 6615[heading Description] 6616Replaces the characters in the range `{i1, i2)` with those of `str`. 6617 6618[heading Precondition] 6619 6620`{i1, i2)`is a valid range. 6621 6622[heading Exception Safety] 6623 6624Strong guarantee. 6625 6626[heading Remarks] 6627The replacement is done unchecked when the capacity of `str` differs from that of the string the function is called on. 6628All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6629 6630[heading Template Parameters] 6631[table [[Type][Description]] 6632 [ 6633 [`M` 6634 ] 6635 [ 6636The size of the input string. 6637 ] 6638 ] 6639] 6640[heading Return Value] 6641`*this` 6642[heading Parameters] 6643[table [[Name][Description]] 6644 [ 6645 [`i1` 6646 ] 6647 [ 6648An iterator referring to the first character to replace. 6649 ] 6650 ] 6651 [ 6652 [`i2` 6653 ] 6654 [ 6655An iterator referring past the end of the last character to replace. 6656 ] 6657 ] 6658 [ 6659 [`str` 6660 ] 6661 [ 6662The string to replace with. 6663 ] 6664 ] 6665] 6666[heading Exceptions] 6667[table [[Type][Thrown On]] 6668 [ 6669 [`std::length_error` 6670 ] 6671 [ 6672[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (str.size() - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6673 ] 6674 ] 6675] 6676 6677[endsect] 6678 6679[section:overload9 basic_static_string::replace (9 of 14 overloads)] 6680 6681Replace a part of the string. 6682[heading Synopsis] 6683``` 6684template< 6685 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 6686constexpr basic_static_string& 6687replace( 6688 const_iterator i1, 6689 const_iterator i2, 6690 const T& t); 6691``` 6692 6693[heading Description] 6694Constructs a temporary `string_view_type` object `sv` from `t`, and replaces the characters in the range `{i1, i2)` with those of `sv`. 6695 6696[heading Precondition] 6697 6698`{i1, i2)`is a valid range. 6699 6700[heading Exception Safety] 6701 6702Strong guarantee. 6703 6704[heading Remarks] 6705All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6706[heading Template Parameters] 6707[table [[Type][Description]] 6708 [ 6709 [`T` 6710 ] 6711 [ 6712The type of the object to convert. 6713 ] 6714 ] 6715] 6716[heading Constraints] 6717 6718`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 6719 6720[heading Return Value] 6721`*this` 6722[heading Parameters] 6723[table [[Name][Description]] 6724 [ 6725 [`i1` 6726 ] 6727 [ 6728An iterator referring to the first character to replace. 6729 ] 6730 ] 6731 [ 6732 [`i2` 6733 ] 6734 [ 6735An iterator referring past the end of the last character to replace. 6736 ] 6737 ] 6738 [ 6739 [`t` 6740 ] 6741 [ 6742The object to replace with. 6743 ] 6744 ] 6745] 6746[heading Exceptions] 6747[table [[Type][Thrown On]] 6748 [ 6749 [`std::length_error` 6750 ] 6751 [ 6752[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (sv.size() - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6753 ] 6754 ] 6755] 6756 6757[endsect] 6758 6759[section:overload10 basic_static_string::replace (10 of 14 overloads)] 6760 6761Replace a part of the string. 6762[heading Synopsis] 6763``` 6764constexpr basic_static_string& 6765replace( 6766 const_iterator i1, 6767 const_iterator i2, 6768 const_pointer s, 6769 size_type n); 6770``` 6771 6772[heading Description] 6773Replaces the characters in the range `{i1, i2)` with those of `{s, s + n)`. 6774 6775[heading Precondition] 6776 6777`{i1, i2)`is a valid range. 6778 6779[heading Exception Safety] 6780 6781Strong guarantee. 6782 6783[heading Remarks] 6784All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6785[heading Return Value] 6786`*this` 6787[heading Parameters] 6788[table [[Name][Description]] 6789 [ 6790 [`i1` 6791 ] 6792 [ 6793An iterator referring to the first character to replace. 6794 ] 6795 ] 6796 [ 6797 [`i2` 6798 ] 6799 [ 6800An iterator referring past the end of the last character to replace. 6801 ] 6802 ] 6803 [ 6804 [`s` 6805 ] 6806 [ 6807The string to replace with. 6808 ] 6809 ] 6810 [ 6811 [`n` 6812 ] 6813 [ 6814The length of the string to replace with. 6815 ] 6816 ] 6817] 6818[heading Exceptions] 6819[table [[Type][Thrown On]] 6820 [ 6821 [`std::length_error` 6822 ] 6823 [ 6824[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (n - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6825 ] 6826 ] 6827] 6828 6829[endsect] 6830 6831[section:overload11 basic_static_string::replace (11 of 14 overloads)] 6832 6833Replace a part of the string. 6834[heading Synopsis] 6835``` 6836constexpr basic_static_string& 6837replace( 6838 const_iterator i1, 6839 const_iterator i2, 6840 const_pointer s); 6841``` 6842 6843[heading Description] 6844Replaces the characters in the range `{i1, i2)` with those of `{s, s + len)`, where the length of the string `len` is `traits_type::length(s)`. 6845 6846[heading Precondition] 6847 6848`{i1, i2)`shall be a valid range. 6849 6850[heading Exception Safety] 6851 6852Strong guarantee. 6853 6854[heading Remarks] 6855All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6856[heading Return Value] 6857`*this` 6858[heading Parameters] 6859[table [[Name][Description]] 6860 [ 6861 [`i1` 6862 ] 6863 [ 6864An iterator referring to the first character to replace. 6865 ] 6866 ] 6867 [ 6868 [`i2` 6869 ] 6870 [ 6871An iterator referring past the end of the last character to replace. 6872 ] 6873 ] 6874 [ 6875 [`s` 6876 ] 6877 [ 6878The string to replace with. 6879 ] 6880 ] 6881] 6882[heading Exceptions] 6883[table [[Type][Thrown On]] 6884 [ 6885 [`std::length_error` 6886 ] 6887 [ 6888[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (len - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6889 ] 6890 ] 6891] 6892 6893[endsect] 6894 6895[section:overload12 basic_static_string::replace (12 of 14 overloads)] 6896 6897Replace a part of the string. 6898[heading Synopsis] 6899``` 6900constexpr basic_static_string& 6901replace( 6902 const_iterator i1, 6903 const_iterator i2, 6904 size_type n, 6905 value_type c); 6906``` 6907 6908[heading Description] 6909Replaces the characters in the range `{i1, i2)` with `n` copies of `c`. 6910 6911[heading Precondition] 6912 6913`{i1, i2)`is a valid range. 6914 6915[heading Exception Safety] 6916 6917Strong guarantee. 6918 6919[heading Remarks] 6920All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6921[heading Return Value] 6922`*this` 6923[heading Parameters] 6924[table [[Name][Description]] 6925 [ 6926 [`i1` 6927 ] 6928 [ 6929An iterator referring to the first character to replace. 6930 ] 6931 ] 6932 [ 6933 [`i2` 6934 ] 6935 [ 6936An iterator past the end of the last character to replace. 6937 ] 6938 ] 6939 [ 6940 [`n` 6941 ] 6942 [ 6943The number of characters to replace with. 6944 ] 6945 ] 6946 [ 6947 [`c` 6948 ] 6949 [ 6950The character to replace with. 6951 ] 6952 ] 6953] 6954[heading Exceptions] 6955[table [[Type][Thrown On]] 6956 [ 6957 [`std::length_error` 6958 ] 6959 [ 6960[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (n - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 6961 ] 6962 ] 6963] 6964 6965[endsect] 6966 6967[section:overload13 basic_static_string::replace (13 of 14 overloads)] 6968 6969Replace a part of the string. 6970[heading Synopsis] 6971``` 6972template< 6973 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 6974constexpr basic_static_string& 6975replace( 6976 const_iterator i1, 6977 const_iterator i2, 6978 InputIterator j1, 6979 InputIterator j2); 6980``` 6981 6982[heading Description] 6983Replaces the characters in the range `{i1, i2)` with those of `{j1, j2)`. 6984 6985[heading Precondition] 6986 6987`{i1, i2)`is a valid range. 6988`{j1, j2)` is a valid range. 6989 6990[heading Exception Safety] 6991 6992Strong guarantee. 6993 6994[heading Remarks] 6995All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 6996[heading Template Parameters] 6997[table [[Type][Description]] 6998 [ 6999 [`InputIterator` 7000 ] 7001 [ 7002The type of the iterators. 7003 ] 7004 ] 7005] 7006[heading Constraints] 7007 7008`InputIterator`satisfies [*InputIterator] and does not satisfy [*ForwardIterator]. 7009 7010[heading Return Value] 7011`*this` 7012[heading Parameters] 7013[table [[Name][Description]] 7014 [ 7015 [`i1` 7016 ] 7017 [ 7018An iterator referring to the first character to replace. 7019 ] 7020 ] 7021 [ 7022 [`i2` 7023 ] 7024 [ 7025An iterator referring past the end of the last character to replace. 7026 ] 7027 ] 7028 [ 7029 [`j1` 7030 ] 7031 [ 7032An iterator referring to the first character to replace with. 7033 ] 7034 ] 7035 [ 7036 [`j2` 7037 ] 7038 [ 7039An iterator referring past the end of the last character to replace with. 7040 ] 7041 ] 7042] 7043[heading Exceptions] 7044[table [[Type][Thrown On]] 7045 [ 7046 [`std::length_error` 7047 ] 7048 [ 7049[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (inserted - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 7050 ] 7051 ] 7052] 7053 7054[endsect] 7055 7056[section:overload14 basic_static_string::replace (14 of 14 overloads)] 7057 7058Replace a part of the string. 7059[heading Synopsis] 7060``` 7061constexpr basic_static_string& 7062replace( 7063 const_iterator i1, 7064 const_iterator i2, 7065 std::initializer_list< value_type > il); 7066``` 7067 7068[heading Description] 7069Replaces the characters in the range `{i1, i2)` with those of contained in the initializer list `il`. 7070 7071[heading Precondition] 7072 7073`{i1, i2)`is a valid range. 7074 7075[heading Exception Safety] 7076 7077Strong guarantee. 7078 7079[heading Remarks] 7080All references, pointers, or iterators referring to contained elements are invalidated. Any past-the-end iterators are also invalidated. 7081[heading Return Value] 7082`*this` 7083[heading Parameters] 7084[table [[Name][Description]] 7085 [ 7086 [`i1` 7087 ] 7088 [ 7089An iterator referring to the first character to replace. 7090 ] 7091 ] 7092 [ 7093 [`i2` 7094 ] 7095 [ 7096An iterator past the end of the last character to replace. 7097 ] 7098 ] 7099 [ 7100 [`il` 7101 ] 7102 [ 7103The initializer list to replace with. 7104 ] 7105 ] 7106] 7107[heading Exceptions] 7108[table [[Type][Thrown On]] 7109 [ 7110 [`std::length_error` 7111 ] 7112 [ 7113[link static_string.ref.boost__static_strings__basic_static_string.size `size()`] + (il.size() - std::distance(i1, i2)) > [link static_string.ref.boost__static_strings__basic_static_string.max_size `max_size()`] 7114 ] 7115 ] 7116] 7117 7118[endsect] 7119 7120 7121[endsect] 7122 7123[section:find basic_static_string::find] 7124[indexterm2 find..basic_static_string] 7125 7126 7127Find the first occurrence of a string within the string. 7128``` 7129template< 7130 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7131constexpr size_type 7132``[link static_string.ref.boost__static_strings__basic_static_string.find.overload1 find]``( 7133 const T& t, 7134 size_type pos = 0) const; 7135 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find.overload1 `more...`]]`` 7136 7137template< 7138 std::size_t M> 7139constexpr size_type 7140``[link static_string.ref.boost__static_strings__basic_static_string.find.overload2 find]``( 7141 const basic_static_string< M, CharT, Traits >& str, 7142 size_type pos = 0) const; 7143 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find.overload2 `more...`]]`` 7144 7145constexpr size_type 7146``[link static_string.ref.boost__static_strings__basic_static_string.find.overload3 find]``( 7147 const_pointer s, 7148 size_type pos, 7149 size_type n) const; 7150 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find.overload3 `more...`]]`` 7151 7152constexpr size_type 7153``[link static_string.ref.boost__static_strings__basic_static_string.find.overload4 find]``( 7154 const_pointer s, 7155 size_type pos = 0) const; 7156 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find.overload4 `more...`]]`` 7157``` 7158 7159 7160Find the first occurrence of a character within the string. 7161``` 7162constexpr size_type 7163``[link static_string.ref.boost__static_strings__basic_static_string.find.overload5 find]``( 7164 value_type c, 7165 size_type pos = 0) const; 7166 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find.overload5 `more...`]]`` 7167``` 7168 7169[section:overload1 basic_static_string::find (1 of 5 overloads)] 7170 7171Find the first occurrence of a string within the string. 7172[heading Synopsis] 7173``` 7174template< 7175 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7176constexpr size_type 7177find( 7178 const T& t, 7179 size_type pos = 0) const; 7180``` 7181 7182[heading Description] 7183Constructs a temporary `string_view_type` object `sv` from `t`, and finds the first occurrence of `sv` within the string starting at the index `pos`. 7184 7185[heading Complexity] 7186 7187Linear. 7188 7189[heading Remarks] 7190An empty string is always found. 7191[heading Template Parameters] 7192[table [[Type][Description]] 7193 [ 7194 [`T` 7195 ] 7196 [ 7197The type of the object to convert. 7198 ] 7199 ] 7200] 7201[heading Constraints] 7202 7203`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 7204 7205[heading Return Value] 7206The lowest index `idx` greater than or equal to `pos` where each element of `{sv.begin(), sv.end())` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + count) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7207[heading Parameters] 7208[table [[Name][Description]] 7209 [ 7210 [`t` 7211 ] 7212 [ 7213The string to search for. 7214 ] 7215 ] 7216 [ 7217 [`pos` 7218 ] 7219 [ 7220The index to start searching at. The default argument for this parameter is `0`. 7221 ] 7222 ] 7223] 7224 7225[endsect] 7226 7227[section:overload2 basic_static_string::find (2 of 5 overloads)] 7228 7229Find the first occurrence of a string within the string. 7230[heading Synopsis] 7231``` 7232template< 7233 std::size_t M> 7234constexpr size_type 7235find( 7236 const basic_static_string< M, CharT, Traits >& str, 7237 size_type pos = 0) const; 7238``` 7239 7240[heading Description] 7241Finds the first occurrence of `str` within the string starting at the index `pos`. 7242 7243[heading Complexity] 7244 7245Linear. 7246 7247[heading Return Value] 7248The lowest index `idx` greater than or equal to `pos` where each element of `str` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + str.size()) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7249[heading Parameters] 7250[table [[Name][Description]] 7251 [ 7252 [`str` 7253 ] 7254 [ 7255The string to search for. 7256 ] 7257 ] 7258 [ 7259 [`pos` 7260 ] 7261 [ 7262The index to start searching at. The default argument for this parameter is `0`. 7263 ] 7264 ] 7265] 7266 7267[endsect] 7268 7269[section:overload3 basic_static_string::find (3 of 5 overloads)] 7270 7271Find the first occurrence of a string within the string. 7272[heading Synopsis] 7273``` 7274constexpr size_type 7275find( 7276 const_pointer s, 7277 size_type pos, 7278 size_type n) const; 7279``` 7280 7281[heading Description] 7282Finds the first occurrence of the string pointed to by `s` within the string starting at the index `pos`. 7283 7284[heading Complexity] 7285 7286Linear. 7287 7288[heading Remarks] 7289An empty string is always found. 7290[heading Return Value] 7291The lowest index `idx` greater than or equal to `pos` where each element of `{s, s + n)` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + n) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7292[heading Parameters] 7293[table [[Name][Description]] 7294 [ 7295 [`s` 7296 ] 7297 [ 7298The string to search for. 7299 ] 7300 ] 7301 [ 7302 [`pos` 7303 ] 7304 [ 7305The index to start searching at. 7306 ] 7307 ] 7308 [ 7309 [`n` 7310 ] 7311 [ 7312The length of the string to search for. 7313 ] 7314 ] 7315] 7316 7317[endsect] 7318 7319[section:overload4 basic_static_string::find (4 of 5 overloads)] 7320 7321Find the first occurrence of a string within the string. 7322[heading Synopsis] 7323``` 7324constexpr size_type 7325find( 7326 const_pointer s, 7327 size_type pos = 0) const; 7328``` 7329 7330[heading Description] 7331Finds the first occurrence of the string pointed to by `s` of length `count` within the string starting at the index `pos`, where `count` is `traits_type::length(s)`. 7332 7333[heading Complexity] 7334 7335Linear. 7336 7337[heading Remarks] 7338An empty string is always found. 7339[heading Return Value] 7340The lowest index `idx` greater than or equal to `pos` where each element of `{s, s + count)` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + count) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7341[heading Parameters] 7342[table [[Name][Description]] 7343 [ 7344 [`s` 7345 ] 7346 [ 7347The string to search for. 7348 ] 7349 ] 7350 [ 7351 [`pos` 7352 ] 7353 [ 7354The index to start searching at. The default argument for this parameter is `0`. 7355 ] 7356 ] 7357] 7358 7359[endsect] 7360 7361[section:overload5 basic_static_string::find (5 of 5 overloads)] 7362 7363Find the first occurrence of a character within the string. 7364[heading Synopsis] 7365``` 7366constexpr size_type 7367find( 7368 value_type c, 7369 size_type pos = 0) const; 7370``` 7371 7372[heading Description] 7373Finds the first occurrence of `c` within the string starting at the index `pos`. 7374 7375[heading Complexity] 7376 7377Linear. 7378 7379[heading Return Value] 7380The index corrosponding to the first occurrence of `c` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7381[heading Parameters] 7382[table [[Name][Description]] 7383 [ 7384 [`c` 7385 ] 7386 [ 7387The character to search for. 7388 ] 7389 ] 7390 [ 7391 [`pos` 7392 ] 7393 [ 7394The index to start searching at. The default argument for this parameter is `0`. 7395 ] 7396 ] 7397] 7398 7399[endsect] 7400 7401 7402[endsect] 7403 7404[section:rfind basic_static_string::rfind] 7405[indexterm2 rfind..basic_static_string] 7406 7407 7408Find the last occurrence of a string within the string. 7409``` 7410template< 7411 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7412constexpr size_type 7413``[link static_string.ref.boost__static_strings__basic_static_string.rfind.overload1 rfind]``( 7414 const T& t, 7415 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7416 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rfind.overload1 `more...`]]`` 7417 7418template< 7419 std::size_t M> 7420constexpr size_type 7421``[link static_string.ref.boost__static_strings__basic_static_string.rfind.overload2 rfind]``( 7422 const basic_static_string< M, CharT, Traits >& str, 7423 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7424 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rfind.overload2 `more...`]]`` 7425 7426constexpr size_type 7427``[link static_string.ref.boost__static_strings__basic_static_string.rfind.overload3 rfind]``( 7428 const_pointer s, 7429 size_type pos, 7430 size_type n) const; 7431 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rfind.overload3 `more...`]]`` 7432 7433constexpr size_type 7434``[link static_string.ref.boost__static_strings__basic_static_string.rfind.overload4 rfind]``( 7435 const_pointer s, 7436 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7437 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rfind.overload4 `more...`]]`` 7438``` 7439 7440 7441Find the last occurrence of a character within the string. 7442``` 7443constexpr size_type 7444``[link static_string.ref.boost__static_strings__basic_static_string.rfind.overload5 rfind]``( 7445 value_type c, 7446 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7447 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.rfind.overload5 `more...`]]`` 7448``` 7449 7450[section:overload1 basic_static_string::rfind (1 of 5 overloads)] 7451 7452Find the last occurrence of a string within the string. 7453[heading Synopsis] 7454``` 7455template< 7456 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7457constexpr size_type 7458rfind( 7459 const T& t, 7460 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7461``` 7462 7463[heading Description] 7464Constructs a temporary `string_view_type` object `sv` from `t`, and finds the last occurrence of `sv` within the string starting before or at the index `pos`. 7465 7466[heading Complexity] 7467 7468Linear. 7469 7470[heading Template Parameters] 7471[table [[Type][Description]] 7472 [ 7473 [`T` 7474 ] 7475 [ 7476The type of the object to convert. 7477 ] 7478 ] 7479] 7480[heading Constraints] 7481 7482`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 7483 7484[heading Return Value] 7485The highest index `idx` less than or equal to `pos` where each element of `{sv.begin(), sv.end())` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + count) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7486[heading Parameters] 7487[table [[Name][Description]] 7488 [ 7489 [`t` 7490 ] 7491 [ 7492The string to search for. 7493 ] 7494 ] 7495 [ 7496 [`pos` 7497 ] 7498 [ 7499The index to start searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 7500 ] 7501 ] 7502] 7503 7504[endsect] 7505 7506[section:overload2 basic_static_string::rfind (2 of 5 overloads)] 7507 7508Find the last occurrence of a string within the string. 7509[heading Synopsis] 7510``` 7511template< 7512 std::size_t M> 7513constexpr size_type 7514rfind( 7515 const basic_static_string< M, CharT, Traits >& str, 7516 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7517``` 7518 7519[heading Description] 7520Finds the last occurrence of `str` within the string starting before or at the index `pos`. 7521 7522[heading Complexity] 7523 7524Linear. 7525 7526[heading Return Value] 7527The highest index `idx` less than or equal to `pos` where each element of `str` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + str.size()) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7528[heading Parameters] 7529[table [[Name][Description]] 7530 [ 7531 [`str` 7532 ] 7533 [ 7534The string to search for. 7535 ] 7536 ] 7537 [ 7538 [`pos` 7539 ] 7540 [ 7541The index to start searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 7542 ] 7543 ] 7544] 7545 7546[endsect] 7547 7548[section:overload3 basic_static_string::rfind (3 of 5 overloads)] 7549 7550Find the last occurrence of a string within the string. 7551[heading Synopsis] 7552``` 7553constexpr size_type 7554rfind( 7555 const_pointer s, 7556 size_type pos, 7557 size_type n) const; 7558``` 7559 7560[heading Description] 7561Finds the last occurrence of the string pointed to by `s` within the string starting before or at the index `pos`. 7562 7563[heading Complexity] 7564 7565Linear. 7566 7567[heading Return Value] 7568The highest index `idx` less than or equal to `pos` where each element of `{s, s + n)` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + n) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7569[heading Parameters] 7570[table [[Name][Description]] 7571 [ 7572 [`s` 7573 ] 7574 [ 7575The string to search for. 7576 ] 7577 ] 7578 [ 7579 [`pos` 7580 ] 7581 [ 7582The index to start searching at. 7583 ] 7584 ] 7585 [ 7586 [`n` 7587 ] 7588 [ 7589The length of the string to search for. 7590 ] 7591 ] 7592] 7593 7594[endsect] 7595 7596[section:overload4 basic_static_string::rfind (4 of 5 overloads)] 7597 7598Find the last occurrence of a string within the string. 7599[heading Synopsis] 7600``` 7601constexpr size_type 7602rfind( 7603 const_pointer s, 7604 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7605``` 7606 7607[heading Description] 7608Finds the last occurrence of the string pointed to by `s` of length `count` within the string starting before or at the index `pos`, where `count` is `traits_type::length(s)`. 7609 7610[heading Complexity] 7611 7612Linear. 7613 7614[heading Return Value] 7615The highest index `idx` less than or equal to `pos` where each element of `{s, s + count)` is equal to that of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx, [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + idx + count) if one exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7616[heading Parameters] 7617[table [[Name][Description]] 7618 [ 7619 [`s` 7620 ] 7621 [ 7622The string to search for. 7623 ] 7624 ] 7625 [ 7626 [`pos` 7627 ] 7628 [ 7629The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 7630 ] 7631 ] 7632] 7633 7634[endsect] 7635 7636[section:overload5 basic_static_string::rfind (5 of 5 overloads)] 7637 7638Find the last occurrence of a character within the string. 7639[heading Synopsis] 7640``` 7641constexpr size_type 7642rfind( 7643 value_type c, 7644 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7645``` 7646 7647[heading Description] 7648Finds the last occurrence of `c` within the string starting before or at the index `pos`. 7649 7650[heading Complexity] 7651 7652Linear. 7653 7654[heading Return Value] 7655The index corrosponding to the last occurrence of `c` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7656[heading Parameters] 7657[table [[Name][Description]] 7658 [ 7659 [`c` 7660 ] 7661 [ 7662The character to search for. 7663 ] 7664 ] 7665 [ 7666 [`pos` 7667 ] 7668 [ 7669The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 7670 ] 7671 ] 7672] 7673 7674[endsect] 7675 7676 7677[endsect] 7678 7679[section:find_first_of basic_static_string::find_first_of] 7680[indexterm2 find_first_of..basic_static_string] 7681 7682 7683Find the first occurrence of any of the characters within the string. 7684``` 7685template< 7686 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7687constexpr size_type 7688``[link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload1 find_first_of]``( 7689 const T& t, 7690 size_type pos = 0) const; 7691 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload1 `more...`]]`` 7692 7693template< 7694 std::size_t M> 7695constexpr size_type 7696``[link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload2 find_first_of]``( 7697 const basic_static_string< M, CharT, Traits >& str, 7698 size_type pos = 0) const; 7699 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload2 `more...`]]`` 7700 7701constexpr size_type 7702``[link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload3 find_first_of]``( 7703 const_pointer s, 7704 size_type pos, 7705 size_type n) const; 7706 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload3 `more...`]]`` 7707 7708constexpr size_type 7709``[link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload4 find_first_of]``( 7710 const_pointer s, 7711 size_type pos = 0) const; 7712 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload4 `more...`]]`` 7713``` 7714 7715 7716Find the first occurrence of a character within the string. 7717``` 7718constexpr size_type 7719``[link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload5 find_first_of]``( 7720 value_type c, 7721 size_type pos = 0) const; 7722 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_of.overload5 `more...`]]`` 7723``` 7724 7725[section:overload1 basic_static_string::find_first_of (1 of 5 overloads)] 7726 7727Find the first occurrence of any of the characters within the string. 7728[heading Synopsis] 7729``` 7730template< 7731 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7732constexpr size_type 7733find_first_of( 7734 const T& t, 7735 size_type pos = 0) const; 7736``` 7737 7738[heading Description] 7739Constructs a temporary `string_view_type` object `sv` from `t`, and finds the first occurrence of any of the characters in `sv` within the string starting at the index `pos`. 7740 7741[heading Complexity] 7742 7743Linear. 7744 7745[heading Template Parameters] 7746[table [[Type][Description]] 7747 [ 7748 [`T` 7749 ] 7750 [ 7751The type of the object to convert. 7752 ] 7753 ] 7754] 7755[heading Constraints] 7756 7757`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 7758 7759[heading Return Value] 7760The index corrosponding to the first occurrence of any of the characters in `{sv.begin(), sv.end())` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7761[heading Parameters] 7762[table [[Name][Description]] 7763 [ 7764 [`t` 7765 ] 7766 [ 7767The characters to search for. 7768 ] 7769 ] 7770 [ 7771 [`pos` 7772 ] 7773 [ 7774The index to start searching at. The default argument for this parameter is `0`. 7775 ] 7776 ] 7777] 7778 7779[endsect] 7780 7781[section:overload2 basic_static_string::find_first_of (2 of 5 overloads)] 7782 7783Find the first occurrence of any of the characters within the string. 7784[heading Synopsis] 7785``` 7786template< 7787 std::size_t M> 7788constexpr size_type 7789find_first_of( 7790 const basic_static_string< M, CharT, Traits >& str, 7791 size_type pos = 0) const; 7792``` 7793 7794[heading Description] 7795Finds the first occurrence of any of the characters within `str` within the string starting at the index `pos`. 7796 7797[heading Complexity] 7798 7799Linear. 7800 7801[heading Return Value] 7802The index corrosponding to the first occurrence of any of the characters of `str` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7803[heading Parameters] 7804[table [[Name][Description]] 7805 [ 7806 [`str` 7807 ] 7808 [ 7809The characters to search for. 7810 ] 7811 ] 7812 [ 7813 [`pos` 7814 ] 7815 [ 7816The index to start searching at. The default argument for this parameter is `0`. 7817 ] 7818 ] 7819] 7820 7821[endsect] 7822 7823[section:overload3 basic_static_string::find_first_of (3 of 5 overloads)] 7824 7825Find the first occurrence of any of the characters within the string. 7826[heading Synopsis] 7827``` 7828constexpr size_type 7829find_first_of( 7830 const_pointer s, 7831 size_type pos, 7832 size_type n) const; 7833``` 7834 7835[heading Description] 7836Finds the first occurrence of any of the characters within the string pointed to by `s` within the string starting at the index `pos`. 7837 7838[heading Complexity] 7839 7840Linear. 7841 7842[heading Return Value] 7843The index corrosponding to the first occurrence of any of the characters in `{s, s + n)` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7844[heading Parameters] 7845[table [[Name][Description]] 7846 [ 7847 [`s` 7848 ] 7849 [ 7850The characters to search for. 7851 ] 7852 ] 7853 [ 7854 [`pos` 7855 ] 7856 [ 7857The index to start searching at. 7858 ] 7859 ] 7860 [ 7861 [`n` 7862 ] 7863 [ 7864The length of the string to search for. 7865 ] 7866 ] 7867] 7868 7869[endsect] 7870 7871[section:overload4 basic_static_string::find_first_of (4 of 5 overloads)] 7872 7873Find the first occurrence of any of the characters within the string. 7874[heading Synopsis] 7875``` 7876constexpr size_type 7877find_first_of( 7878 const_pointer s, 7879 size_type pos = 0) const; 7880``` 7881 7882[heading Description] 7883Finds the first occurrence of the any of the characters within string pointed to by `s` of length `count` within the string starting at the index `pos`, where `count` is `traits_type::length(s)`. 7884 7885[heading Complexity] 7886 7887Linear. 7888 7889[heading Return Value] 7890The index corrosponding to the first occurrence of any of the characters in `{s, s + count)` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7891[heading Parameters] 7892[table [[Name][Description]] 7893 [ 7894 [`s` 7895 ] 7896 [ 7897The characters to search for. 7898 ] 7899 ] 7900 [ 7901 [`pos` 7902 ] 7903 [ 7904The index to start searching at. The default argument for this parameter is `0`. 7905 ] 7906 ] 7907] 7908 7909[endsect] 7910 7911[section:overload5 basic_static_string::find_first_of (5 of 5 overloads)] 7912 7913Find the first occurrence of a character within the string. 7914[heading Synopsis] 7915``` 7916constexpr size_type 7917find_first_of( 7918 value_type c, 7919 size_type pos = 0) const; 7920``` 7921 7922[heading Description] 7923Finds the first occurrence of `c` within the string starting at the index `pos`. 7924 7925[heading Complexity] 7926 7927Linear. 7928 7929[heading Return Value] 7930The index corrosponding to the first occurrence of `c` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 7931[heading Parameters] 7932[table [[Name][Description]] 7933 [ 7934 [`c` 7935 ] 7936 [ 7937The character to search for. 7938 ] 7939 ] 7940 [ 7941 [`pos` 7942 ] 7943 [ 7944The index to start searching at. The default argument for this parameter is `0`. 7945 ] 7946 ] 7947] 7948 7949[endsect] 7950 7951 7952[endsect] 7953 7954[section:find_last_of basic_static_string::find_last_of] 7955[indexterm2 find_last_of..basic_static_string] 7956 7957 7958Find the last occurrence of any of the characters within the string. 7959``` 7960template< 7961 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 7962constexpr size_type 7963``[link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload1 find_last_of]``( 7964 const T& t, 7965 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7966 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload1 `more...`]]`` 7967 7968template< 7969 std::size_t M> 7970constexpr size_type 7971``[link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload2 find_last_of]``( 7972 const basic_static_string< M, CharT, Traits >& str, 7973 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7974 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload2 `more...`]]`` 7975 7976constexpr size_type 7977``[link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload3 find_last_of]``( 7978 const_pointer s, 7979 size_type pos, 7980 size_type n) const; 7981 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload3 `more...`]]`` 7982 7983constexpr size_type 7984``[link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload4 find_last_of]``( 7985 const_pointer s, 7986 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7987 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload4 `more...`]]`` 7988``` 7989 7990 7991Find the last occurrence of a character within the string. 7992``` 7993constexpr size_type 7994``[link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload5 find_last_of]``( 7995 value_type c, 7996 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 7997 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_of.overload5 `more...`]]`` 7998``` 7999 8000[section:overload1 basic_static_string::find_last_of (1 of 5 overloads)] 8001 8002Find the last occurrence of any of the characters within the string. 8003[heading Synopsis] 8004``` 8005template< 8006 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 8007constexpr size_type 8008find_last_of( 8009 const T& t, 8010 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8011``` 8012 8013[heading Description] 8014Constructs a temporary `string_view_type` object `sv` from `t`, and finds the last occurrence of any of the characters in `sv` within the string before or at the index `pos`. 8015 8016[heading Complexity] 8017 8018Linear. 8019 8020[heading Template Parameters] 8021[table [[Type][Description]] 8022 [ 8023 [`T` 8024 ] 8025 [ 8026The type of the object to convert. 8027 ] 8028 ] 8029] 8030[heading Constraints] 8031 8032`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 8033 8034[heading Return Value] 8035The index corrosponding to the last occurrence of any of the characters in `{sv.begin(), sv.end())` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8036[heading Parameters] 8037[table [[Name][Description]] 8038 [ 8039 [`t` 8040 ] 8041 [ 8042The characters to search for. 8043 ] 8044 ] 8045 [ 8046 [`pos` 8047 ] 8048 [ 8049The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8050 ] 8051 ] 8052] 8053 8054[endsect] 8055 8056[section:overload2 basic_static_string::find_last_of (2 of 5 overloads)] 8057 8058Find the last occurrence of any of the characters within the string. 8059[heading Synopsis] 8060``` 8061template< 8062 std::size_t M> 8063constexpr size_type 8064find_last_of( 8065 const basic_static_string< M, CharT, Traits >& str, 8066 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8067``` 8068 8069[heading Description] 8070Finds the last occurrence of any of the characters within `str` within the string starting before or at the index `pos`. 8071 8072[heading Complexity] 8073 8074Linear. 8075 8076[heading Return Value] 8077The index corrosponding to the last occurrence of any of the characters of `str` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8078[heading Parameters] 8079[table [[Name][Description]] 8080 [ 8081 [`str` 8082 ] 8083 [ 8084The characters to search for. 8085 ] 8086 ] 8087 [ 8088 [`pos` 8089 ] 8090 [ 8091The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8092 ] 8093 ] 8094] 8095 8096[endsect] 8097 8098[section:overload3 basic_static_string::find_last_of (3 of 5 overloads)] 8099 8100Find the last occurrence of any of the characters within the string. 8101[heading Synopsis] 8102``` 8103constexpr size_type 8104find_last_of( 8105 const_pointer s, 8106 size_type pos, 8107 size_type n) const; 8108``` 8109 8110[heading Description] 8111Finds the last occurrence of any of the characters within the string pointed to by `s` within the string before or at the index `pos`. 8112 8113[heading Complexity] 8114 8115Linear. 8116 8117[heading Return Value] 8118The index corrosponding to the last occurrence of any of the characters in `{s, s + n)` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8119[heading Parameters] 8120[table [[Name][Description]] 8121 [ 8122 [`s` 8123 ] 8124 [ 8125The characters to search for. 8126 ] 8127 ] 8128 [ 8129 [`pos` 8130 ] 8131 [ 8132The index to stop searching at. 8133 ] 8134 ] 8135 [ 8136 [`n` 8137 ] 8138 [ 8139The length of the string to search for. 8140 ] 8141 ] 8142] 8143 8144[endsect] 8145 8146[section:overload4 basic_static_string::find_last_of (4 of 5 overloads)] 8147 8148Find the last occurrence of any of the characters within the string. 8149[heading Synopsis] 8150``` 8151constexpr size_type 8152find_last_of( 8153 const_pointer s, 8154 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8155``` 8156 8157[heading Description] 8158Finds the last occurrence of any of the characters within the string pointed to by `s` of length `count` within the string before or at the index `pos`, where `count` is `traits_type::length(s)`. 8159 8160[heading Complexity] 8161 8162Linear. 8163 8164[heading Return Value] 8165The index corrosponding to the last occurrence of any of the characters in `{s, s + count)` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8166[heading Parameters] 8167[table [[Name][Description]] 8168 [ 8169 [`s` 8170 ] 8171 [ 8172The characters to search for. 8173 ] 8174 ] 8175 [ 8176 [`pos` 8177 ] 8178 [ 8179The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8180 ] 8181 ] 8182] 8183 8184[endsect] 8185 8186[section:overload5 basic_static_string::find_last_of (5 of 5 overloads)] 8187 8188Find the last occurrence of a character within the string. 8189[heading Synopsis] 8190``` 8191constexpr size_type 8192find_last_of( 8193 value_type c, 8194 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8195``` 8196 8197[heading Description] 8198Finds the last occurrence of `c` within the string before or at the index `pos`. 8199 8200[heading Complexity] 8201 8202Linear. 8203 8204[heading Return Value] 8205The index corrosponding to the last occurrence of `c` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8206[heading Parameters] 8207[table [[Name][Description]] 8208 [ 8209 [`c` 8210 ] 8211 [ 8212The character to search for. 8213 ] 8214 ] 8215 [ 8216 [`pos` 8217 ] 8218 [ 8219The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8220 ] 8221 ] 8222] 8223 8224[endsect] 8225 8226 8227[endsect] 8228 8229[section:find_first_not_of basic_static_string::find_first_not_of] 8230[indexterm2 find_first_not_of..basic_static_string] 8231 8232 8233Find the first occurrence of a character not within the string. 8234``` 8235template< 8236 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 8237constexpr size_type 8238``[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload1 find_first_not_of]``( 8239 const T& t, 8240 size_type pos = 0) const; 8241 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload1 `more...`]]`` 8242``` 8243 8244 8245Find the first occurrence of any of the characters not within the string. 8246``` 8247template< 8248 std::size_t M> 8249constexpr size_type 8250``[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload2 find_first_not_of]``( 8251 const basic_static_string< M, CharT, Traits >& str, 8252 size_type pos = 0) const; 8253 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload2 `more...`]]`` 8254 8255constexpr size_type 8256``[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload3 find_first_not_of]``( 8257 const_pointer s, 8258 size_type pos, 8259 size_type n) const; 8260 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload3 `more...`]]`` 8261 8262constexpr size_type 8263``[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload4 find_first_not_of]``( 8264 const_pointer s, 8265 size_type pos = 0) const; 8266 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload4 `more...`]]`` 8267``` 8268 8269 8270Find the first occurrence of a character not equal to `c`. 8271``` 8272constexpr size_type 8273``[link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload5 find_first_not_of]``( 8274 value_type c, 8275 size_type pos = 0) const; 8276 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_first_not_of.overload5 `more...`]]`` 8277``` 8278 8279[section:overload1 basic_static_string::find_first_not_of (1 of 5 overloads)] 8280 8281Find the first occurrence of a character not within the string. 8282[heading Synopsis] 8283``` 8284template< 8285 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 8286constexpr size_type 8287find_first_not_of( 8288 const T& t, 8289 size_type pos = 0) const; 8290``` 8291 8292[heading Description] 8293Constructs a temporary `string_view_type` object `sv` from `t`, and finds the first character that is not within `sv`, starting at the index `pos`. 8294 8295[heading Complexity] 8296 8297Linear. 8298 8299[heading Template Parameters] 8300[table [[Type][Description]] 8301 [ 8302 [`T` 8303 ] 8304 [ 8305The type of the object to convert. 8306 ] 8307 ] 8308] 8309[heading Constraints] 8310 8311`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 8312 8313[heading Return Value] 8314The index corrosponding to the first occurrence of a character that is not in `{sv.begin(), sv.end())` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8315[heading Parameters] 8316[table [[Name][Description]] 8317 [ 8318 [`t` 8319 ] 8320 [ 8321The characters to ignore. 8322 ] 8323 ] 8324 [ 8325 [`pos` 8326 ] 8327 [ 8328The index to start searching at. The default argument for this parameter is `0`. 8329 ] 8330 ] 8331] 8332 8333[endsect] 8334 8335[section:overload2 basic_static_string::find_first_not_of (2 of 5 overloads)] 8336 8337Find the first occurrence of any of the characters not within the string. 8338[heading Synopsis] 8339``` 8340template< 8341 std::size_t M> 8342constexpr size_type 8343find_first_not_of( 8344 const basic_static_string< M, CharT, Traits >& str, 8345 size_type pos = 0) const; 8346``` 8347 8348[heading Description] 8349Finds the first occurrence of a character that is not within `str` within the string starting at the index `pos`. 8350 8351[heading Complexity] 8352 8353Linear. 8354 8355[heading Return Value] 8356The index corrosponding to the first character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) that is not within `str` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8357[heading Parameters] 8358[table [[Name][Description]] 8359 [ 8360 [`str` 8361 ] 8362 [ 8363The characters to ignore. 8364 ] 8365 ] 8366 [ 8367 [`pos` 8368 ] 8369 [ 8370The index to start searching at. The default argument for this parameter is `0`. 8371 ] 8372 ] 8373] 8374 8375[endsect] 8376 8377[section:overload3 basic_static_string::find_first_not_of (3 of 5 overloads)] 8378 8379Find the first occurrence of any of the characters not within the string. 8380[heading Synopsis] 8381``` 8382constexpr size_type 8383find_first_not_of( 8384 const_pointer s, 8385 size_type pos, 8386 size_type n) const; 8387``` 8388 8389[heading Description] 8390Finds the first occurrence of a character that is not within the string pointed to by `s` within the string starting at the index `pos`. 8391 8392[heading Complexity] 8393 8394Linear. 8395 8396[heading Return Value] 8397The index corrosponding to the first character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) that is not within `{s, s + n)` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8398[heading Parameters] 8399[table [[Name][Description]] 8400 [ 8401 [`s` 8402 ] 8403 [ 8404The characters to ignore. 8405 ] 8406 ] 8407 [ 8408 [`pos` 8409 ] 8410 [ 8411The index to start searching at. The default argument for this parameter is `0`. 8412 ] 8413 ] 8414 [ 8415 [`n` 8416 ] 8417 [ 8418The length of the characters to ignore. 8419 ] 8420 ] 8421] 8422 8423[endsect] 8424 8425[section:overload4 basic_static_string::find_first_not_of (4 of 5 overloads)] 8426 8427Find the first occurrence of any of the characters not within the string. 8428[heading Synopsis] 8429``` 8430constexpr size_type 8431find_first_not_of( 8432 const_pointer s, 8433 size_type pos = 0) const; 8434``` 8435 8436[heading Description] 8437Finds the first occurrence of a character that is not within the string pointed to by `s` of length `count` within the string starting at the index `pos`, where `count` is `traits_type::length(s)`. 8438 8439[heading Complexity] 8440 8441Linear. 8442 8443[heading Return Value] 8444The index corrosponding to the first character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) that is not within `{s, s + count)` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8445[heading Parameters] 8446[table [[Name][Description]] 8447 [ 8448 [`s` 8449 ] 8450 [ 8451The characters to ignore. 8452 ] 8453 ] 8454 [ 8455 [`pos` 8456 ] 8457 [ 8458The index to start searching at. The default argument for this parameter is `0`. 8459 ] 8460 ] 8461] 8462 8463[endsect] 8464 8465[section:overload5 basic_static_string::find_first_not_of (5 of 5 overloads)] 8466 8467Find the first occurrence of a character not equal to `c`. 8468[heading Synopsis] 8469``` 8470constexpr size_type 8471find_first_not_of( 8472 value_type c, 8473 size_type pos = 0) const; 8474``` 8475 8476[heading Description] 8477Finds the first occurrence of a character that is not equal to `c`. 8478 8479[heading Complexity] 8480 8481Linear. 8482 8483[heading Return Value] 8484The index corrosponding to the first character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos, [link static_string.ref.boost__static_strings__basic_static_string.end.overload1 `end()`]) that is not equal to `c` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8485[heading Parameters] 8486[table [[Name][Description]] 8487 [ 8488 [`c` 8489 ] 8490 [ 8491The character to ignore. 8492 ] 8493 ] 8494 [ 8495 [`pos` 8496 ] 8497 [ 8498The index to start searching at. The default argument for this parameter is `0`. 8499 ] 8500 ] 8501] 8502 8503[endsect] 8504 8505 8506[endsect] 8507 8508[section:find_last_not_of basic_static_string::find_last_not_of] 8509[indexterm2 find_last_not_of..basic_static_string] 8510 8511 8512Find the last occurrence of a character not within the string. 8513``` 8514template< 8515 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 8516constexpr size_type 8517``[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload1 find_last_not_of]``( 8518 const T& t, 8519 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8520 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload1 `more...`]]`` 8521 8522template< 8523 size_t M> 8524constexpr size_type 8525``[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload2 find_last_not_of]``( 8526 const basic_static_string< M, CharT, Traits >& str, 8527 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8528 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload2 `more...`]]`` 8529 8530constexpr size_type 8531``[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload3 find_last_not_of]``( 8532 const_pointer s, 8533 size_type pos, 8534 size_type n) const; 8535 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload3 `more...`]]`` 8536 8537constexpr size_type 8538``[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload4 find_last_not_of]``( 8539 const_pointer s, 8540 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8541 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload4 `more...`]]`` 8542``` 8543 8544 8545Find the last occurrence of a character not equal to `c`. 8546``` 8547constexpr size_type 8548``[link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload5 find_last_not_of]``( 8549 value_type c, 8550 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8551 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.find_last_not_of.overload5 `more...`]]`` 8552``` 8553 8554[section:overload1 basic_static_string::find_last_not_of (1 of 5 overloads)] 8555 8556Find the last occurrence of a character not within the string. 8557[heading Synopsis] 8558``` 8559template< 8560 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 8561constexpr size_type 8562find_last_not_of( 8563 const T& t, 8564 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8565``` 8566 8567[heading Description] 8568Constructs a temporary `string_view_type` object `sv` from `t`, and finds the last character that is not within `sv`, starting at the index `pos`. 8569 8570[heading Complexity] 8571 8572Linear. 8573 8574[heading Template Parameters] 8575[table [[Type][Description]] 8576 [ 8577 [`T` 8578 ] 8579 [ 8580The type of the object to convert. 8581 ] 8582 ] 8583] 8584[heading Constraints] 8585 8586`std::is_convertible<const T&, string_view>::value && !std::is_convertible<const T&, const CharT*>::value`. 8587 8588[heading Return Value] 8589The index corrosponding to the last occurrence of a character that is not in `{sv.begin(), sv.end())` within {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8590[heading Parameters] 8591[table [[Name][Description]] 8592 [ 8593 [`t` 8594 ] 8595 [ 8596The characters to ignore. 8597 ] 8598 ] 8599 [ 8600 [`pos` 8601 ] 8602 [ 8603The index to start searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8604 ] 8605 ] 8606] 8607 8608[endsect] 8609 8610[section:overload2 basic_static_string::find_last_not_of (2 of 5 overloads)] 8611 8612Find the last occurrence of a character not within the string. 8613[heading Synopsis] 8614``` 8615template< 8616 size_t M> 8617constexpr size_type 8618find_last_not_of( 8619 const basic_static_string< M, CharT, Traits >& str, 8620 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8621``` 8622 8623[heading Description] 8624Finds the last occurrence of a character that is not within `str` within the string before or at the index `pos`. 8625 8626[heading Complexity] 8627 8628Linear. 8629 8630[heading Return Value] 8631The index corrosponding to the last character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} that is not within `str` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8632[heading Parameters] 8633[table [[Name][Description]] 8634 [ 8635 [`str` 8636 ] 8637 [ 8638The characters to ignore. 8639 ] 8640 ] 8641 [ 8642 [`pos` 8643 ] 8644 [ 8645The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8646 ] 8647 ] 8648] 8649 8650[endsect] 8651 8652[section:overload3 basic_static_string::find_last_not_of (3 of 5 overloads)] 8653 8654Find the last occurrence of a character not within the string. 8655[heading Synopsis] 8656``` 8657constexpr size_type 8658find_last_not_of( 8659 const_pointer s, 8660 size_type pos, 8661 size_type n) const; 8662``` 8663 8664[heading Description] 8665Finds the last occurrence of a character that is not within the string pointed to by `s` within the string before or at the index `pos`. 8666 8667[heading Complexity] 8668 8669Linear. 8670 8671[heading Return Value] 8672The index corrosponding to the last character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} that is not within `{s, s + n)` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8673[heading Parameters] 8674[table [[Name][Description]] 8675 [ 8676 [`s` 8677 ] 8678 [ 8679The characters to ignore. 8680 ] 8681 ] 8682 [ 8683 [`pos` 8684 ] 8685 [ 8686The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8687 ] 8688 ] 8689 [ 8690 [`n` 8691 ] 8692 [ 8693The length of the characters to ignore. 8694 ] 8695 ] 8696] 8697 8698[endsect] 8699 8700[section:overload4 basic_static_string::find_last_not_of (4 of 5 overloads)] 8701 8702Find the last occurrence of a character not within the string. 8703[heading Synopsis] 8704``` 8705constexpr size_type 8706find_last_not_of( 8707 const_pointer s, 8708 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8709``` 8710 8711[heading Description] 8712Finds the last occurrence of a character that is not within the string pointed to by `s` of length `count` within the string before or at the index `pos`, where `count` is `traits_type::length(s)`. 8713 8714[heading Complexity] 8715 8716Linear. 8717 8718[heading Return Value] 8719The index corrosponding to the last character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} that is not within `{s, s + count)` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8720[heading Parameters] 8721[table [[Name][Description]] 8722 [ 8723 [`s` 8724 ] 8725 [ 8726The characters to ignore. 8727 ] 8728 ] 8729 [ 8730 [`pos` 8731 ] 8732 [ 8733The index to stop searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8734 ] 8735 ] 8736] 8737 8738[endsect] 8739 8740[section:overload5 basic_static_string::find_last_not_of (5 of 5 overloads)] 8741 8742Find the last occurrence of a character not equal to `c`. 8743[heading Synopsis] 8744``` 8745constexpr size_type 8746find_last_not_of( 8747 value_type c, 8748 size_type pos = ``[link static_string.ref.boost__static_strings__basic_static_string.npos npos]``) const; 8749``` 8750 8751[heading Description] 8752Finds the last occurrence of a character that is not equal to `c` before or at the index `pos`. 8753 8754[heading Complexity] 8755 8756Linear. 8757 8758[heading Return Value] 8759The index corrosponding to the last character of {[link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`], [link static_string.ref.boost__static_strings__basic_static_string.begin.overload1 `begin()`] + pos} that is not equal to `c` if it exists, and [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`] otherwise. 8760[heading Parameters] 8761[table [[Name][Description]] 8762 [ 8763 [`c` 8764 ] 8765 [ 8766The character to ignore. 8767 ] 8768 ] 8769 [ 8770 [`pos` 8771 ] 8772 [ 8773The index to start searching at. The default argument for this parameter is [link static_string.ref.boost__static_strings__basic_static_string.npos `npos`]. 8774 ] 8775 ] 8776] 8777 8778[endsect] 8779 8780 8781[endsect] 8782 8783[section:starts_with basic_static_string::starts_with] 8784[indexterm2 starts_with..basic_static_string] 8785 8786 8787Return whether the string begins with a string. 8788``` 8789constexpr bool 8790``[link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload1 starts_with]``( 8791 string_view_type s) const; 8792 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload1 `more...`]]`` 8793``` 8794 8795 8796Return whether the string begins with a character. 8797``` 8798constexpr bool 8799``[link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload2 starts_with]``( 8800 value_type c) const; 8801 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload2 `more...`]]`` 8802 8803constexpr bool 8804``[link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload3 starts_with]``( 8805 const_pointer s) const; 8806 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.starts_with.overload3 `more...`]]`` 8807``` 8808 8809[section:overload1 basic_static_string::starts_with (1 of 3 overloads)] 8810 8811Return whether the string begins with a string. 8812[heading Synopsis] 8813``` 8814constexpr bool 8815starts_with( 8816 string_view_type s) const; 8817``` 8818 8819[heading Description] 8820Returns `true` if the string begins with `s`, and `false` otherwise. 8821 8822[heading Complexity] 8823 8824Linear. 8825 8826[heading Parameters] 8827[table [[Name][Description]] 8828 [ 8829 [`s` 8830 ] 8831 [ 8832The string view to check for. 8833 ] 8834 ] 8835] 8836 8837[endsect] 8838 8839[section:overload2 basic_static_string::starts_with (2 of 3 overloads)] 8840 8841Return whether the string begins with a character. 8842[heading Synopsis] 8843``` 8844constexpr bool 8845starts_with( 8846 value_type c) const; 8847``` 8848 8849[heading Description] 8850Returns `true` if the string begins with `c`, and `false` otherwise. 8851 8852[heading Complexity] 8853 8854Constant. 8855 8856[heading Parameters] 8857[table [[Name][Description]] 8858 [ 8859 [`c` 8860 ] 8861 [ 8862The character to check for. 8863 ] 8864 ] 8865] 8866 8867[endsect] 8868 8869[section:overload3 basic_static_string::starts_with (3 of 3 overloads)] 8870 8871Return whether the string begins with a string. 8872[heading Synopsis] 8873``` 8874constexpr bool 8875starts_with( 8876 const_pointer s) const; 8877``` 8878 8879[heading Description] 8880Returns `true` if the string begins with the string pointed to be `s` of length `traits_type::length(s)`, and `false` otherwise. 8881 8882[heading Complexity] 8883 8884Linear. 8885 8886[heading Parameters] 8887[table [[Name][Description]] 8888 [ 8889 [`s` 8890 ] 8891 [ 8892The string to check for. 8893 ] 8894 ] 8895] 8896 8897[endsect] 8898 8899 8900[endsect] 8901 8902[section:ends_with basic_static_string::ends_with] 8903[indexterm2 ends_with..basic_static_string] 8904 8905 8906Return whether the string ends with a string. 8907``` 8908constexpr bool 8909``[link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload1 ends_with]``( 8910 string_view_type s) const; 8911 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload1 `more...`]]`` 8912``` 8913 8914 8915Return whether the string ends with a character. 8916``` 8917constexpr bool 8918``[link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload2 ends_with]``( 8919 value_type c) const; 8920 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload2 `more...`]]`` 8921 8922constexpr bool 8923``[link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload3 ends_with]``( 8924 const_pointer s) const; 8925 ``[''''»''' [link static_string.ref.boost__static_strings__basic_static_string.ends_with.overload3 `more...`]]`` 8926``` 8927 8928[section:overload1 basic_static_string::ends_with (1 of 3 overloads)] 8929 8930Return whether the string ends with a string. 8931[heading Synopsis] 8932``` 8933constexpr bool 8934ends_with( 8935 string_view_type s) const; 8936``` 8937 8938[heading Description] 8939Returns `true` if the string ends with `s`, and `false` otherwise. 8940 8941[heading Complexity] 8942 8943Linear. 8944 8945[heading Parameters] 8946[table [[Name][Description]] 8947 [ 8948 [`s` 8949 ] 8950 [ 8951The string view to check for. 8952 ] 8953 ] 8954] 8955 8956[endsect] 8957 8958[section:overload2 basic_static_string::ends_with (2 of 3 overloads)] 8959 8960Return whether the string ends with a character. 8961[heading Synopsis] 8962``` 8963constexpr bool 8964ends_with( 8965 value_type c) const; 8966``` 8967 8968[heading Description] 8969Returns `true` if the string ends with `c`, and `false` otherwise. 8970 8971[heading Complexity] 8972 8973Constant. 8974 8975[heading Parameters] 8976[table [[Name][Description]] 8977 [ 8978 [`c` 8979 ] 8980 [ 8981The character to check for. 8982 ] 8983 ] 8984] 8985 8986[endsect] 8987 8988[section:overload3 basic_static_string::ends_with (3 of 3 overloads)] 8989 8990Return whether the string ends with a string. 8991[heading Synopsis] 8992``` 8993constexpr bool 8994ends_with( 8995 const_pointer s) const; 8996``` 8997 8998[heading Description] 8999Returns `true` if the string ends with the string pointed to be `s` of length `traits_type::length(s)`, and `false` otherwise. 9000 9001[heading Complexity] 9002 9003Linear. 9004 9005[heading Parameters] 9006[table [[Name][Description]] 9007 [ 9008 [`s` 9009 ] 9010 [ 9011The string to check for. 9012 ] 9013 ] 9014] 9015 9016[endsect] 9017 9018 9019[endsect] 9020 9021 9022[endsect] 9023 9024[section:std__hash_lt__basic_static_string__gt_ std::hash< basic_static_string >] 9025 9026[heading Synopsis] 9027Defined in header [include_file boost/static_string/static_string.hpp] 9028 9029``` 9030template< 9031 std::size_t N, 9032 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9033 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9034struct hash< basic_static_string > 9035``` 9036 9037[heading Member Functions] 9038[table [[Name][Description]] 9039 [ 9040 [[*[link static_string.ref.std__hash_lt__basic_static_string__gt_.operator_lp__rp_ operator()]] 9041 ] 9042 [ 9043 9044 ] 9045 ] 9046] 9047[heading Description] 9048 9049[section:operator_lp__rp_ std::hash< basic_static_string >::operator()] 9050[indexterm2 operator()..std::hash< basic_static_string >] 9051 9052 9053[heading Synopsis] 9054``` 9055std::size_t 9056operator()( 9057 const boost::static_strings::basic_static_string< N, CharT, Traits >& str) const; 9058``` 9059 9060[heading Description] 9061 9062[endsect] 9063 9064 9065[endsect] 9066 9067[section:boost__static_strings__basic_string_view basic_string_view] 9068[indexterm1 basic_string_view] 9069 9070 9071The type of `basic_string_view` used by the library. 9072[heading Synopsis] 9073Defined in header [include_file boost/static_string/config.hpp] 9074 9075``` 9076template< 9077 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9078 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9079using basic_string_view = #ifndef BOOST_STATIC_STRING_STANDALONE boost::basic_string_view< CharT, Traits >; 9080``` 9081 9082[heading Description] 9083 9084 9085[endsect] 9086 9087[section:boost__static_strings__operator_eq__eq_ operator==] 9088[indexterm1 operator==] 9089 9090 9091``` 9092template< 9093 std::size_t N, 9094 std::size_t M, 9095 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9096 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9097constexpr bool 9098``[link static_string.ref.boost__static_strings__operator_eq__eq_.overload1 operator==]``( 9099 const basic_static_string< N, CharT, Traits >& lhs, 9100 const basic_static_string< M, CharT, Traits >& rhs); 9101 ``[''''»''' [link static_string.ref.boost__static_strings__operator_eq__eq_.overload1 `more...`]]`` 9102 9103template< 9104 std::size_t N, 9105 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9106 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9107constexpr bool 9108``[link static_string.ref.boost__static_strings__operator_eq__eq_.overload2 operator==]``( 9109 const CharT* lhs, 9110 const basic_static_string< N, CharT, Traits >& rhs); 9111 ``[''''»''' [link static_string.ref.boost__static_strings__operator_eq__eq_.overload2 `more...`]]`` 9112 9113template< 9114 std::size_t N, 9115 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9116 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9117constexpr bool 9118``[link static_string.ref.boost__static_strings__operator_eq__eq_.overload3 operator==]``( 9119 const basic_static_string< N, CharT, Traits >& lhs, 9120 const CharT* rhs); 9121 ``[''''»''' [link static_string.ref.boost__static_strings__operator_eq__eq_.overload3 `more...`]]`` 9122``` 9123 9124[section:overload1 operator== (1 of 3 overloads)] 9125 9126[heading Synopsis] 9127Defined in header [include_file boost/static_string/static_string.hpp] 9128 9129``` 9130template< 9131 std::size_t N, 9132 std::size_t M, 9133 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9134 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9135constexpr bool 9136operator==( 9137 const basic_static_string< N, CharT, Traits >& lhs, 9138 const basic_static_string< M, CharT, Traits >& rhs); 9139``` 9140 9141[heading Description] 9142 9143 9144[endsect] 9145 9146[section:overload2 operator== (2 of 3 overloads)] 9147 9148[heading Synopsis] 9149Defined in header [include_file boost/static_string/static_string.hpp] 9150 9151``` 9152template< 9153 std::size_t N, 9154 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9155 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9156constexpr bool 9157operator==( 9158 const CharT* lhs, 9159 const basic_static_string< N, CharT, Traits >& rhs); 9160``` 9161 9162[heading Description] 9163 9164 9165[endsect] 9166 9167[section:overload3 operator== (3 of 3 overloads)] 9168 9169[heading Synopsis] 9170Defined in header [include_file boost/static_string/static_string.hpp] 9171 9172``` 9173template< 9174 std::size_t N, 9175 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9176 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9177constexpr bool 9178operator==( 9179 const basic_static_string< N, CharT, Traits >& lhs, 9180 const CharT* rhs); 9181``` 9182 9183[heading Description] 9184 9185 9186[endsect] 9187 9188 9189[endsect] 9190 9191[section:boost__static_strings__operator_not__eq_ operator!=] 9192[indexterm1 operator!=] 9193 9194 9195``` 9196template< 9197 std::size_t N, 9198 std::size_t M, 9199 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9200 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9201constexpr bool 9202``[link static_string.ref.boost__static_strings__operator_not__eq_.overload1 operator!=]``( 9203 const basic_static_string< N, CharT, Traits >& lhs, 9204 const basic_static_string< M, CharT, Traits >& rhs); 9205 ``[''''»''' [link static_string.ref.boost__static_strings__operator_not__eq_.overload1 `more...`]]`` 9206 9207template< 9208 std::size_t N, 9209 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9210 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9211constexpr bool 9212``[link static_string.ref.boost__static_strings__operator_not__eq_.overload2 operator!=]``( 9213 const CharT* lhs, 9214 const basic_static_string< N, CharT, Traits >& rhs); 9215 ``[''''»''' [link static_string.ref.boost__static_strings__operator_not__eq_.overload2 `more...`]]`` 9216 9217template< 9218 std::size_t N, 9219 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9220 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9221constexpr bool 9222``[link static_string.ref.boost__static_strings__operator_not__eq_.overload3 operator!=]``( 9223 const basic_static_string< N, CharT, Traits >& lhs, 9224 const CharT* rhs); 9225 ``[''''»''' [link static_string.ref.boost__static_strings__operator_not__eq_.overload3 `more...`]]`` 9226``` 9227 9228[section:overload1 operator!= (1 of 3 overloads)] 9229 9230[heading Synopsis] 9231Defined in header [include_file boost/static_string/static_string.hpp] 9232 9233``` 9234template< 9235 std::size_t N, 9236 std::size_t M, 9237 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9238 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9239constexpr bool 9240operator!=( 9241 const basic_static_string< N, CharT, Traits >& lhs, 9242 const basic_static_string< M, CharT, Traits >& rhs); 9243``` 9244 9245[heading Description] 9246 9247 9248[endsect] 9249 9250[section:overload2 operator!= (2 of 3 overloads)] 9251 9252[heading Synopsis] 9253Defined in header [include_file boost/static_string/static_string.hpp] 9254 9255``` 9256template< 9257 std::size_t N, 9258 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9259 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9260constexpr bool 9261operator!=( 9262 const CharT* lhs, 9263 const basic_static_string< N, CharT, Traits >& rhs); 9264``` 9265 9266[heading Description] 9267 9268 9269[endsect] 9270 9271[section:overload3 operator!= (3 of 3 overloads)] 9272 9273[heading Synopsis] 9274Defined in header [include_file boost/static_string/static_string.hpp] 9275 9276``` 9277template< 9278 std::size_t N, 9279 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9280 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9281constexpr bool 9282operator!=( 9283 const basic_static_string< N, CharT, Traits >& lhs, 9284 const CharT* rhs); 9285``` 9286 9287[heading Description] 9288 9289 9290[endsect] 9291 9292 9293[endsect] 9294 9295[section:boost__static_strings__operator_lt_ operator<] 9296[indexterm1 operator<] 9297 9298 9299``` 9300template< 9301 std::size_t N, 9302 std::size_t M, 9303 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9304 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9305constexpr bool 9306``[link static_string.ref.boost__static_strings__operator_lt_.overload1 operator<]``( 9307 const basic_static_string< N, CharT, Traits >& lhs, 9308 const basic_static_string< M, CharT, Traits >& rhs); 9309 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt_.overload1 `more...`]]`` 9310 9311template< 9312 std::size_t N, 9313 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9314 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9315constexpr bool 9316``[link static_string.ref.boost__static_strings__operator_lt_.overload2 operator<]``( 9317 const CharT* lhs, 9318 const basic_static_string< N, CharT, Traits >& rhs); 9319 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt_.overload2 `more...`]]`` 9320 9321template< 9322 std::size_t N, 9323 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9324 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9325constexpr bool 9326``[link static_string.ref.boost__static_strings__operator_lt_.overload3 operator<]``( 9327 const basic_static_string< N, CharT, Traits >& lhs, 9328 const CharT* rhs); 9329 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt_.overload3 `more...`]]`` 9330``` 9331 9332[section:overload1 operator< (1 of 3 overloads)] 9333 9334[heading Synopsis] 9335Defined in header [include_file boost/static_string/static_string.hpp] 9336 9337``` 9338template< 9339 std::size_t N, 9340 std::size_t M, 9341 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9342 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9343constexpr bool 9344operator<( 9345 const basic_static_string< N, CharT, Traits >& lhs, 9346 const basic_static_string< M, CharT, Traits >& rhs); 9347``` 9348 9349[heading Description] 9350 9351 9352[endsect] 9353 9354[section:overload2 operator< (2 of 3 overloads)] 9355 9356[heading Synopsis] 9357Defined in header [include_file boost/static_string/static_string.hpp] 9358 9359``` 9360template< 9361 std::size_t N, 9362 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9363 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9364constexpr bool 9365operator<( 9366 const CharT* lhs, 9367 const basic_static_string< N, CharT, Traits >& rhs); 9368``` 9369 9370[heading Description] 9371 9372 9373[endsect] 9374 9375[section:overload3 operator< (3 of 3 overloads)] 9376 9377[heading Synopsis] 9378Defined in header [include_file boost/static_string/static_string.hpp] 9379 9380``` 9381template< 9382 std::size_t N, 9383 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9384 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9385constexpr bool 9386operator<( 9387 const basic_static_string< N, CharT, Traits >& lhs, 9388 const CharT* rhs); 9389``` 9390 9391[heading Description] 9392 9393 9394[endsect] 9395 9396 9397[endsect] 9398 9399[section:boost__static_strings__operator_lt__eq_ operator<=] 9400[indexterm1 operator<=] 9401 9402 9403``` 9404template< 9405 std::size_t N, 9406 std::size_t M, 9407 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9408 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9409constexpr bool 9410``[link static_string.ref.boost__static_strings__operator_lt__eq_.overload1 operator<=]``( 9411 const basic_static_string< N, CharT, Traits >& lhs, 9412 const basic_static_string< M, CharT, Traits >& rhs); 9413 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt__eq_.overload1 `more...`]]`` 9414 9415template< 9416 std::size_t N, 9417 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9418 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9419constexpr bool 9420``[link static_string.ref.boost__static_strings__operator_lt__eq_.overload2 operator<=]``( 9421 const CharT* lhs, 9422 const basic_static_string< N, CharT, Traits >& rhs); 9423 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt__eq_.overload2 `more...`]]`` 9424 9425template< 9426 std::size_t N, 9427 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9428 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9429constexpr bool 9430``[link static_string.ref.boost__static_strings__operator_lt__eq_.overload3 operator<=]``( 9431 const basic_static_string< N, CharT, Traits >& lhs, 9432 const CharT* rhs); 9433 ``[''''»''' [link static_string.ref.boost__static_strings__operator_lt__eq_.overload3 `more...`]]`` 9434``` 9435 9436[section:overload1 operator<= (1 of 3 overloads)] 9437 9438[heading Synopsis] 9439Defined in header [include_file boost/static_string/static_string.hpp] 9440 9441``` 9442template< 9443 std::size_t N, 9444 std::size_t M, 9445 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9446 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9447constexpr bool 9448operator<=( 9449 const basic_static_string< N, CharT, Traits >& lhs, 9450 const basic_static_string< M, CharT, Traits >& rhs); 9451``` 9452 9453[heading Description] 9454 9455 9456[endsect] 9457 9458[section:overload2 operator<= (2 of 3 overloads)] 9459 9460[heading Synopsis] 9461Defined in header [include_file boost/static_string/static_string.hpp] 9462 9463``` 9464template< 9465 std::size_t N, 9466 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9467 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9468constexpr bool 9469operator<=( 9470 const CharT* lhs, 9471 const basic_static_string< N, CharT, Traits >& rhs); 9472``` 9473 9474[heading Description] 9475 9476 9477[endsect] 9478 9479[section:overload3 operator<= (3 of 3 overloads)] 9480 9481[heading Synopsis] 9482Defined in header [include_file boost/static_string/static_string.hpp] 9483 9484``` 9485template< 9486 std::size_t N, 9487 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9488 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9489constexpr bool 9490operator<=( 9491 const basic_static_string< N, CharT, Traits >& lhs, 9492 const CharT* rhs); 9493``` 9494 9495[heading Description] 9496 9497 9498[endsect] 9499 9500 9501[endsect] 9502 9503[section:boost__static_strings__operator_gt_ operator>] 9504[indexterm1 operator>] 9505 9506 9507``` 9508template< 9509 std::size_t N, 9510 std::size_t M, 9511 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9512 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9513constexpr bool 9514``[link static_string.ref.boost__static_strings__operator_gt_.overload1 operator>]``( 9515 const basic_static_string< N, CharT, Traits >& lhs, 9516 const basic_static_string< M, CharT, Traits >& rhs); 9517 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt_.overload1 `more...`]]`` 9518 9519template< 9520 std::size_t N, 9521 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9522 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9523constexpr bool 9524``[link static_string.ref.boost__static_strings__operator_gt_.overload2 operator>]``( 9525 const CharT* lhs, 9526 const basic_static_string< N, CharT, Traits >& rhs); 9527 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt_.overload2 `more...`]]`` 9528 9529template< 9530 std::size_t N, 9531 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9532 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9533constexpr bool 9534``[link static_string.ref.boost__static_strings__operator_gt_.overload3 operator>]``( 9535 const basic_static_string< N, CharT, Traits >& lhs, 9536 const CharT* rhs); 9537 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt_.overload3 `more...`]]`` 9538``` 9539 9540[section:overload1 operator> (1 of 3 overloads)] 9541 9542[heading Synopsis] 9543Defined in header [include_file boost/static_string/static_string.hpp] 9544 9545``` 9546template< 9547 std::size_t N, 9548 std::size_t M, 9549 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9550 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9551constexpr bool 9552operator>( 9553 const basic_static_string< N, CharT, Traits >& lhs, 9554 const basic_static_string< M, CharT, Traits >& rhs); 9555``` 9556 9557[heading Description] 9558 9559 9560[endsect] 9561 9562[section:overload2 operator> (2 of 3 overloads)] 9563 9564[heading Synopsis] 9565Defined in header [include_file boost/static_string/static_string.hpp] 9566 9567``` 9568template< 9569 std::size_t N, 9570 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9571 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9572constexpr bool 9573operator>( 9574 const CharT* lhs, 9575 const basic_static_string< N, CharT, Traits >& rhs); 9576``` 9577 9578[heading Description] 9579 9580 9581[endsect] 9582 9583[section:overload3 operator> (3 of 3 overloads)] 9584 9585[heading Synopsis] 9586Defined in header [include_file boost/static_string/static_string.hpp] 9587 9588``` 9589template< 9590 std::size_t N, 9591 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9592 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9593constexpr bool 9594operator>( 9595 const basic_static_string< N, CharT, Traits >& lhs, 9596 const CharT* rhs); 9597``` 9598 9599[heading Description] 9600 9601 9602[endsect] 9603 9604 9605[endsect] 9606 9607[section:boost__static_strings__operator_gt__eq_ operator>=] 9608[indexterm1 operator>=] 9609 9610 9611``` 9612template< 9613 std::size_t N, 9614 std::size_t M, 9615 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9616 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9617constexpr bool 9618``[link static_string.ref.boost__static_strings__operator_gt__eq_.overload1 operator>=]``( 9619 const basic_static_string< N, CharT, Traits >& lhs, 9620 const basic_static_string< M, CharT, Traits >& rhs); 9621 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt__eq_.overload1 `more...`]]`` 9622 9623template< 9624 std::size_t N, 9625 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9626 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9627constexpr bool 9628``[link static_string.ref.boost__static_strings__operator_gt__eq_.overload2 operator>=]``( 9629 const CharT* lhs, 9630 const basic_static_string< N, CharT, Traits >& rhs); 9631 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt__eq_.overload2 `more...`]]`` 9632 9633template< 9634 std::size_t N, 9635 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9636 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9637constexpr bool 9638``[link static_string.ref.boost__static_strings__operator_gt__eq_.overload3 operator>=]``( 9639 const basic_static_string< N, CharT, Traits >& lhs, 9640 const CharT* rhs); 9641 ``[''''»''' [link static_string.ref.boost__static_strings__operator_gt__eq_.overload3 `more...`]]`` 9642``` 9643 9644[section:overload1 operator>= (1 of 3 overloads)] 9645 9646[heading Synopsis] 9647Defined in header [include_file boost/static_string/static_string.hpp] 9648 9649``` 9650template< 9651 std::size_t N, 9652 std::size_t M, 9653 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9654 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9655constexpr bool 9656operator>=( 9657 const basic_static_string< N, CharT, Traits >& lhs, 9658 const basic_static_string< M, CharT, Traits >& rhs); 9659``` 9660 9661[heading Description] 9662 9663 9664[endsect] 9665 9666[section:overload2 operator>= (2 of 3 overloads)] 9667 9668[heading Synopsis] 9669Defined in header [include_file boost/static_string/static_string.hpp] 9670 9671``` 9672template< 9673 std::size_t N, 9674 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9675 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9676constexpr bool 9677operator>=( 9678 const CharT* lhs, 9679 const basic_static_string< N, CharT, Traits >& rhs); 9680``` 9681 9682[heading Description] 9683 9684 9685[endsect] 9686 9687[section:overload3 operator>= (3 of 3 overloads)] 9688 9689[heading Synopsis] 9690Defined in header [include_file boost/static_string/static_string.hpp] 9691 9692``` 9693template< 9694 std::size_t N, 9695 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9696 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9697constexpr bool 9698operator>=( 9699 const basic_static_string< N, CharT, Traits >& lhs, 9700 const CharT* rhs); 9701``` 9702 9703[heading Description] 9704 9705 9706[endsect] 9707 9708 9709[endsect] 9710 9711[section:boost__static_strings__operator_plus_ operator+] 9712[indexterm1 operator+] 9713 9714 9715``` 9716template< 9717 std::size_t N, 9718 std::size_t M, 9719 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9720 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9721constexpr basic_static_string< N+M, CharT, Traits > 9722``[link static_string.ref.boost__static_strings__operator_plus_.overload1 operator+]``( 9723 const basic_static_string< N, CharT, Traits >& lhs, 9724 const basic_static_string< M, CharT, Traits >& rhs); 9725 ``[''''»''' [link static_string.ref.boost__static_strings__operator_plus_.overload1 `more...`]]`` 9726 9727template< 9728 std::size_t N, 9729 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9730 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9731constexpr basic_static_string< N+1, CharT, Traits > 9732``[link static_string.ref.boost__static_strings__operator_plus_.overload2 operator+]``( 9733 const basic_static_string< N, CharT, Traits >& lhs, 9734 CharT rhs); 9735 ``[''''»''' [link static_string.ref.boost__static_strings__operator_plus_.overload2 `more...`]]`` 9736 9737template< 9738 std::size_t N, 9739 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9740 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9741constexpr basic_static_string< N+1, CharT, Traits > 9742``[link static_string.ref.boost__static_strings__operator_plus_.overload3 operator+]``( 9743 CharT lhs, 9744 const basic_static_string< N, CharT, Traits >& rhs); 9745 ``[''''»''' [link static_string.ref.boost__static_strings__operator_plus_.overload3 `more...`]]`` 9746 9747template< 9748 std::size_t N, 9749 std::size_t M, 9750 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9751 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9752constexpr basic_static_string< N+M, CharT, Traits > 9753``[link static_string.ref.boost__static_strings__operator_plus_.overload4 operator+]``( 9754 const basic_static_string< N, CharT, Traits >& lhs, 9755 const CharT(&) rhs[M]); 9756 ``[''''»''' [link static_string.ref.boost__static_strings__operator_plus_.overload4 `more...`]]`` 9757 9758template< 9759 std::size_t N, 9760 std::size_t M, 9761 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9762 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9763constexpr basic_static_string< N+M, CharT, Traits > 9764``[link static_string.ref.boost__static_strings__operator_plus_.overload5 operator+]``( 9765 const CharT(&) lhs[N], 9766 const basic_static_string< M, CharT, Traits >& rhs); 9767 ``[''''»''' [link static_string.ref.boost__static_strings__operator_plus_.overload5 `more...`]]`` 9768``` 9769 9770[section:overload1 operator+ (1 of 5 overloads)] 9771 9772[heading Synopsis] 9773Defined in header [include_file boost/static_string/static_string.hpp] 9774 9775``` 9776template< 9777 std::size_t N, 9778 std::size_t M, 9779 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9780 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9781constexpr basic_static_string< N+M, CharT, Traits > 9782operator+( 9783 const basic_static_string< N, CharT, Traits >& lhs, 9784 const basic_static_string< M, CharT, Traits >& rhs); 9785``` 9786 9787[heading Description] 9788 9789 9790[endsect] 9791 9792[section:overload2 operator+ (2 of 5 overloads)] 9793 9794[heading Synopsis] 9795Defined in header [include_file boost/static_string/static_string.hpp] 9796 9797``` 9798template< 9799 std::size_t N, 9800 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9801 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9802constexpr basic_static_string< N+1, CharT, Traits > 9803operator+( 9804 const basic_static_string< N, CharT, Traits >& lhs, 9805 CharT rhs); 9806``` 9807 9808[heading Description] 9809 9810 9811[endsect] 9812 9813[section:overload3 operator+ (3 of 5 overloads)] 9814 9815[heading Synopsis] 9816Defined in header [include_file boost/static_string/static_string.hpp] 9817 9818``` 9819template< 9820 std::size_t N, 9821 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9822 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9823constexpr basic_static_string< N+1, CharT, Traits > 9824operator+( 9825 CharT lhs, 9826 const basic_static_string< N, CharT, Traits >& rhs); 9827``` 9828 9829[heading Description] 9830 9831 9832[endsect] 9833 9834[section:overload4 operator+ (4 of 5 overloads)] 9835 9836[heading Synopsis] 9837Defined in header [include_file boost/static_string/static_string.hpp] 9838 9839``` 9840template< 9841 std::size_t N, 9842 std::size_t M, 9843 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9844 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9845constexpr basic_static_string< N+M, CharT, Traits > 9846operator+( 9847 const basic_static_string< N, CharT, Traits >& lhs, 9848 const CharT(&) rhs[M]); 9849``` 9850 9851[heading Description] 9852 9853 9854[endsect] 9855 9856[section:overload5 operator+ (5 of 5 overloads)] 9857 9858[heading Synopsis] 9859Defined in header [include_file boost/static_string/static_string.hpp] 9860 9861``` 9862template< 9863 std::size_t N, 9864 std::size_t M, 9865 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9866 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9867constexpr basic_static_string< N+M, CharT, Traits > 9868operator+( 9869 const CharT(&) lhs[N], 9870 const basic_static_string< M, CharT, Traits >& rhs); 9871``` 9872 9873[heading Description] 9874 9875 9876[endsect] 9877 9878 9879[endsect] 9880 9881[section:boost__static_strings__swap swap] 9882[indexterm1 swap] 9883 9884 9885``` 9886template< 9887 std::size_t N, 9888 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9889 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9890constexpr void 9891``[link static_string.ref.boost__static_strings__swap.overload1 swap]``( 9892 basic_static_string< N, CharT, Traits >& lhs, 9893 basic_static_string< N, CharT, Traits >& rhs); 9894 ``[''''»''' [link static_string.ref.boost__static_strings__swap.overload1 `more...`]]`` 9895 9896template< 9897 std::size_t N, 9898 std::size_t M, 9899 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9900 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9901constexpr void 9902``[link static_string.ref.boost__static_strings__swap.overload2 swap]``( 9903 basic_static_string< N, CharT, Traits >& lhs, 9904 basic_static_string< M, CharT, Traits >& rhs); 9905 ``[''''»''' [link static_string.ref.boost__static_strings__swap.overload2 `more...`]]`` 9906``` 9907 9908[section:overload1 swap (1 of 2 overloads)] 9909 9910[heading Synopsis] 9911Defined in header [include_file boost/static_string/static_string.hpp] 9912 9913``` 9914template< 9915 std::size_t N, 9916 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9917 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9918constexpr void 9919swap( 9920 basic_static_string< N, CharT, Traits >& lhs, 9921 basic_static_string< N, CharT, Traits >& rhs); 9922``` 9923 9924[heading Description] 9925 9926 9927[endsect] 9928 9929[section:overload2 swap (2 of 2 overloads)] 9930 9931[heading Synopsis] 9932Defined in header [include_file boost/static_string/static_string.hpp] 9933 9934``` 9935template< 9936 std::size_t N, 9937 std::size_t M, 9938 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9939 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9940constexpr void 9941swap( 9942 basic_static_string< N, CharT, Traits >& lhs, 9943 basic_static_string< M, CharT, Traits >& rhs); 9944``` 9945 9946[heading Description] 9947 9948 9949[endsect] 9950 9951 9952[endsect] 9953 9954[section:boost__static_strings__operator_lt__lt_ operator<<] 9955[indexterm1 operator<<] 9956 9957 9958[heading Synopsis] 9959Defined in header [include_file boost/static_string/static_string.hpp] 9960 9961``` 9962template< 9963 std::size_t N, 9964 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 9965 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 9966std::basic_ostream< CharT, Traits >& 9967operator<<( 9968 std::basic_ostream< CharT, Traits >& os, 9969 const basic_static_string< N, CharT, Traits >& s); 9970``` 9971 9972[heading Description] 9973 9974 9975[endsect] 9976 9977[section:boost__static_strings__to_static_string to_static_string] 9978[indexterm1 to_static_string] 9979 9980 9981Converts `value` to a `static_string` 9982``` 9983static_string< std::numeric_limits< int >::digits10+2 > 9984``[link static_string.ref.boost__static_strings__to_static_string.overload1 to_static_string]``( 9985 int value); 9986 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload1 `more...`]]`` 9987 9988static_string< std::numeric_limits< long >::digits10+2 > 9989``[link static_string.ref.boost__static_strings__to_static_string.overload2 to_static_string]``( 9990 long value); 9991 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload2 `more...`]]`` 9992 9993static_string< std::numeric_limits< long long >::digits10+2 > 9994``[link static_string.ref.boost__static_strings__to_static_string.overload3 to_static_string]``( 9995 long long value); 9996 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload3 `more...`]]`` 9997 9998static_string< std::numeric_limits< unsigned int >::digits10+1 > 9999``[link static_string.ref.boost__static_strings__to_static_string.overload4 to_static_string]``( 10000 unsigned int value); 10001 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload4 `more...`]]`` 10002 10003static_string< std::numeric_limits< unsigned long >::digits10+1 > 10004``[link static_string.ref.boost__static_strings__to_static_string.overload5 to_static_string]``( 10005 unsigned long value); 10006 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload5 `more...`]]`` 10007 10008static_string< std::numeric_limits< unsigned long long >::digits10+1 > 10009``[link static_string.ref.boost__static_strings__to_static_string.overload6 to_static_string]``( 10010 unsigned long long value); 10011 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload6 `more...`]]`` 10012 10013static_string< std::numeric_limits< float >::max_digits10+4 > 10014``[link static_string.ref.boost__static_strings__to_static_string.overload7 to_static_string]``( 10015 float value); 10016 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload7 `more...`]]`` 10017 10018static_string< std::numeric_limits< double >::max_digits10+4 > 10019``[link static_string.ref.boost__static_strings__to_static_string.overload8 to_static_string]``( 10020 double value); 10021 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload8 `more...`]]`` 10022 10023static_string< std::numeric_limits< long double >::max_digits10+4 > 10024``[link static_string.ref.boost__static_strings__to_static_string.overload9 to_static_string]``( 10025 long double value); 10026 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_string.overload9 `more...`]]`` 10027``` 10028 10029[section:overload1 to_static_string (1 of 9 overloads)] 10030 10031Converts `value` to a `static_string` 10032[heading Synopsis] 10033Defined in header [include_file boost/static_string/static_string.hpp] 10034 10035``` 10036static_string< std::numeric_limits< int >::digits10+2 > 10037to_static_string( 10038 int value); 10039``` 10040 10041[heading Description] 10042 10043 10044[endsect] 10045 10046[section:overload2 to_static_string (2 of 9 overloads)] 10047 10048Converts `value` to a `static_string` 10049[heading Synopsis] 10050Defined in header [include_file boost/static_string/static_string.hpp] 10051 10052``` 10053static_string< std::numeric_limits< long >::digits10+2 > 10054to_static_string( 10055 long value); 10056``` 10057 10058[heading Description] 10059 10060 10061[endsect] 10062 10063[section:overload3 to_static_string (3 of 9 overloads)] 10064 10065Converts `value` to a `static_string` 10066[heading Synopsis] 10067Defined in header [include_file boost/static_string/static_string.hpp] 10068 10069``` 10070static_string< std::numeric_limits< long long >::digits10+2 > 10071to_static_string( 10072 long long value); 10073``` 10074 10075[heading Description] 10076 10077 10078[endsect] 10079 10080[section:overload4 to_static_string (4 of 9 overloads)] 10081 10082Converts `value` to a `static_string` 10083[heading Synopsis] 10084Defined in header [include_file boost/static_string/static_string.hpp] 10085 10086``` 10087static_string< std::numeric_limits< unsigned int >::digits10+1 > 10088to_static_string( 10089 unsigned int value); 10090``` 10091 10092[heading Description] 10093 10094 10095[endsect] 10096 10097[section:overload5 to_static_string (5 of 9 overloads)] 10098 10099Converts `value` to a `static_string` 10100[heading Synopsis] 10101Defined in header [include_file boost/static_string/static_string.hpp] 10102 10103``` 10104static_string< std::numeric_limits< unsigned long >::digits10+1 > 10105to_static_string( 10106 unsigned long value); 10107``` 10108 10109[heading Description] 10110 10111 10112[endsect] 10113 10114[section:overload6 to_static_string (6 of 9 overloads)] 10115 10116Converts `value` to a `static_string` 10117[heading Synopsis] 10118Defined in header [include_file boost/static_string/static_string.hpp] 10119 10120``` 10121static_string< std::numeric_limits< unsigned long long >::digits10+1 > 10122to_static_string( 10123 unsigned long long value); 10124``` 10125 10126[heading Description] 10127 10128 10129[endsect] 10130 10131[section:overload7 to_static_string (7 of 9 overloads)] 10132 10133Converts `value` to a `static_string` 10134[heading Synopsis] 10135Defined in header [include_file boost/static_string/static_string.hpp] 10136 10137``` 10138static_string< std::numeric_limits< float >::max_digits10+4 > 10139to_static_string( 10140 float value); 10141``` 10142 10143[heading Description] 10144 10145 10146[endsect] 10147 10148[section:overload8 to_static_string (8 of 9 overloads)] 10149 10150Converts `value` to a `static_string` 10151[heading Synopsis] 10152Defined in header [include_file boost/static_string/static_string.hpp] 10153 10154``` 10155static_string< std::numeric_limits< double >::max_digits10+4 > 10156to_static_string( 10157 double value); 10158``` 10159 10160[heading Description] 10161 10162 10163[endsect] 10164 10165[section:overload9 to_static_string (9 of 9 overloads)] 10166 10167Converts `value` to a `static_string` 10168[heading Synopsis] 10169Defined in header [include_file boost/static_string/static_string.hpp] 10170 10171``` 10172static_string< std::numeric_limits< long double >::max_digits10+4 > 10173to_static_string( 10174 long double value); 10175``` 10176 10177[heading Description] 10178 10179 10180[endsect] 10181 10182 10183[endsect] 10184 10185[section:boost__static_strings__to_static_wstring to_static_wstring] 10186[indexterm1 to_static_wstring] 10187 10188 10189Converts `value` to a `static_wstring` 10190``` 10191static_wstring< std::numeric_limits< int >::digits10+2 > 10192``[link static_string.ref.boost__static_strings__to_static_wstring.overload1 to_static_wstring]``( 10193 int value); 10194 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload1 `more...`]]`` 10195 10196static_wstring< std::numeric_limits< long >::digits10+2 > 10197``[link static_string.ref.boost__static_strings__to_static_wstring.overload2 to_static_wstring]``( 10198 long value); 10199 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload2 `more...`]]`` 10200 10201static_wstring< std::numeric_limits< long long >::digits10+2 > 10202``[link static_string.ref.boost__static_strings__to_static_wstring.overload3 to_static_wstring]``( 10203 long long value); 10204 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload3 `more...`]]`` 10205 10206static_wstring< std::numeric_limits< unsigned int >::digits10+1 > 10207``[link static_string.ref.boost__static_strings__to_static_wstring.overload4 to_static_wstring]``( 10208 unsigned int value); 10209 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload4 `more...`]]`` 10210 10211static_wstring< std::numeric_limits< unsigned long >::digits10+1 > 10212``[link static_string.ref.boost__static_strings__to_static_wstring.overload5 to_static_wstring]``( 10213 unsigned long value); 10214 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload5 `more...`]]`` 10215 10216static_wstring< std::numeric_limits< unsigned long long >::digits10+1 > 10217``[link static_string.ref.boost__static_strings__to_static_wstring.overload6 to_static_wstring]``( 10218 unsigned long long value); 10219 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload6 `more...`]]`` 10220 10221static_wstring< std::numeric_limits< float >::max_digits10+4 > 10222``[link static_string.ref.boost__static_strings__to_static_wstring.overload7 to_static_wstring]``( 10223 float value); 10224 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload7 `more...`]]`` 10225 10226static_wstring< std::numeric_limits< double >::max_digits10+4 > 10227``[link static_string.ref.boost__static_strings__to_static_wstring.overload8 to_static_wstring]``( 10228 double value); 10229 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload8 `more...`]]`` 10230 10231static_wstring< std::numeric_limits< long double >::max_digits10+4 > 10232``[link static_string.ref.boost__static_strings__to_static_wstring.overload9 to_static_wstring]``( 10233 long double value); 10234 ``[''''»''' [link static_string.ref.boost__static_strings__to_static_wstring.overload9 `more...`]]`` 10235``` 10236 10237[section:overload1 to_static_wstring (1 of 9 overloads)] 10238 10239Converts `value` to a `static_wstring` 10240[heading Synopsis] 10241Defined in header [include_file boost/static_string/static_string.hpp] 10242 10243``` 10244static_wstring< std::numeric_limits< int >::digits10+2 > 10245to_static_wstring( 10246 int value); 10247``` 10248 10249[heading Description] 10250 10251 10252[endsect] 10253 10254[section:overload2 to_static_wstring (2 of 9 overloads)] 10255 10256Converts `value` to a `static_wstring` 10257[heading Synopsis] 10258Defined in header [include_file boost/static_string/static_string.hpp] 10259 10260``` 10261static_wstring< std::numeric_limits< long >::digits10+2 > 10262to_static_wstring( 10263 long value); 10264``` 10265 10266[heading Description] 10267 10268 10269[endsect] 10270 10271[section:overload3 to_static_wstring (3 of 9 overloads)] 10272 10273Converts `value` to a `static_wstring` 10274[heading Synopsis] 10275Defined in header [include_file boost/static_string/static_string.hpp] 10276 10277``` 10278static_wstring< std::numeric_limits< long long >::digits10+2 > 10279to_static_wstring( 10280 long long value); 10281``` 10282 10283[heading Description] 10284 10285 10286[endsect] 10287 10288[section:overload4 to_static_wstring (4 of 9 overloads)] 10289 10290Converts `value` to a `static_wstring` 10291[heading Synopsis] 10292Defined in header [include_file boost/static_string/static_string.hpp] 10293 10294``` 10295static_wstring< std::numeric_limits< unsigned int >::digits10+1 > 10296to_static_wstring( 10297 unsigned int value); 10298``` 10299 10300[heading Description] 10301 10302 10303[endsect] 10304 10305[section:overload5 to_static_wstring (5 of 9 overloads)] 10306 10307Converts `value` to a `static_wstring` 10308[heading Synopsis] 10309Defined in header [include_file boost/static_string/static_string.hpp] 10310 10311``` 10312static_wstring< std::numeric_limits< unsigned long >::digits10+1 > 10313to_static_wstring( 10314 unsigned long value); 10315``` 10316 10317[heading Description] 10318 10319 10320[endsect] 10321 10322[section:overload6 to_static_wstring (6 of 9 overloads)] 10323 10324Converts `value` to a `static_wstring` 10325[heading Synopsis] 10326Defined in header [include_file boost/static_string/static_string.hpp] 10327 10328``` 10329static_wstring< std::numeric_limits< unsigned long long >::digits10+1 > 10330to_static_wstring( 10331 unsigned long long value); 10332``` 10333 10334[heading Description] 10335 10336 10337[endsect] 10338 10339[section:overload7 to_static_wstring (7 of 9 overloads)] 10340 10341Converts `value` to a `static_wstring` 10342[heading Synopsis] 10343Defined in header [include_file boost/static_string/static_string.hpp] 10344 10345``` 10346static_wstring< std::numeric_limits< float >::max_digits10+4 > 10347to_static_wstring( 10348 float value); 10349``` 10350 10351[heading Description] 10352 10353 10354[endsect] 10355 10356[section:overload8 to_static_wstring (8 of 9 overloads)] 10357 10358Converts `value` to a `static_wstring` 10359[heading Synopsis] 10360Defined in header [include_file boost/static_string/static_string.hpp] 10361 10362``` 10363static_wstring< std::numeric_limits< double >::max_digits10+4 > 10364to_static_wstring( 10365 double value); 10366``` 10367 10368[heading Description] 10369 10370 10371[endsect] 10372 10373[section:overload9 to_static_wstring (9 of 9 overloads)] 10374 10375Converts `value` to a `static_wstring` 10376[heading Synopsis] 10377Defined in header [include_file boost/static_string/static_string.hpp] 10378 10379``` 10380static_wstring< std::numeric_limits< long double >::max_digits10+4 > 10381to_static_wstring( 10382 long double value); 10383``` 10384 10385[heading Description] 10386 10387 10388[endsect] 10389 10390 10391[endsect] 10392 10393[section:boost__static_strings__hash_value hash_value] 10394[indexterm1 hash_value] 10395 10396 10397hash_value overload for Boost.Container_Hash 10398[heading Synopsis] 10399Defined in header [include_file boost/static_string/static_string.hpp] 10400 10401``` 10402template< 10403 std::size_t N, 10404 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type], 10405 [role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type][role red error.param neither has a declname nor a 'class ' prefix in the type]> 10406std::size_t 10407hash_value( 10408 const basic_static_string< N, CharT, Traits >& str); 10409``` 10410 10411[heading Description] 10412 10413 10414[endsect] 10415