1 2 Linux Standard Base C++ Specification 3.0Preview1 3 4 Copyright © 2004 Free Standards Group 5 6 Permission is granted to copy, distribute and/or modify this 7 document under the terms of the GNU Free Documentation 8 License, Version 1.1; with no Invariant Sections, with no 9 Front-Cover Texts, and with no Back-Cover Texts. A copy of the 10 license is included in the section entitled "GNU Free 11 Documentation License". 12 13 Portions of the text are copyrighted by the following parties: 14 15 * The Regents of the University of California 16 * Free Software Foundation 17 * Ian F. Darwin 18 * Paul Vixie 19 * BSDI (now Wind River) 20 * Andrew G Morgan 21 * Jean-loup Gailly and Mark Adler 22 * Massachusetts Institute of Technology 23 24 These excerpts are being used in accordance with their 25 respective licenses. 26 27 Linux is a trademark of Linus Torvalds. 28 29 UNIX a registered trademark of the Open Group in the United 30 States and other countries. 31 32 LSB is a trademark of the Free Standards Group in the USA and 33 other countries. 34 35 AMD is a trademark of Advanced Micro Devices, Inc. 36 37 Intel and Itanium are registered trademarks and Intel386 is a 38 trademarks of Intel Corporation. 39 40 OpenGL is a registered trademark of Silicon Graphics, Inc. 41 _________________________________________________________ 42 43 Table of Contents 44 Foreword 45 Introduction 46 I. Introductory Elements 47 48 1. Scope 49 50 1.1. General 51 1.2. Module Specific Scope 52 53 2. Normative References 54 3. Requirements 55 56 3.1. Relevant Libraries 57 3.2. LSB Implementation Conformance 58 3.3. LSB Application Conformance 59 60 4. Definitions 61 5. Terminology 62 6. Documentation Conventions 63 64 II. Low Level System Information 65 66 7. C++ Class Representations 67 68 7.1. C++ Data Representation 69 70 8. Symbol Mapping 71 72 8.1. Symbol Mapping 73 74 III. Base Libraries 75 76 9. Libraries 77 78 9.1. Interfaces for libstdcxx 79 80 IV. Package Information 81 82 10. Package Dependencies 83 84 10.1. Package Dependencies 85 86 A. GNU Free Documentation License 87 88 A.1. PREAMBLE 89 A.2. APPLICABILITY AND DEFINITIONS 90 A.3. VERBATIM COPYING 91 A.4. COPYING IN QUANTITY 92 A.5. MODIFICATIONS 93 A.6. COMBINING DOCUMENTS 94 A.7. COLLECTIONS OF DOCUMENTS 95 A.8. AGGREGATION WITH INDEPENDENT WORKS 96 A.9. TRANSLATION 97 A.10. TERMINATION 98 A.11. FUTURE REVISIONS OF THIS LICENSE 99 A.12. How to use this License for your documents 100 101 List of Figures 102 7-1. Category 1 Virtual Table 103 7-2. Category 2 Virtual Table 104 7-3. Run-Time Type Information Prefix 105 7-4. Run-Time Type Information For Classes with no base class 106 7-5. Run-Time Type Information for Classes with a single base 107 class 108 109 7-6. Run-Time Type Information for classes with multiple 110 inheritance 111 112 7-7. Run-Time Type Information for pointer types 113 7-8. Run-Time Type Information for pointer to member types 114 115 List of Tables 116 2-1. Normative References 117 3-1. Standard Library Names 118 7-1. Class Components 119 9-1. libstdcxx Definition 120 9-2. libstdcxx - C++ Runtime Support Function Interfaces 121 9-3. libstdcxx - C++ Runtime Support Data Interfaces 122 9-4. libstdcxx - C++ type descriptors for built-in types Data 123 Interfaces 124 125 9-5. libstdcxx - struct numeric_limits Data 126 Interfaces 127 128 9-6. libstdcxx - struct __numeric_limits_base Data Interfaces 129 9-7. libstdcxx - struct numeric_limits Data 130 Interfaces 131 132 9-8. libstdcxx - struct numeric_limits 133 Data Interfaces 134 135 9-9. libstdcxx - struct numeric_limits Data Interfaces 136 9-10. libstdcxx - struct numeric_limits Data 137 Interfaces 138 139 9-11. libstdcxx - struct numeric_limits Data Interfaces 140 9-12. libstdcxx - struct numeric_limits Data 141 Interfaces 142 143 9-13. libstdcxx - struct numeric_limits Data Interfaces 144 9-14. libstdcxx - struct numeric_limits Data 145 Interfaces 146 147 9-15. libstdcxx - struct numeric_limits Data Interfaces 148 9-16. libstdcxx - struct numeric_limits Data 149 Interfaces 150 151 9-17. libstdcxx - struct numeric_limits Data 152 Interfaces 153 154 9-18. libstdcxx - struct numeric_limits Data 155 Interfaces 156 157 9-19. libstdcxx - struct numeric_limits Data 158 Interfaces 159 160 9-20. libstdcxx - struct numeric_limits Data Interfaces 161 9-21. libstdcxx - struct numeric_limits Data Interfaces 162 9-22. libstdcxx - Class allocator Function Interfaces 163 9-23. libstdcxx - Class allocator Function Interfaces 164 9-24. libstdcxx - facet functions Function Interfaces 165 9-25. libstdcxx - Class basic_string Function Interfaces 166 9-26. libstdcxx - Class basic_string Data Interfaces 167 9-27. libstdcxx - Class __basic_file Function Interfaces 168 9-28. libstdcxx - Class basic_string, 169 allocator > Function Interfaces 170 171 9-29. libstdcxx - Class basic_string, 172 allocator > Data Interfaces 173 174 9-30. libstdcxx - Class locale Function Interfaces 175 9-31. libstdcxx - Class locale Data Interfaces 176 9-32. Primary vtable for __cxxabiv1::__enum_type_info 177 9-33. typeinfo for __cxxabiv1::__enum_type_info 178 9-34. libstdcxx - Class __cxxabiv1::__enum_type_info Function 179 Interfaces 180 181 9-35. libstdcxx - Class __cxxabiv1::__enum_type_info Data 182 Interfaces 183 184 9-36. Primary vtable for __cxxabiv1::__array_type_info 185 9-37. typeinfo for __cxxabiv1::__array_type_info 186 9-38. libstdcxx - Class __cxxabiv1::__array_type_info Function 187 Interfaces 188 189 9-39. libstdcxx - Class __cxxabiv1::__array_type_info Data 190 Interfaces 191 192 9-40. Primary vtable for __cxxabiv1::__class_type_info 193 9-41. typeinfo for __cxxabiv1::__class_type_info 194 9-42. libstdcxx - Class __cxxabiv1::__class_type_info Function 195 Interfaces 196 197 9-43. libstdcxx - Class __cxxabiv1::__class_type_info Data 198 Interfaces 199 200 9-44. Primary vtable for __cxxabiv1::__pbase_type_info 201 9-45. typeinfo for __cxxabiv1::__pbase_type_info 202 9-46. libstdcxx - Class __cxxabiv1::__pbase_type_info Function 203 Interfaces 204 205 9-47. libstdcxx - Class __cxxabiv1::__pbase_type_info Data 206 Interfaces 207 208 9-48. Primary vtable for __cxxabiv1::__pointer_type_info 209 9-49. typeinfo for __cxxabiv1::__pointer_type_info 210 9-50. libstdcxx - Class __cxxabiv1::__pointer_type_info 211 Function Interfaces 212 213 9-51. libstdcxx - Class __cxxabiv1::__pointer_type_info Data 214 Interfaces 215 216 9-52. Primary vtable for __cxxabiv1::__function_type_info 217 9-53. typeinfo for __cxxabiv1::__function_type_info 218 9-54. libstdcxx - Class __cxxabiv1::__function_type_info 219 Function Interfaces 220 221 9-55. libstdcxx - Class __cxxabiv1::__function_type_info Data 222 Interfaces 223 224 9-56. Primary vtable for __cxxabiv1::__si_class_type_info 225 9-57. typeinfo for __cxxabiv1::__si_class_type_info 226 9-58. libstdcxx - Class __cxxabiv1::__si_class_type_info 227 Function Interfaces 228 229 9-59. libstdcxx - Class __cxxabiv1::__si_class_type_info Data 230 Interfaces 231 232 9-60. Primary vtable for __cxxabiv1::__vmi_class_type_info 233 9-61. typeinfo for __cxxabiv1::__vmi_class_type_info 234 9-62. libstdcxx - Class __cxxabiv1::__vmi_class_type_info 235 Function Interfaces 236 237 9-63. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Data 238 Interfaces 239 240 9-64. Primary vtable for __cxxabiv1::__fundamental_type_info 241 9-65. typeinfo for __cxxabiv1::__fundamental_type_info 242 9-66. libstdcxx - Class __cxxabiv1::__fundamental_type_info 243 Function Interfaces 244 245 9-67. libstdcxx - Class __cxxabiv1::__fundamental_type_info 246 Data Interfaces 247 248 9-68. Primary vtable for 249 __cxxabiv1::__pointer_to_member_type_info 250 251 9-69. typeinfo for __cxxabiv1::__pointer_to_member_type_info 252 9-70. libstdcxx - Class 253 __cxxabiv1::__pointer_to_member_type_info Function 254 Interfaces 255 256 9-71. libstdcxx - Class 257 __cxxabiv1::__pointer_to_member_type_info Data 258 Interfaces 259 260 9-72. Primary vtable for __gnu_cxx::stdio_sync_filebuf > 262 263 9-73. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces 265 266 9-74. Primary vtable for 267 __gnu_cxx::stdio_sync_filebuf > 269 270 9-75. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces 272 273 9-76. Primary vtable for locale::facet 274 9-77. typeinfo for locale::facet 275 9-78. libstdcxx - Class locale::facet Function Interfaces 276 9-79. libstdcxx - Class locale::facet Data Interfaces 277 9-80. Primary vtable for ios_base::failure 278 9-81. typeinfo for ios_base::failure 279 9-82. libstdcxx - Class ios_base::failure Function Interfaces 280 9-83. libstdcxx - Class ios_base::failure Data Interfaces 281 9-84. VTT for basic_iostream > 282 9-85. libstdcxx - Class _ZSdE Function Interfaces 283 9-86. libstdcxx - Class _ZSdE Data Interfaces 284 9-87. VTT for basic_istream > 285 9-88. libstdcxx - Class _ZSiE Function Interfaces 286 9-89. libstdcxx - Class _ZSiE Data Interfaces 287 9-90. VTT for basic_ostream > 288 9-91. libstdcxx - Class _ZSoE Function Interfaces 289 9-92. libstdcxx - Class _ZSoE Data Interfaces 290 9-93. 291 9-94. libstdcxx - Class __num_base Function Interfaces 292 9-95. libstdcxx - Class __num_base Data Interfaces 293 9-96. Primary vtable for bad_typeid 294 9-97. typeinfo for bad_typeid 295 9-98. libstdcxx - Class bad_typeid Function Interfaces 296 9-99. libstdcxx - Class bad_typeid Data Interfaces 297 9-100. typeinfo for ctype_base 298 9-101. libstdcxx - Class ctype_base Data Interfaces 299 9-102. VTT for istrstream 300 9-103. libstdcxx - Class istrstream Function Interfaces 301 9-104. libstdcxx - Class istrstream Data Interfaces 302 9-105. typeinfo for money_base 303 9-106. libstdcxx - Class money_base Function Interfaces 304 9-107. libstdcxx - Class money_base Data Interfaces 305 9-108. Primary vtable for moneypunct 306 9-109. libstdcxx - Class moneypunct Function 307 Interfaces 308 309 9-110. libstdcxx - Class moneypunct Data 310 Interfaces 311 312 9-111. Primary vtable for moneypunct 313 9-112. libstdcxx - Class moneypunct Function 314 Interfaces 315 316 9-113. libstdcxx - Class moneypunct Data 317 Interfaces 318 319 9-114. Primary vtable for moneypunct 320 9-115. libstdcxx - Class moneypunct Function 321 Interfaces 322 323 9-116. libstdcxx - Class moneypunct Data 324 Interfaces 325 326 9-117. Primary vtable for moneypunct 327 9-118. libstdcxx - Class moneypunct Function 328 Interfaces 329 330 9-119. libstdcxx - Class moneypunct Data 331 Interfaces 332 333 9-120. VTT for ostrstream 334 9-121. libstdcxx - Class ostrstream Function Interfaces 335 9-122. libstdcxx - Class ostrstream Data Interfaces 336 9-123. Primary vtable for __timepunct 337 9-124. typeinfo for __timepunct 338 9-125. libstdcxx - Class __timepunct Function Interfaces 339 9-126. libstdcxx - Class __timepunct Data Interfaces 340 9-127. Primary vtable for __timepunct 341 9-128. typeinfo for __timepunct 342 9-129. libstdcxx - Class __timepunct Function 343 Interfaces 344 345 9-130. libstdcxx - Class __timepunct Data Interfaces 346 9-131. Primary vtable for logic_error 347 9-132. typeinfo for logic_error 348 9-133. libstdcxx - Class logic_error Function Interfaces 349 9-134. libstdcxx - Class logic_error Data Interfaces 350 9-135. Primary vtable for range_error 351 9-136. typeinfo for range_error 352 9-137. libstdcxx - Class range_error Function Interfaces 353 9-138. libstdcxx - Class range_error Data Interfaces 354 9-139. typeinfo for codecvt_base 355 9-140. libstdcxx - Class codecvt_base Data Interfaces 356 9-141. Primary vtable for ctype_byname 357 9-142. typeinfo for ctype_byname 358 9-143. libstdcxx - Class ctype_byname Function 359 Interfaces 360 361 9-144. libstdcxx - Class ctype_byname Data Interfaces 362 9-145. libstdcxx - Class ctype_byname Function 363 Interfaces 364 365 9-146. libstdcxx - Class ctype_byname Data Interfaces 366 9-147. Primary vtable for domain_error 367 9-148. typeinfo for domain_error 368 9-149. libstdcxx - Class domain_error Function Interfaces 369 9-150. libstdcxx - Class domain_error Data Interfaces 370 9-151. Primary vtable for length_error 371 9-152. typeinfo for length_error 372 9-153. libstdcxx - Class length_error Function Interfaces 373 9-154. libstdcxx - Class length_error Data Interfaces 374 9-155. Primary vtable for out_of_range 375 9-156. typeinfo for out_of_range 376 9-157. libstdcxx - Class out_of_range Function Interfaces 377 9-158. libstdcxx - Class out_of_range Data Interfaces 378 9-159. Primary vtable for strstreambuf 379 9-160. typeinfo for strstreambuf 380 9-161. libstdcxx - Class strstreambuf Function Interfaces 381 9-162. libstdcxx - Class strstreambuf Data Interfaces 382 9-163. Primary vtable for bad_exception 383 9-164. typeinfo for bad_exception 384 9-165. libstdcxx - Class bad_exception Function Interfaces 385 9-166. libstdcxx - Class bad_exception Data Interfaces 386 9-167. Primary vtable for basic_filebuf > 388 389 9-168. typeinfo for basic_filebuf > 390 9-169. libstdcxx - Class basic_filebuf 391 > Function Interfaces 392 393 9-170. libstdcxx - Class basic_filebuf 394 > Data Interfaces 395 396 9-171. Primary vtable for basic_filebuf > 398 399 9-172. typeinfo for basic_filebuf > 401 402 9-173. libstdcxx - Class basic_filebuf > Function Interfaces 404 405 9-174. libstdcxx - Class basic_filebuf > Data Interfaces 407 408 9-175. VTT for basic_fstream > 409 9-176. libstdcxx - Class basic_fstream 410 > Function Interfaces 411 412 9-177. libstdcxx - Class basic_fstream 413 > Data Interfaces 414 415 9-178. VTT for basic_fstream > 416 9-179. libstdcxx - Class basic_fstream > Function Interfaces 418 419 9-180. libstdcxx - Class basic_fstream > Data Interfaces 421 422 9-181. VTT for basic_istream > 423 9-182. libstdcxx - Class basic_istream > Function Interfaces 425 426 9-183. libstdcxx - Class basic_istream > Data Interfaces 428 429 9-184. VTT for basic_ostream > 430 9-185. libstdcxx - Class basic_ostream > Function Interfaces 432 433 9-186. libstdcxx - Class basic_ostream > Data Interfaces 435 436 9-187. typeinfo for messages_base 437 9-188. libstdcxx - Class messages_base Data Interfaces 438 9-189. Primary vtable for runtime_error 439 9-190. typeinfo for runtime_error 440 9-191. libstdcxx - Class runtime_error Function Interfaces 441 9-192. libstdcxx - Class runtime_error Data Interfaces 442 9-193. VTT for basic_ifstream > 443 9-194. libstdcxx - Class basic_ifstream > Function Interfaces 445 446 9-195. libstdcxx - Class basic_ifstream > Data Interfaces 448 449 9-196. VTT for basic_ifstream > 450 9-197. libstdcxx - Class basic_ifstream > Function Interfaces 452 453 9-198. libstdcxx - Class basic_ifstream > Data Interfaces 455 456 9-199. VTT for basic_iostream > 457 9-200. libstdcxx - Class basic_iostream > Function Interfaces 459 460 9-201. libstdcxx - Class basic_iostream > Data Interfaces 462 463 9-202. VTT for basic_ofstream > 464 9-203. libstdcxx - Class basic_ofstream > Function Interfaces 466 467 9-204. libstdcxx - Class basic_ofstream > Data Interfaces 469 470 9-205. VTT for basic_ofstream > 471 9-206. libstdcxx - Class basic_ofstream > Function Interfaces 473 474 9-207. libstdcxx - Class basic_ofstream > Data Interfaces 476 477 9-208. Primary vtable for codecvt_byname 479 480 9-209. typeinfo for codecvt_byname 481 9-210. libstdcxx - Class codecvt_byname Function Interfaces 483 484 9-211. libstdcxx - Class codecvt_byname Data Interfaces 486 487 9-212. Primary vtable for codecvt_byname 489 490 9-213. typeinfo for codecvt_byname 491 9-214. Primary vtable for collate_byname 492 9-215. typeinfo for collate_byname 493 9-216. libstdcxx - Class codecvt_byname Function Interfaces 495 496 9-217. libstdcxx - Class codecvt_byname Data Interfaces 498 499 9-218. Primary vtable for collate_byname 500 9-219. typeinfo for collate_byname 501 9-220. libstdcxx - Class collate_byname Function 502 Interfaces 503 504 9-221. libstdcxx - Class collate_byname Data Interfaces 505 9-222. Primary vtable for overflow_error 506 9-223. typeinfo for overflow_error 507 9-224. libstdcxx - Class overflow_error Function Interfaces 508 9-225. libstdcxx - Class overflow_error Data Interfaces 509 9-226. Primary vtable for basic_streambuf > 511 512 9-227. typeinfo for basic_streambuf > 513 9-228. libstdcxx - Class basic_streambuf > Function Interfaces 515 516 9-229. libstdcxx - Class basic_streambuf > Data Interfaces 518 519 9-230. Primary vtable for basic_streambuf > 521 522 9-231. typeinfo for basic_streambuf > 524 525 9-232. libstdcxx - Class basic_streambuf > Function Interfaces 527 528 9-233. Primary vtable for basic_stringbuf, allocator > 530 531 9-234. typeinfo for basic_stringbuf, 532 allocator > 533 534 9-235. libstdcxx - Class basic_stringbuf, allocator > Function 536 Interfaces 537 538 9-236. libstdcxx - Class basic_stringbuf, allocator > Data Interfaces 540 541 9-237. Primary vtable for basic_stringbuf, allocator > 543 544 9-238. typeinfo for basic_stringbuf, allocator > 546 547 9-239. libstdcxx - Class basic_stringbuf, allocator > Function 549 Interfaces 550 551 9-240. libstdcxx - Class basic_stringbuf, allocator > Data 553 Interfaces 554 555 9-241. Primary vtable for messages_byname 556 9-242. typeinfo for messages_byname 557 9-243. libstdcxx - Class messages_byname Function 558 Interfaces 559 560 9-244. libstdcxx - Class messages_byname Data Interfaces 561 9-245. Primary vtable for messages_byname 562 9-246. typeinfo for messages_byname 563 9-247. libstdcxx - Class messages_byname Function 564 Interfaces 565 566 9-248. libstdcxx - Class messages_byname Data 567 Interfaces 568 569 9-249. Primary vtable for numpunct_byname 570 9-250. typeinfo for numpunct_byname 571 9-251. libstdcxx - Class numpunct_byname Function 572 Interfaces 573 574 9-252. libstdcxx - Class numpunct_byname Data Interfaces 575 9-253. Primary vtable for numpunct_byname 576 9-254. typeinfo for numpunct_byname 577 9-255. libstdcxx - Class numpunct_byname Function 578 Interfaces 579 580 9-256. libstdcxx - Class numpunct_byname Data 581 Interfaces 582 583 9-257. Primary vtable for time_get_byname > > 585 586 9-258. typeinfo for time_get_byname > > 588 589 9-259. libstdcxx - Class time_get_byname > > 591 Function Interfaces 592 593 9-260. libstdcxx - Class time_get_byname > > Data 595 Interfaces 596 597 9-261. Primary vtable for time_get_byname > > 599 600 9-262. typeinfo for time_get_byname > > 602 603 9-263. libstdcxx - Class time_get_byname > > 605 Function Interfaces 606 607 9-264. libstdcxx - Class time_get_byname > > 609 Data Interfaces 610 611 9-265. Primary vtable for time_put_byname > > 613 614 9-266. typeinfo for time_put_byname > > 616 617 9-267. libstdcxx - Class time_put_byname > > 619 Function Interfaces 620 621 9-268. libstdcxx - Class time_put_byname > > Data 623 Interfaces 624 625 9-269. Primary vtable for time_put_byname > > 627 628 9-270. typeinfo for time_put_byname > > 630 631 9-271. libstdcxx - Class time_put_byname > > 633 Function Interfaces 634 635 9-272. libstdcxx - Class time_put_byname > > 637 Data Interfaces 638 639 9-273. Primary vtable for underflow_error 640 9-274. typeinfo for underflow_error 641 9-275. libstdcxx - Class underflow_error Function Interfaces 642 9-276. libstdcxx - Class underflow_error Data Interfaces 643 9-277. Primary vtable for invalid_argument 644 9-278. typeinfo for invalid_argument 645 9-279. libstdcxx - Class invalid_argument Function Interfaces 646 9-280. libstdcxx - Class invalid_argument Data Interfaces 647 9-281. Primary vtable for moneypunct_byname 648 9-282. typeinfo for moneypunct_byname 649 9-283. libstdcxx - Class moneypunct_byname 650 Function Interfaces 651 652 9-284. libstdcxx - Class moneypunct_byname Data 653 Interfaces 654 655 9-285. Primary vtable for moneypunct_byname 656 9-286. typeinfo for moneypunct_byname 657 9-287. libstdcxx - Class moneypunct_byname 658 Function Interfaces 659 660 9-288. libstdcxx - Class moneypunct_byname Data 661 Interfaces 662 663 9-289. Primary vtable for moneypunct_byname 664 9-290. typeinfo for moneypunct_byname 665 9-291. libstdcxx - Class moneypunct_byname 666 Function Interfaces 667 668 9-292. libstdcxx - Class moneypunct_byname 669 Data Interfaces 670 671 9-293. Primary vtable for moneypunct_byname 672 9-294. typeinfo for moneypunct_byname 673 9-295. libstdcxx - Class moneypunct_byname 674 Function Interfaces 675 676 9-296. libstdcxx - Class moneypunct_byname Data 677 Interfaces 678 679 9-297. VTT for basic_stringstream, 680 allocator > 681 682 9-298. libstdcxx - Class basic_stringstream, allocator > Function 684 Interfaces 685 686 9-299. libstdcxx - Class basic_stringstream, allocator > Data Interfaces 688 689 9-300. VTT for basic_stringstream, allocator > 691 692 9-301. libstdcxx - Class basic_stringstream, allocator > Function 694 Interfaces 695 696 9-302. libstdcxx - Class basic_stringstream, allocator > Data 698 Interfaces 699 700 9-303. VTT for basic_istringstream, 701 allocator > 702 703 9-304. libstdcxx - Class basic_istringstream, allocator > Function 705 Interfaces 706 707 9-305. libstdcxx - Class basic_istringstream, allocator > Data Interfaces 709 710 9-306. VTT for basic_istringstream, allocator > 712 713 9-307. libstdcxx - Class basic_istringstream, allocator > Function 715 Interfaces 716 717 9-308. libstdcxx - Class basic_istringstream, allocator > Data 719 Interfaces 720 721 9-309. VTT for basic_ostringstream, 722 allocator > 723 724 9-310. libstdcxx - Class basic_ostringstream, allocator > Function 726 Interfaces 727 728 9-311. libstdcxx - Class basic_ostringstream, allocator > Data Interfaces 730 731 9-312. VTT for basic_ostringstream, allocator > 733 734 9-313. libstdcxx - Class basic_ostringstream, allocator > Function 736 Interfaces 737 738 9-314. libstdcxx - Class basic_ostringstream, allocator > Data 740 Interfaces 741 742 9-315. Primary vtable for __ctype_abstract_base 743 9-316. libstdcxx - Class __ctype_abstract_base Data 744 Interfaces 745 746 9-317. Primary vtable for __ctype_abstract_base 747 9-318. libstdcxx - Class __ctype_abstract_base Data 748 Interfaces 749 750 9-319. Primary vtable for __codecvt_abstract_base 752 753 9-320. libstdcxx - Class __codecvt_abstract_base Data Interfaces 755 756 9-321. Primary vtable for ctype 757 9-322. libstdcxx - Class ctype Function Interfaces 758 9-323. libstdcxx - Class ctype Data Interfaces 759 9-324. Primary vtable for ctype 760 9-325. typeinfo for ctype 761 9-326. libstdcxx - Class ctype Function Interfaces 762 9-327. libstdcxx - Class ctype Data Interfaces 763 9-328. Primary vtable for codecvt 764 9-329. typeinfo for codecvt 765 9-330. Primary vtable for __codecvt_abstract_base 767 768 9-331. libstdcxx - Class codecvt 769 Function Interfaces 770 771 9-332. libstdcxx - Class codecvt Data 772 Interfaces 773 774 9-333. Primary vtable for codecvt 775 9-334. typeinfo for codecvt 776 9-335. libstdcxx - Class codecvt 777 Function Interfaces 778 779 9-336. libstdcxx - Class codecvt 780 Data Interfaces 781 782 9-337. Primary vtable for collate 783 9-338. typeinfo for collate 784 9-339. libstdcxx - Class collate Function Interfaces 785 9-340. libstdcxx - Class collate Data Interfaces 786 9-341. Primary vtable for collate 787 9-342. typeinfo for collate 788 9-343. libstdcxx - Class collate Function Interfaces 789 9-344. libstdcxx - Class collate Data Interfaces 790 9-345. libstdcxx - Class num_get > > 792 Function Interfaces 793 794 9-346. libstdcxx - Class num_get > > Data 796 Interfaces 797 798 9-347. libstdcxx - Class num_get > > 800 Function Interfaces 801 802 9-348. libstdcxx - Class num_get > > 804 Data Interfaces 805 806 9-349. libstdcxx - Class num_put > > 808 Function Interfaces 809 810 9-350. libstdcxx - Class num_put > > Data 812 Interfaces 813 814 9-351. libstdcxx - Class num_put > > 816 Function Interfaces 817 818 9-352. libstdcxx - Class num_put > > 820 Data Interfaces 821 822 9-353. Primary vtable for bad_cast 823 9-354. typeinfo for bad_cast 824 9-355. libstdcxx - Class bad_cast Function Interfaces 825 9-356. libstdcxx - Class bad_cast Data Interfaces 826 9-357. typeinfo for ios_base 827 9-358. libstdcxx - Class ios_base Function Interfaces 828 9-359. libstdcxx - Class ios_base Data Interfaces 829 9-360. Primary vtable for messages 830 9-361. libstdcxx - Class messages Function Interfaces 831 9-362. libstdcxx - Class messages Data Interfaces 832 9-363. Primary vtable for messages 833 9-364. libstdcxx - Class messages Function Interfaces 834 9-365. libstdcxx - Class messages Data Interfaces 835 9-366. Primary vtable for numpunct 836 9-367. typeinfo for numpunct 837 9-368. libstdcxx - Class numpunct Function Interfaces 838 9-369. libstdcxx - Class numpunct Data Interfaces 839 9-370. Primary vtable for numpunct 840 9-371. typeinfo for numpunct 841 9-372. libstdcxx - Class numpunct Function Interfaces 842 9-373. libstdcxx - Class numpunct Data Interfaces 843 9-374. Primary vtable for time_get > > 845 846 9-375. libstdcxx - Class time_get > > 848 Function Interfaces 849 850 9-376. libstdcxx - Class time_get > > Data 852 Interfaces 853 854 9-377. Primary vtable for time_get > > 856 857 9-378. libstdcxx - Class time_get > > 859 Function Interfaces 860 861 9-379. libstdcxx - Class time_get > > 863 Data Interfaces 864 865 9-380. libstdcxx - Class time_put > > 867 Function Interfaces 868 869 9-381. libstdcxx - Class time_put > > Data 871 Interfaces 872 873 9-382. libstdcxx - Class time_put > > 875 Function Interfaces 876 877 9-383. libstdcxx - Class time_put > > 879 Data Interfaces 880 881 9-384. Primary vtable for bad_alloc 882 9-385. typeinfo for bad_alloc 883 9-386. libstdcxx - Class bad_alloc Function Interfaces 884 9-387. libstdcxx - Class bad_alloc Data Interfaces 885 9-388. Primary vtable for basic_ios > 886 9-389. libstdcxx - Class basic_ios > 887 Function Interfaces 888 889 9-390. libstdcxx - Class basic_ios > 890 Data Interfaces 891 892 9-391. libstdcxx - Class basic_ios > Function Interfaces 894 895 9-392. libstdcxx - Class basic_ios > Data Interfaces 897 898 9-393. Primary vtable for exception 899 9-394. typeinfo for exception 900 9-395. libstdcxx - Class exception Function Interfaces 901 9-396. libstdcxx - Class exception Data Interfaces 902 9-397. Primary vtable for money_get > > 904 905 9-398. typeinfo for money_get > > 907 908 9-399. libstdcxx - Class money_get > > 910 Function Interfaces 911 912 9-400. libstdcxx - Class money_get > > Data 914 Interfaces 915 916 9-401. Primary vtable for money_get > > 918 919 9-402. typeinfo for money_get > > 921 922 9-403. libstdcxx - Class money_get > > 924 Function Interfaces 925 926 9-404. libstdcxx - Class money_get > > 928 Data Interfaces 929 930 9-405. Primary vtable for money_put > > 932 933 9-406. typeinfo for money_put > > 935 936 9-407. libstdcxx - Class money_put > > 938 Function Interfaces 939 940 9-408. libstdcxx - Class money_put > > Data 942 Interfaces 943 944 9-409. Primary vtable for money_put > > 946 947 9-410. typeinfo for money_put > > 949 950 9-411. libstdcxx - Class money_put > > 952 Function Interfaces 953 954 9-412. libstdcxx - Class money_put > > 956 Data Interfaces 957 958 9-413. VTT for strstream 959 9-414. libstdcxx - Class strstream Function Interfaces 960 9-415. libstdcxx - Class strstream Data Interfaces 961 9-416. typeinfo for time_base 962 9-417. libstdcxx - Class time_base Data Interfaces 963 9-418. Primary vtable for type_info 964 9-419. typeinfo for type_info 965 9-420. libstdcxx - Class type_info Function Interfaces 966 9-421. libstdcxx - Class type_info Data Interfaces 967 9-422. libstdcxx - Class basic_istream 968 > Function Interfaces 969 970 9-423. libstdcxx - Class basic_ostream 971 > Function Interfaces 972 _________________________________________________________ 973 974 Foreword 975 976 This is version 3.0Preview1 of the Linux Standard Base C++ 977 Specification. An implementation of this version of the 978 specification may not claim to be an implementation of the 979 Linux Standard Base unless it has successfully completed the 980 compliance process as defined by the Free Standards Group. 981 _________________________________________________________ 982 983 Introduction 984 985 The LSB defines a binary interface for application programs 986 that are compiled and packaged for LSB-conforming 987 implementations on many different hardware architectures. 988 Since a binary specification shall include information 989 specific to the computer processor architecture for which it 990 is intended, it is not possible for a single document to 991 specify the interface for all possible LSB-conforming 992 implementations. Therefore, the LSB is a family of 993 specifications, rather than a single one. 994 995 This document should be used in conjunction with the documents 996 it references. This document enumerates the system components 997 it includes, but descriptions of those components may be 998 included entirely or partly in this document, partly in other 999 documents, or entirely in other reference documents. For 1000 example, the section that describes system service routines 1001 includes a list of the system routines supported in this 1002 interface, formal declarations of the data structures they use 1003 that are visible to applications, and a pointer to the 1004 underlying referenced specification for information about the 1005 syntax and semantics of each call. Only those routines not 1006 described in standards referenced by this document, or 1007 extensions to those standards, are described in the detail. 1008 Information referenced in this way is as much a part of this 1009 document as is the information explicitly included here. 1010 1011 The specification carries a version number of either the form 1012 x.y or x.y.z. This version number carries the following 1013 meaning: 1014 1015 * The first number (x) is the major version number. All 1016 versions with the same major version number should share 1017 binary compatibility. Any addition or deletion of a new 1018 library results in a new version number. Interfaces marked 1019 as deprecated may be removed from the specification at a 1020 major version change. 1021 * The second number (y) is the minor version number. 1022 Individual interfaces may be added if all certified 1023 implementations already had that (previously undocumented) 1024 interface. Interfaces may be marked as deprecated at a 1025 minor version change. Other minor changes may be permitted 1026 at the discretion of the LSB workgroup. 1027 * The third number (z), if present, is the editorial level. 1028 Only editorial changes should be included in such 1029 versions. 1030 1031 I. Introductory Elements 1032 1033 Table of Contents 1034 1. Scope 1035 2. Normative References 1036 3. Requirements 1037 4. Definitions 1038 5. Terminology 1039 6. Documentation Conventions 1040 _________________________________________________________ 1041 1042 Chapter 1. Scope 1043 1044 1.1. General 1045 1046 The Linux Standard Base (LSB) defines a system interface for 1047 compiled applications and a minimal environment for support of 1048 installation scripts. Its purpose is to enable a uniform 1049 industry standard environment for high-volume applications 1050 conforming to the LSB. 1051 1052 These specifications are composed of two basic parts: A common 1053 specification ("LSB-generic") describing those parts of the 1054 interface that remain constant across all implementations of 1055 the LSB, and an architecture-specific specification 1056 ("LSB-arch") describing the parts of the interface that vary 1057 by processor architecture. Together, the LSB-generic and the 1058 architecture-specific supplement for a single hardware 1059 architecture provide a complete interface specification for 1060 compiled application programs on systems that share a common 1061 hardware architecture. 1062 1063 The LSB-generic document shall be used in conjunction with an 1064 architecture-specific supplement. Whenever a section of the 1065 LSB-generic specification shall be supplemented by 1066 architecture-specific information, the LSB-generic document 1067 includes a reference to the architecture supplement. 1068 Architecture supplements may also contain additional 1069 information that is not referenced in the LSB-generic 1070 document. 1071 1072 The LSB contains both a set of Application Program Interfaces 1073 (APIs) and Application Binary Interfaces (ABIs). APIs may 1074 appear in the source code of portable applications, while the 1075 compiled binary of that application may use the larger set of 1076 ABIs. A conforming implementation shall provide all of the 1077 ABIs listed here. The compilation system may replace (e.g. by 1078 macro definition) certain APIs with calls to one or more of 1079 the underlying binary interfaces, and may insert calls to 1080 binary interfaces as needed. 1081 1082 The LSB is primarily a binary interface definition. Not all of 1083 the source level APIs available to applications may be 1084 contained in this specification. 1085 _________________________________________________________ 1086 1087 1.2. Module Specific Scope 1088 1089 This is the C++ module of the Linux Standards Base (LSB). This 1090 module supplements the core interfaces by providing system 1091 interfaces, libraries, and a runtime environment for 1092 applications built using the C++ programming language. These 1093 interfaces provide low-level support for the core constructs 1094 of the language, and implement the standard base C++ 1095 libraries. 1096 1097 Interfaces described in this module are presented in terms of 1098 C++; the binary interfaces will use encoded or mangled 1099 versions of the names. 1100 _________________________________________________________ 1101 1102 Chapter 2. Normative References 1103 1104 The specifications listed below are referenced in whole or in 1105 part by this module of the Linux Standard Base. In this 1106 specification, where only a particular section of one of these 1107 references is identified, then the normative reference is to 1108 that section alone, and the rest of the referenced document is 1109 informative. 1110 1111 Table 2-1. Normative References 1112 Name Title URL 1113 ISO POSIX (2003) 1114 1115 ISO/IEC 9945-1:2003 Information technology -- Portable 1116 Operating System Interface (POSIX) -- Part 1: Base Definitions 1117 1118 ISO/IEC 9945-2:2003 Information technology -- Portable 1119 Operating System Interface (POSIX) -- Part 2: System 1120 Interfaces 1121 1122 ISO/IEC 9945-3:2003 Information technology -- Portable 1123 Operating System Interface (POSIX) -- Part 3: Shell and 1124 Utilities 1125 1126 ISO/IEC 9945-4:2003 Information technology -- Portable 1127 Operating System Interface (POSIX) -- Part 4: Rationale 1128 1129 Including Technical Cor. 1: 2004 1130 http://www.unix.org/version3/ 1131 ISO/IEC 14882: 2003 C++ Language ISO/IEC 14882: 2003 1132 Programming languages --C++ 1133 Itanium C++ ABI Itanium C++ ABI (Revision: 1.75) 1134 http://www.codesourcery.com/cxx-abi/abi.html 1135 _________________________________________________________ 1136 1137 Chapter 3. Requirements 1138 1139 3.1. Relevant Libraries 1140 1141 The libraries listed in Table 3-1 shall be available on a 1142 Linux Standard Base system, with the specified runtime names. 1143 1144 Table 3-1. Standard Library Names 1145 Library Runtime Name 1146 libstdcxx libstdc++.so.6 1147 1148 These libraries will be in an implementation-defined directory 1149 which the dynamic linker shall search by default. 1150 _________________________________________________________ 1151 1152 3.2. LSB Implementation Conformance 1153 1154 An implementation shall satisfy the following requirements: 1155 1156 * The implementation shall implement fully the architecture 1157 described in the hardware manual for the target processor 1158 architecture. 1159 * The implementation shall be capable of executing compiled 1160 applications having the format and using the system 1161 interfaces described in this document. 1162 * The implementation shall provide libraries containing the 1163 interfaces specified by this document, and shall provide a 1164 dynamic linking mechanism that allows these interfaces to 1165 be attached to applications at runtime. All the interfaces 1166 shall behave as specified in this document. 1167 * The map of virtual memory provided by the implementation 1168 shall conform to the requirements of this document. 1169 * The implementation's low-level behavior with respect to 1170 function call linkage, system traps, signals, and other 1171 such activities shall conform to the formats described in 1172 this document. 1173 * The implementation shall provide all of the mandatory 1174 interfaces in their entirety. 1175 * The implementation may provide one or more of the optional 1176 interfaces. Each optional interface that is provided shall 1177 be provided in its entirety. The product documentation 1178 shall state which optional interfaces are provided. 1179 * The implementation shall provide all files and utilities 1180 specified as part of this document in the format defined 1181 here and in other referenced documents. All commands and 1182 utilities shall behave as required by this document. The 1183 implementation shall also provide all mandatory components 1184 of an application's runtime environment that are included 1185 or referenced in this document. 1186 * The implementation, when provided with standard data 1187 formats and values at a named interface, shall provide the 1188 behavior defined for those values and data formats at that 1189 interface. However, a conforming implementation may 1190 consist of components which are separately packaged and/or 1191 sold. For example, a vendor of a conforming implementation 1192 might sell the hardware, operating system, and windowing 1193 system as separately packaged items. 1194 * The implementation may provide additional interfaces with 1195 different names. It may also provide additional behavior 1196 corresponding to data values outside the standard ranges, 1197 for standard named interfaces. 1198 _________________________________________________________ 1199 1200 3.3. LSB Application Conformance 1201 1202 An application shall satisfy the following requirements: 1203 1204 * Its executable files are either shell scripts or object 1205 files in the format defined for the Object File Format 1206 system interface. 1207 * Its object files participate in dynamic linking as defined 1208 in the Program Loading and Linking System interface. 1209 * It employs only the instructions, traps, and other 1210 low-level facilities defined in the Low-Level System 1211 interface as being for use by applications. 1212 * If it requires any optional interface defined in this 1213 document in order to be installed or to execute 1214 successfully, the requirement for that optional interface 1215 is stated in the application's documentation. 1216 * It does not use any interface or data format that is not 1217 required to be provided by a conforming implementation, 1218 unless: 1219 + If such an interface or data format is supplied by 1220 another application through direct invocation of that 1221 application during execution, that application is in 1222 turn an LSB conforming application. 1223 + The use of that interface or data format, as well as 1224 its source, is identified in the documentation of the 1225 application. 1226 * It shall not use any values for a named interface that are 1227 reserved for vendor extensions. 1228 1229 A strictly conforming application does not require or use any 1230 interface, facility, or implementation-defined extension that 1231 is not defined in this document in order to be installed or to 1232 execute successfully. 1233 _________________________________________________________ 1234 1235 Chapter 4. Definitions 1236 1237 For the purposes of this document, the following definitions, 1238 as specified in the ISO/IEC Directives, Part 2, 2001, 4th 1239 Edition, apply: 1240 1241 can 1242 be able to; there is a possibility of; it is possible 1243 to 1244 1245 cannot 1246 be unable to; there is no possibilty of; it is not 1247 possible to 1248 1249 may 1250 is permitted; is allowed; is permissible 1251 1252 need not 1253 it is not required that; no...is required 1254 1255 shall 1256 is to; is required to; it is required that; has to; 1257 only...is permitted; it is necessary 1258 1259 shall not 1260 is not allowed [permitted] [acceptable] [permissible]; 1261 is required to be not; is required that...be not; is 1262 not to be 1263 1264 should 1265 it is recommended that; ought to 1266 1267 should not 1268 it is not recommended that; ought not to 1269 _________________________________________________________ 1270 1271 Chapter 5. Terminology 1272 1273 For the purposes of this document, the following terms apply: 1274 1275 archLSB 1276 The architectural part of the LSB Specification which 1277 describes the specific parts of the interface that are 1278 platform specific. The archLSB is complementary to the 1279 gLSB. 1280 1281 Binary Standard 1282 The total set of interfaces that are available to be 1283 used in the compiled binary code of a conforming 1284 application. 1285 1286 gLSB 1287 The common part of the LSB Specification that describes 1288 those parts of the interface that remain constant 1289 across all hardware implementations of the LSB. 1290 1291 implementation-defined 1292 Describes a value or behavior that is not defined by 1293 this document but is selected by an implementor. The 1294 value or behavior may vary among implementations that 1295 conform to this document. An application should not 1296 rely on the existence of the value or behavior. An 1297 application that relies on such a value or behavior 1298 cannot be assured to be portable across conforming 1299 implementations. The implementor shall document such a 1300 value or behavior so that it can be used correctly by 1301 an application. 1302 1303 Shell Script 1304 A file that is read by an interpreter (e.g., awk). The 1305 first line of the shell script includes a reference to 1306 its interpreter binary. 1307 1308 Source Standard 1309 The set of interfaces that are available to be used in 1310 the source code of a conforming application. 1311 1312 undefined 1313 Describes the nature of a value or behavior not defined 1314 by this document which results from use of an invalid 1315 program construct or invalid data input. The value or 1316 behavior may vary among implementations that conform to 1317 this document. An application should not rely on the 1318 existence or validity of the value or behavior. An 1319 application that relies on any particular value or 1320 behavior cannot be assured to be portable across 1321 conforming implementations. 1322 1323 unspecified 1324 Describes the nature of a value or behavior not 1325 specified by this document which results from use of a 1326 valid program construct or valid data input. The value 1327 or behavior may vary among implementations that conform 1328 to this document. An application should not rely on the 1329 existence or validity of the value or behavior. An 1330 application that relies on any particular value or 1331 behavior cannot be assured to be portable across 1332 conforming implementations. 1333 1334 Other terms and definitions used in this document shall have 1335 the same meaning as defined in Chapter 3 of the Base 1336 Definitions volume of ISO POSIX (2003). 1337 _________________________________________________________ 1338 1339 Chapter 6. Documentation Conventions 1340 1341 Throughout this document, the following typographic 1342 conventions are used: 1343 1344 function() 1345 the name of a function 1346 1347 command 1348 the name of a command or utility 1349 1350 CONSTANT 1351 a constant value 1352 1353 parameter 1354 a parameter 1355 1356 variable 1357 a variable 1358 1359 Throughout this specification, several tables of interfaces 1360 are presented. Each entry in these tables has the following 1361 format: 1362 1363 name 1364 the name of the interface 1365 1366 (symver) 1367 An optional symbol version identifier, if required. 1368 1369 [refno] 1370 A reference number indexing the table of referenced 1371 specifications that follows this table. 1372 1373 For example, 1374 1375 forkpty(GLIBC_2.0) [1] 1376 1377 refers to the interface named forkpty() with symbol version 1378 GLIBC_2.0 that is defined in the first of the listed 1379 references below the table. 1380 1381 II. Low Level System Information 1382 1383 Table of Contents 1384 7. C++ Class Representations 1385 8. Symbol Mapping 1386 _________________________________________________________ 1387 1388 Chapter 7. C++ Class Representations 1389 1390 7.1. C++ Data Representation 1391 1392 Support for the C++ language shall be as specified in Itanium 1393 C++ ABI. 1394 1395 Note: This document, although containing a few architecture 1396 specific matters, is written as a generic specification, to 1397 be usable by C++ implementations on a variety of 1398 architectures. 1399 1400 This section provides additional information to supplement 1401 Itanium C++ ABI. Many of the definitions in that document are 1402 made in terms of C++. This section provides addition 1403 explanations using C terms to avoid self-referential problems. 1404 _________________________________________________________ 1405 1406 7.1.1. Class Representation 1407 1408 An object file generated by the compilation process for a C++ 1409 program shall contain several closely related internal 1410 objects, or Class Components, to represent each C++ Class. 1411 Such objects are not a visible part of the source code. Table 1412 7-1 describes these Class Components at a high level. 1413 1414 Table 7-1. Class Components 1415 Object Contains 1416 Class Data All non-static Class members 1417 Virtual Table Information needed to dispatch virtual 1418 functions, access virtual base class subobjects and to access 1419 the RTTI information 1420 RTTI Run-Time Type Information used by the typeid and 1421 dynamic_cast operators, and exception handlers 1422 Typeinfo Name String representation of Class name 1423 Construction Virtual Table Information needed during 1424 construction and destruction of Classes with non-trivial 1425 inheritance relationships. 1426 VTT A table of virtual table pointers which holds the 1427 addresses of construction and non-construction virtual tables. 1428 _________________________________________________________ 1429 1430 7.1.1.1. Virtual Table 1431 1432 Virtual tables are specified in Section 2.5.3 of Itanium C++ 1433 ABI. 1434 1435 Of the various categories of virtual table described in that 1436 specification, Category 1 (Leaf) is further described in 1437 Figure 7-1 and Category 2 (Non-virtual bases only) is further 1438 described in Figure 7-2. LSB conforming systems shall support 1439 these categories. 1440 struct { 1441 ptrdiff_t baseobject; 1442 const char *typeinfo; 1443 fptr virtfuncs[0]; 1444 }; 1445 1446 Figure 7-1. Category 1 Virtual Table 1447 struct { 1448 unsigned long vcalloffset; 1449 ptrdiff_t baseobject; 1450 const char *typeinfo; 1451 fptr virtfuncs[0]; 1452 }; 1453 1454 Figure 7-2. Category 2 Virtual Table 1455 _________________________________________________________ 1456 1457 7.1.1.2. Run-Time Type Information 1458 1459 Each type used in a C++ program has a data structure 1460 associated with it that provide information about the type 1461 which is used at runtime. This Run Time Type Information 1462 (RTTI) is defined in section 2.9.5 in Itanium C++ ABI. 1463 Additional details about the layout of this data is provided 1464 here. 1465 struct { 1466 void *basevtable; 1467 char *name; 1468 }; 1469 1470 Figure 7-3. Run-Time Type Information Prefix 1471 struct { 1472 void *basevtable; 1473 char *name; 1474 void *basetypeinfo[0]; 1475 }; 1476 1477 Figure 7-4. Run-Time Type Information For Classes with no base 1478 class 1479 struct { 1480 void *basevtable; 1481 char *name; 1482 void *basetype; 1483 void *basetypeinfo[0]; 1484 }; 1485 1486 Figure 7-5. Run-Time Type Information for Classes with a 1487 single base class 1488 struct base_type_info { 1489 char *base_type; 1490 unsigned long offset_flags; 1491 }; 1492 1493 struct { 1494 void *basevtable; 1495 char *name; 1496 unsigned int flags; 1497 unsigned int base_count; 1498 struct base_type_info base_info[0]; 1499 }; 1500 1501 Figure 7-6. Run-Time Type Information for classes with 1502 multiple inheritance 1503 struct { 1504 void *basevtable; 1505 char *name; 1506 unsigned int flags; 1507 void *pointee; 1508 void *basetypeinfo[0]; 1509 }; 1510 1511 Figure 7-7. Run-Time Type Information for pointer types 1512 struct { 1513 void *basevtable; 1514 char *name; 1515 unsigned int flags; 1516 void *pointee; 1517 void *context; 1518 void *basetypeinfo[0]; 1519 }; 1520 1521 Figure 7-8. Run-Time Type Information for pointer to member 1522 types 1523 _________________________________________________________ 1524 1525 Chapter 8. Symbol Mapping 1526 1527 This chapter defines how names are mapped from the source 1528 symbol to the object symbol. 1529 _________________________________________________________ 1530 1531 8.1. Symbol Mapping 1532 1533 Symbols in a source program are translated by the compilation 1534 system into symbols that exist in the object file. The rules 1535 for this translation are defined here. 1536 _________________________________________________________ 1537 1538 8.1.1. C++ Language 1539 1540 External symbol names in a C++ object file shall be encoded 1541 according to the "name mangling" rules described in the 1542 Itanium C++ ABI. 1543 1544 III. Base Libraries 1545 1546 Table of Contents 1547 9. Libraries 1548 _________________________________________________________ 1549 1550 Chapter 9. Libraries 1551 1552 An LSB-conforming implementation shall support some base 1553 libraries which provide interfaces for accessing the operating 1554 system, processor and other hardware in the system. 1555 _________________________________________________________ 1556 1557 9.1. Interfaces for libstdcxx 1558 1559 Table 9-1 defines the library name and shared object name for 1560 the libstdcxx library 1561 1562 Table 9-1. libstdcxx Definition 1563 Library: libstdcxx 1564 SONAME: libstdc++.so.6 1565 1566 All symbols are in the std:: namespace. 1567 1568 The behavior of the interfaces in this library is specified by 1569 the following specifications: 1570 1571 Itanium C++ ABI 1572 ISO/IEC 14882: 2003 C++ Language 1573 _________________________________________________________ 1574 1575 9.1.1. C++ Runtime Support 1576 _________________________________________________________ 1577 1578 9.1.1.1. Interfaces for C++ Runtime Support 1579 1580 An LSB conforming implementation shall provide the generic 1581 methods for C++ Runtime Support specified in Table 9-2, with 1582 the full mandatory functionality as described in the 1583 referenced underlying specification. 1584 1585 Table 9-2. libstdcxx - C++ Runtime Support Function Interfaces 1586 __gnu_cxx::__verbose_terminate_handler()(CXXABI_1.3) [1] 1587 unexpected()(GLIBCXX_3.4) [2] 1588 set_terminate(void (*)())(GLIBCXX_3.4) [2] 1589 void __convert_to_v(char const*, double&, 1590 _Ios_Iostate&, __locale_struct* const&)(GLIBCXX_3.4) [2] 1591 void __convert_to_v(char const*, long double&, 1592 _Ios_Iostate&, __locale_struct* const&)(GLIBCXX_3.4) [2] 1593 void __convert_to_v(char const*, float&, _Ios_Iostate&, 1594 __locale_struct* const&)(GLIBCXX_3.4) [2] 1595 set_unexpected(void (*)())(GLIBCXX_3.4) [2] 1596 set_new_handler(void (*)())(GLIBCXX_3.4) [2] 1597 __throw_bad_cast()(GLIBCXX_3.4) [2] 1598 __throw_bad_alloc()(GLIBCXX_3.4) [2] 1599 __throw_bad_typeid()(GLIBCXX_3.4) [2] 1600 uncaught_exception()(GLIBCXX_3.4) [2] 1601 __throw_ios_failure(char const*)(GLIBCXX_3.4) [2] 1602 __throw_logic_error(char const*)(GLIBCXX_3.4) [2] 1603 __throw_range_error(char const*)(GLIBCXX_3.4) [2] 1604 __throw_domain_error(char const*)(GLIBCXX_3.4) [2] 1605 __throw_length_error(char const*)(GLIBCXX_3.4) [2] 1606 __throw_out_of_range(char const*)(GLIBCXX_3.4) [2] 1607 __throw_bad_exception()(GLIBCXX_3.4) [2] 1608 __throw_runtime_error(char const*)(GLIBCXX_3.4) [2] 1609 __throw_overflow_error(char const*)(GLIBCXX_3.4) [2] 1610 __throw_underflow_error(char const*)(GLIBCXX_3.4) [2] 1611 __throw_invalid_argument(char const*)(GLIBCXX_3.4) [2] 1612 terminate()(GLIBCXX_3.4) [2] 1613 operator delete[](void*)(GLIBCXX_3.4) [2] 1614 operator delete[](void*, nothrow_t const&)(GLIBCXX_3.4) [2] 1615 operator delete(void*)(GLIBCXX_3.4) [2] 1616 operator delete(void*, nothrow_t const&)(GLIBCXX_3.4) [2] 1617 __cxa_allocate_exception(CXXABI_1.3) [1] 1618 __cxa_bad_cast(CXXABI_1.3) [1] 1619 __cxa_bad_typeid(CXXABI_1.3) [1] 1620 __cxa_begin_catch(CXXABI_1.3) [1] 1621 __cxa_call_unexpected(CXXABI_1.3) [1] 1622 __cxa_current_exception_type(CXXABI_1.3) [1] 1623 __cxa_demangle(CXXABI_1.3) [1] 1624 __cxa_end_catch(CXXABI_1.3) [1] 1625 __cxa_free_exception(CXXABI_1.3) [1] 1626 __cxa_get_globals(CXXABI_1.3) [1] 1627 __cxa_get_globals_fast(CXXABI_1.3) [1] 1628 __cxa_guard_abort(CXXABI_1.3) [1] 1629 __cxa_guard_acquire(CXXABI_1.3) [1] 1630 __cxa_guard_release(CXXABI_1.3) [1] 1631 __cxa_pure_virtual(CXXABI_1.3) [1] 1632 __cxa_rethrow(CXXABI_1.3) [1] 1633 __cxa_throw(CXXABI_1.3) [1] 1634 __cxa_vec_cctor(CXXABI_1.3) [1] 1635 __cxa_vec_cleanup(CXXABI_1.3) [1] 1636 __cxa_vec_ctor(CXXABI_1.3) [1] 1637 __cxa_vec_delete(CXXABI_1.3) [1] 1638 __cxa_vec_delete2(CXXABI_1.3) [1] 1639 __cxa_vec_delete3(CXXABI_1.3) [1] 1640 __cxa_vec_dtor(CXXABI_1.3) [1] 1641 __cxa_vec_new(CXXABI_1.3) [1] 1642 __cxa_vec_new2(CXXABI_1.3) [1] 1643 __cxa_vec_new3(CXXABI_1.3) [1] 1644 __dynamic_cast(CXXABI_1.3) [1] 1645 __gxx_personality_v0(CXXABI_1.3) [1] 1646 1647 Referenced Specification(s) 1648 1649 [1]. Itanium C++ ABI 1650 1651 [2]. ISO/IEC 14882: 2003 C++ Language 1652 1653 An LSB conforming implementation shall provide the generic 1654 data interfaces for C++ Runtime Support specified in Table 1655 9-3, with the full mandatory functionality as described in the 1656 referenced underlying specification. 1657 1658 Table 9-3. libstdcxx - C++ Runtime Support Data Interfaces 1659 cin(GLIBCXX_3.4) [1] 1660 cerr(GLIBCXX_3.4) [1] 1661 clog(GLIBCXX_3.4) [1] 1662 cout(GLIBCXX_3.4) [1] 1663 wcin(GLIBCXX_3.4) [1] 1664 wcerr(GLIBCXX_3.4) [1] 1665 wclog(GLIBCXX_3.4) [1] 1666 wcout(GLIBCXX_3.4) [1] 1667 nothrow(GLIBCXX_3.4) [1] 1668 1669 Referenced Specification(s) 1670 1671 [1]. ISO/IEC 14882: 2003 C++ Language 1672 _________________________________________________________ 1673 1674 9.1.2. C++ type descriptors for built-in types 1675 _________________________________________________________ 1676 1677 9.1.2.1. Interfaces for C++ type descriptors for built-in types 1678 1679 No external methods are defined for libstdcxx - C++ type 1680 descriptors for built-in types 1681 1682 An LSB conforming implementation shall provide the generic 1683 data interfaces for C++ type descriptors for built-in types 1684 specified in Table 9-4, with the full mandatory functionality 1685 as described in the referenced underlying specification. 1686 1687 Table 9-4. libstdcxx - C++ type descriptors for built-in types 1688 Data Interfaces 1689 typeinfo for signed char const*(CXXABI_1.3) [1] 1690 typeinfo for bool const*(CXXABI_1.3) [1] 1691 typeinfo for char const*(CXXABI_1.3) [1] 1692 typeinfo for double const*(CXXABI_1.3) [1] 1693 typeinfo for long double const*(CXXABI_1.3) [1] 1694 typeinfo for float const*(CXXABI_1.3) [1] 1695 typeinfo for unsigned char const*(CXXABI_1.3) [1] 1696 typeinfo for int const*(CXXABI_1.3) [1] 1697 typeinfo for unsigned int const*(CXXABI_1.3) [1] 1698 typeinfo for long const*(CXXABI_1.3) [1] 1699 typeinfo for unsigned long const*(CXXABI_1.3) [1] 1700 typeinfo for short const*(CXXABI_1.3) [1] 1701 typeinfo for unsigned short const*(CXXABI_1.3) [1] 1702 typeinfo for void const*(CXXABI_1.3) [1] 1703 typeinfo for wchar_t const*(CXXABI_1.3) [1] 1704 typeinfo for long long const*(CXXABI_1.3) [1] 1705 typeinfo for unsigned long long const*(CXXABI_1.3) [1] 1706 typeinfo for signed char*(CXXABI_1.3) [1] 1707 typeinfo for bool*(CXXABI_1.3) [1] 1708 typeinfo for char*(CXXABI_1.3) [1] 1709 typeinfo for double*(CXXABI_1.3) [1] 1710 typeinfo for long double*(CXXABI_1.3) [1] 1711 typeinfo for float*(CXXABI_1.3) [1] 1712 typeinfo for unsigned char*(CXXABI_1.3) [1] 1713 typeinfo for int*(CXXABI_1.3) [1] 1714 typeinfo for unsigned int*(CXXABI_1.3) [1] 1715 typeinfo for long*(CXXABI_1.3) [1] 1716 typeinfo for unsigned long*(CXXABI_1.3) [1] 1717 typeinfo for short*(CXXABI_1.3) [1] 1718 typeinfo for unsigned short*(CXXABI_1.3) [1] 1719 typeinfo for void*(CXXABI_1.3) [1] 1720 typeinfo for wchar_t*(CXXABI_1.3) [1] 1721 typeinfo for long long*(CXXABI_1.3) [1] 1722 typeinfo for unsigned long long*(CXXABI_1.3) [1] 1723 typeinfo for signed char(CXXABI_1.3) [1] 1724 typeinfo for bool(CXXABI_1.3) [1] 1725 typeinfo for char(CXXABI_1.3) [1] 1726 typeinfo for double(CXXABI_1.3) [1] 1727 typeinfo for long double(CXXABI_1.3) [1] 1728 typeinfo for float(CXXABI_1.3) [1] 1729 typeinfo for unsigned char(CXXABI_1.3) [1] 1730 typeinfo for int(CXXABI_1.3) [1] 1731 typeinfo for unsigned int(CXXABI_1.3) [1] 1732 typeinfo for long(CXXABI_1.3) [1] 1733 typeinfo for unsigned long(CXXABI_1.3) [1] 1734 typeinfo for short(CXXABI_1.3) [1] 1735 typeinfo for unsigned short(CXXABI_1.3) [1] 1736 typeinfo for void(CXXABI_1.3) [1] 1737 typeinfo for wchar_t(CXXABI_1.3) [1] 1738 typeinfo for long long(CXXABI_1.3) [1] 1739 typeinfo for unsigned long long(CXXABI_1.3) [1] 1740 typeinfo name for signed char const*(CXXABI_1.3) [1] 1741 typeinfo name for bool const*(CXXABI_1.3) [1] 1742 typeinfo name for char const*(CXXABI_1.3) [1] 1743 typeinfo name for double const*(CXXABI_1.3) [1] 1744 typeinfo name for long double const*(CXXABI_1.3) [1] 1745 typeinfo name for float const*(CXXABI_1.3) [1] 1746 typeinfo name for unsigned char const*(CXXABI_1.3) [1] 1747 typeinfo name for int const*(CXXABI_1.3) [1] 1748 typeinfo name for unsigned int const*(CXXABI_1.3) [1] 1749 typeinfo name for long const*(CXXABI_1.3) [1] 1750 typeinfo name for unsigned long const*(CXXABI_1.3) [1] 1751 typeinfo name for short const*(CXXABI_1.3) [1] 1752 typeinfo name for unsigned short const*(CXXABI_1.3) [1] 1753 typeinfo name for void const*(CXXABI_1.3) [1] 1754 typeinfo name for wchar_t const*(CXXABI_1.3) [1] 1755 typeinfo name for long long const*(CXXABI_1.3) [1] 1756 typeinfo name for unsigned long long const*(CXXABI_1.3) [1] 1757 typeinfo name for signed char*(CXXABI_1.3) [1] 1758 typeinfo name for bool*(CXXABI_1.3) [1] 1759 typeinfo name for char*(CXXABI_1.3) [1] 1760 typeinfo name for double*(CXXABI_1.3) [1] 1761 typeinfo name for long double*(CXXABI_1.3) [1] 1762 typeinfo name for float*(CXXABI_1.3) [1] 1763 typeinfo name for unsigned char*(CXXABI_1.3) [1] 1764 typeinfo name for int*(CXXABI_1.3) [1] 1765 typeinfo name for unsigned int*(CXXABI_1.3) [1] 1766 typeinfo name for long*(CXXABI_1.3) [1] 1767 typeinfo name for unsigned long*(CXXABI_1.3) [1] 1768 typeinfo name for short*(CXXABI_1.3) [1] 1769 typeinfo name for unsigned short*(CXXABI_1.3) [1] 1770 typeinfo name for void*(CXXABI_1.3) [1] 1771 typeinfo name for wchar_t*(CXXABI_1.3) [1] 1772 typeinfo name for long long*(CXXABI_1.3) [1] 1773 typeinfo name for unsigned long long*(CXXABI_1.3) [1] 1774 typeinfo name for signed char(CXXABI_1.3) [1] 1775 typeinfo name for bool(CXXABI_1.3) [1] 1776 typeinfo name for char(CXXABI_1.3) [1] 1777 typeinfo name for double(CXXABI_1.3) [1] 1778 typeinfo name for long double(CXXABI_1.3) [1] 1779 typeinfo name for float(CXXABI_1.3) [1] 1780 typeinfo name for unsigned char(CXXABI_1.3) [1] 1781 typeinfo name for int(CXXABI_1.3) [1] 1782 typeinfo name for unsigned int(CXXABI_1.3) [1] 1783 typeinfo name for long(CXXABI_1.3) [1] 1784 typeinfo name for unsigned long(CXXABI_1.3) [1] 1785 typeinfo name for short(CXXABI_1.3) [1] 1786 typeinfo name for unsigned short(CXXABI_1.3) [1] 1787 typeinfo name for void(CXXABI_1.3) [1] 1788 typeinfo name for wchar_t(CXXABI_1.3) [1] 1789 typeinfo name for long long(CXXABI_1.3) [1] 1790 typeinfo name for unsigned long long(CXXABI_1.3) [1] 1791 1792 Referenced Specification(s) 1793 1794 [1]. Itanium C++ ABI 1795 _________________________________________________________ 1796 1797 9.1.3. C++ Unsorted Interfaces 1798 _________________________________________________________ 1799 1800 9.1.3.1. Interfaces for C++ Unsorted Interfaces 1801 1802 No external methods are defined for libstdcxx - C++ Unsorted 1803 Interfaces 1804 _________________________________________________________ 1805 1806 9.1.4. struct numeric_limits 1807 _________________________________________________________ 1808 1809 9.1.4.1. Interfaces for struct numeric_limits 1810 1811 No external methods are defined for libstdcxx - struct 1812 numeric_limits 1813 1814 An LSB conforming implementation shall provide the generic 1815 data interfaces for struct numeric_limits 1816 specified in Table 9-5, with the full mandatory functionality 1817 as described in the referenced underlying specification. 1818 1819 Table 9-5. libstdcxx - struct numeric_limits Data 1820 Interfaces 1821 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 1822 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 1823 numeric_limits::is_integer(GLIBCXX_3.4) [1] 1824 numeric_limits::round_style(GLIBCXX_3.4) [1] 1825 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 1826 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 1827 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 1828 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 1829 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 1830 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 1831 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 1832 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 1833 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 1834 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 1835 [1] 1836 numeric_limits::radix(GLIBCXX_3.4) [1] 1837 numeric_limits::traps(GLIBCXX_3.4) [1] 1838 numeric_limits::digits(GLIBCXX_3.4) [1] 1839 numeric_limits::digits10(GLIBCXX_3.4) [1] 1840 numeric_limits::is_exact(GLIBCXX_3.4) [1] 1841 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 1842 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 1843 numeric_limits::is_signed(GLIBCXX_3.4) [1] 1844 1845 Referenced Specification(s) 1846 1847 [1]. ISO/IEC 14882: 2003 C++ Language 1848 _________________________________________________________ 1849 1850 9.1.5. struct __numeric_limits_base 1851 _________________________________________________________ 1852 1853 9.1.5.1. Interfaces for struct __numeric_limits_base 1854 1855 No external methods are defined for libstdcxx - struct 1856 __numeric_limits_base 1857 1858 An LSB conforming implementation shall provide the generic 1859 data interfaces for struct __numeric_limits_base specified in 1860 Table 9-6, with the full mandatory functionality as described 1861 in the referenced underlying specification. 1862 1863 Table 9-6. libstdcxx - struct __numeric_limits_base Data 1864 Interfaces 1865 __numeric_limits_base::has_denorm(GLIBCXX_3.4) [1] 1866 __numeric_limits_base::is_bounded(GLIBCXX_3.4) [1] 1867 __numeric_limits_base::is_integer(GLIBCXX_3.4) [1] 1868 __numeric_limits_base::round_style(GLIBCXX_3.4) [1] 1869 __numeric_limits_base::has_infinity(GLIBCXX_3.4) [1] 1870 __numeric_limits_base::max_exponent(GLIBCXX_3.4) [1] 1871 __numeric_limits_base::min_exponent(GLIBCXX_3.4) [1] 1872 __numeric_limits_base::has_quiet_NaN(GLIBCXX_3.4) [1] 1873 __numeric_limits_base::is_specialized(GLIBCXX_3.4) [1] 1874 __numeric_limits_base::max_exponent10(GLIBCXX_3.4) [1] 1875 __numeric_limits_base::min_exponent10(GLIBCXX_3.4) [1] 1876 __numeric_limits_base::has_denorm_loss(GLIBCXX_3.4) [1] 1877 __numeric_limits_base::tinyness_before(GLIBCXX_3.4) [1] 1878 __numeric_limits_base::has_signaling_NaN(GLIBCXX_3.4) [1] 1879 __numeric_limits_base::radix(GLIBCXX_3.4) [1] 1880 __numeric_limits_base::traps(GLIBCXX_3.4) [1] 1881 __numeric_limits_base::digits(GLIBCXX_3.4) [1] 1882 __numeric_limits_base::digits10(GLIBCXX_3.4) [1] 1883 __numeric_limits_base::is_exact(GLIBCXX_3.4) [1] 1884 __numeric_limits_base::is_iec559(GLIBCXX_3.4) [1] 1885 __numeric_limits_base::is_modulo(GLIBCXX_3.4) [1] 1886 __numeric_limits_base::is_signed(GLIBCXX_3.4) [1] 1887 1888 Referenced Specification(s) 1889 1890 [1]. ISO/IEC 14882: 2003 C++ Language 1891 _________________________________________________________ 1892 1893 9.1.6. struct numeric_limits 1894 _________________________________________________________ 1895 1896 9.1.6.1. Interfaces for struct numeric_limits 1897 1898 No external methods are defined for libstdcxx - struct 1899 numeric_limits 1900 1901 An LSB conforming implementation shall provide the generic 1902 data interfaces for struct numeric_limits specified 1903 in Table 9-7, with the full mandatory functionality as 1904 described in the referenced underlying specification. 1905 1906 Table 9-7. libstdcxx - struct numeric_limits Data 1907 Interfaces 1908 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 1909 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 1910 numeric_limits::is_integer(GLIBCXX_3.4) [1] 1911 numeric_limits::round_style(GLIBCXX_3.4) [1] 1912 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 1913 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 1914 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 1915 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 1916 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 1917 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 1918 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 1919 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 1920 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 1921 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 1922 numeric_limits::radix(GLIBCXX_3.4) [1] 1923 numeric_limits::traps(GLIBCXX_3.4) [1] 1924 numeric_limits::digits(GLIBCXX_3.4) [1] 1925 numeric_limits::digits10(GLIBCXX_3.4) [1] 1926 numeric_limits::is_exact(GLIBCXX_3.4) [1] 1927 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 1928 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 1929 numeric_limits::is_signed(GLIBCXX_3.4) [1] 1930 1931 Referenced Specification(s) 1932 1933 [1]. ISO/IEC 14882: 2003 C++ Language 1934 _________________________________________________________ 1935 1936 9.1.7. struct numeric_limits 1937 _________________________________________________________ 1938 1939 9.1.7.1. Interfaces for struct numeric_limits 1940 1941 No external methods are defined for libstdcxx - struct 1942 numeric_limits 1943 1944 An LSB conforming implementation shall provide the generic 1945 data interfaces for struct numeric_limits 1946 specified in Table 9-8, with the full mandatory functionality 1947 as described in the referenced underlying specification. 1948 1949 Table 9-8. libstdcxx - struct numeric_limits Data Interfaces 1951 numeric_limits::has_denorm(GLIBCXX_3.4) 1952 [1] 1953 numeric_limits::is_bounded(GLIBCXX_3.4) 1954 [1] 1955 numeric_limits::is_integer(GLIBCXX_3.4) 1956 [1] 1957 numeric_limits::round_style(GLIBCXX_3.4) 1958 [1] 1959 numeric_limits::has_infinity(GLIBCXX_3.4) 1960 [1] 1961 numeric_limits::max_exponent(GLIBCXX_3.4) 1962 [1] 1963 numeric_limits::min_exponent(GLIBCXX_3.4) 1964 [1] 1965 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) 1966 [1] 1967 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 1969 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 1971 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 1973 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 1975 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 1977 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 1979 numeric_limits::radix(GLIBCXX_3.4) [1] 1980 numeric_limits::traps(GLIBCXX_3.4) [1] 1981 numeric_limits::digits(GLIBCXX_3.4) [1] 1982 numeric_limits::digits10(GLIBCXX_3.4) [1] 1983 numeric_limits::is_exact(GLIBCXX_3.4) [1] 1984 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 1985 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 1986 numeric_limits::is_signed(GLIBCXX_3.4) [1] 1987 1988 Referenced Specification(s) 1989 1990 [1]. ISO/IEC 14882: 2003 C++ Language 1991 _________________________________________________________ 1992 1993 9.1.8. struct numeric_limits 1994 _________________________________________________________ 1995 1996 9.1.8.1. Interfaces for struct numeric_limits 1997 1998 No external methods are defined for libstdcxx - struct 1999 numeric_limits 2000 2001 An LSB conforming implementation shall provide the generic 2002 data interfaces for struct numeric_limits specified in 2003 Table 9-9, with the full mandatory functionality as described 2004 in the referenced underlying specification. 2005 2006 Table 9-9. libstdcxx - struct numeric_limits Data 2007 Interfaces 2008 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2009 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2010 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2011 numeric_limits::round_style(GLIBCXX_3.4) [1] 2012 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2013 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2014 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2015 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2016 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2017 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2018 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2019 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2020 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2021 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2022 numeric_limits::radix(GLIBCXX_3.4) [1] 2023 numeric_limits::traps(GLIBCXX_3.4) [1] 2024 numeric_limits::digits(GLIBCXX_3.4) [1] 2025 numeric_limits::digits10(GLIBCXX_3.4) [1] 2026 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2027 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2028 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2029 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2030 2031 Referenced Specification(s) 2032 2033 [1]. ISO/IEC 14882: 2003 C++ Language 2034 _________________________________________________________ 2035 2036 9.1.9. struct numeric_limits 2037 _________________________________________________________ 2038 2039 9.1.9.1. Interfaces for struct numeric_limits 2040 2041 No external methods are defined for libstdcxx - struct 2042 numeric_limits 2043 2044 An LSB conforming implementation shall provide the generic 2045 data interfaces for struct numeric_limits specified in 2046 Table 9-10, with the full mandatory functionality as described 2047 in the referenced underlying specification. 2048 2049 Table 9-10. libstdcxx - struct numeric_limits Data 2050 Interfaces 2051 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2052 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2053 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2054 numeric_limits::round_style(GLIBCXX_3.4) [1] 2055 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2056 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2057 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2058 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2059 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2060 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2061 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2062 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2063 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2064 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2065 numeric_limits::radix(GLIBCXX_3.4) [1] 2066 numeric_limits::traps(GLIBCXX_3.4) [1] 2067 numeric_limits::digits(GLIBCXX_3.4) [1] 2068 numeric_limits::digits10(GLIBCXX_3.4) [1] 2069 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2070 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2071 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2072 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2073 2074 Referenced Specification(s) 2075 2076 [1]. ISO/IEC 14882: 2003 C++ Language 2077 _________________________________________________________ 2078 2079 9.1.10. struct numeric_limits 2080 _________________________________________________________ 2081 2082 9.1.10.1. Interfaces for struct numeric_limits 2083 2084 No external methods are defined for libstdcxx - struct 2085 numeric_limits 2086 2087 An LSB conforming implementation shall provide the generic 2088 data interfaces for struct numeric_limits specified in 2089 Table 9-11, with the full mandatory functionality as described 2090 in the referenced underlying specification. 2091 2092 Table 9-11. libstdcxx - struct numeric_limits Data 2093 Interfaces 2094 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2095 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2096 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2097 numeric_limits::round_style(GLIBCXX_3.4) [1] 2098 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2099 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2100 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2101 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2102 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2103 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2104 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2105 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2106 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2107 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2108 numeric_limits::radix(GLIBCXX_3.4) [1] 2109 numeric_limits::traps(GLIBCXX_3.4) [1] 2110 numeric_limits::digits(GLIBCXX_3.4) [1] 2111 numeric_limits::digits10(GLIBCXX_3.4) [1] 2112 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2113 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2114 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2115 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2116 2117 Referenced Specification(s) 2118 2119 [1]. ISO/IEC 14882: 2003 C++ Language 2120 _________________________________________________________ 2121 2122 9.1.11. struct numeric_limits 2123 _________________________________________________________ 2124 2125 9.1.11.1. Interfaces for struct numeric_limits 2126 2127 No external methods are defined for libstdcxx - struct 2128 numeric_limits 2129 2130 An LSB conforming implementation shall provide the generic 2131 data interfaces for struct numeric_limits 2132 specified in Table 9-12, with the full mandatory functionality 2133 as described in the referenced underlying specification. 2134 2135 Table 9-12. libstdcxx - struct numeric_limits 2136 Data Interfaces 2137 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2138 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2139 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2140 numeric_limits::round_style(GLIBCXX_3.4) [1] 2141 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2142 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2143 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2144 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2145 numeric_limits::is_specialized(GLIBCXX_3.4) 2146 [1] 2147 numeric_limits::max_exponent10(GLIBCXX_3.4) 2148 [1] 2149 numeric_limits::min_exponent10(GLIBCXX_3.4) 2150 [1] 2151 numeric_limits::has_denorm_loss(GLIBCXX_3.4) 2152 [1] 2153 numeric_limits::tinyness_before(GLIBCXX_3.4) 2154 [1] 2155 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 2156 [1] 2157 numeric_limits::radix(GLIBCXX_3.4) [1] 2158 numeric_limits::traps(GLIBCXX_3.4) [1] 2159 numeric_limits::digits(GLIBCXX_3.4) [1] 2160 numeric_limits::digits10(GLIBCXX_3.4) [1] 2161 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2162 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2163 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2164 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2165 2166 Referenced Specification(s) 2167 2168 [1]. ISO/IEC 14882: 2003 C++ Language 2169 _________________________________________________________ 2170 2171 9.1.12. struct numeric_limits 2172 _________________________________________________________ 2173 2174 9.1.12.1. Interfaces for struct numeric_limits 2175 2176 No external methods are defined for libstdcxx - struct 2177 numeric_limits 2178 2179 An LSB conforming implementation shall provide the generic 2180 data interfaces for struct numeric_limits specified in 2181 Table 9-13, with the full mandatory functionality as described 2182 in the referenced underlying specification. 2183 2184 Table 9-13. libstdcxx - struct numeric_limits Data 2185 Interfaces 2186 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2187 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2188 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2189 numeric_limits::round_style(GLIBCXX_3.4) [1] 2190 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2191 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2192 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2193 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2194 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2195 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2196 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2197 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2198 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2199 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2200 numeric_limits::radix(GLIBCXX_3.4) [1] 2201 numeric_limits::traps(GLIBCXX_3.4) [1] 2202 numeric_limits::digits(GLIBCXX_3.4) [1] 2203 numeric_limits::digits10(GLIBCXX_3.4) [1] 2204 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2205 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2206 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2207 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2208 2209 Referenced Specification(s) 2210 2211 [1]. ISO/IEC 14882: 2003 C++ Language 2212 _________________________________________________________ 2213 2214 9.1.13. struct numeric_limits 2215 _________________________________________________________ 2216 2217 9.1.13.1. Interfaces for struct numeric_limits 2218 2219 No external methods are defined for libstdcxx - struct 2220 numeric_limits 2221 2222 An LSB conforming implementation shall provide the generic 2223 data interfaces for struct numeric_limits 2224 specified in Table 9-14, with the full mandatory functionality 2225 as described in the referenced underlying specification. 2226 2227 Table 9-14. libstdcxx - struct numeric_limits 2228 Data Interfaces 2229 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2230 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2231 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2232 numeric_limits::round_style(GLIBCXX_3.4) [1] 2233 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2234 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2235 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2236 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2237 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2238 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2239 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2240 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2241 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2242 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 2243 [1] 2244 numeric_limits::radix(GLIBCXX_3.4) [1] 2245 numeric_limits::traps(GLIBCXX_3.4) [1] 2246 numeric_limits::digits(GLIBCXX_3.4) [1] 2247 numeric_limits::digits10(GLIBCXX_3.4) [1] 2248 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2249 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2250 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2251 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2252 2253 Referenced Specification(s) 2254 2255 [1]. ISO/IEC 14882: 2003 C++ Language 2256 _________________________________________________________ 2257 2258 9.1.14. struct numeric_limits 2259 _________________________________________________________ 2260 2261 9.1.14.1. Interfaces for struct numeric_limits 2262 2263 No external methods are defined for libstdcxx - struct 2264 numeric_limits 2265 2266 An LSB conforming implementation shall provide the generic 2267 data interfaces for struct numeric_limits specified in 2268 Table 9-15, with the full mandatory functionality as described 2269 in the referenced underlying specification. 2270 2271 Table 9-15. libstdcxx - struct numeric_limits Data 2272 Interfaces 2273 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2274 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2275 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2276 numeric_limits::round_style(GLIBCXX_3.4) [1] 2277 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2278 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2279 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2280 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2281 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2282 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2283 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2284 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2285 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2286 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2287 numeric_limits::radix(GLIBCXX_3.4) [1] 2288 numeric_limits::traps(GLIBCXX_3.4) [1] 2289 numeric_limits::digits(GLIBCXX_3.4) [1] 2290 numeric_limits::digits10(GLIBCXX_3.4) [1] 2291 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2292 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2293 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2294 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2295 2296 Referenced Specification(s) 2297 2298 [1]. ISO/IEC 14882: 2003 C++ Language 2299 _________________________________________________________ 2300 2301 9.1.15. struct numeric_limits 2302 _________________________________________________________ 2303 2304 9.1.15.1. Interfaces for struct numeric_limits 2305 2306 No external methods are defined for libstdcxx - struct 2307 numeric_limits 2308 2309 An LSB conforming implementation shall provide the generic 2310 data interfaces for struct numeric_limits 2311 specified in Table 9-16, with the full mandatory functionality 2312 as described in the referenced underlying specification. 2313 2314 Table 9-16. libstdcxx - struct numeric_limits 2315 Data Interfaces 2316 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2317 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2318 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2319 numeric_limits::round_style(GLIBCXX_3.4) [1] 2320 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2321 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2322 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2323 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2324 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2325 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2326 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2327 numeric_limits::has_denorm_loss(GLIBCXX_3.4) 2328 [1] 2329 numeric_limits::tinyness_before(GLIBCXX_3.4) 2330 [1] 2331 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 2332 [1] 2333 numeric_limits::radix(GLIBCXX_3.4) [1] 2334 numeric_limits::traps(GLIBCXX_3.4) [1] 2335 numeric_limits::digits(GLIBCXX_3.4) [1] 2336 numeric_limits::digits10(GLIBCXX_3.4) [1] 2337 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2338 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2339 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2340 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2341 2342 Referenced Specification(s) 2343 2344 [1]. ISO/IEC 14882: 2003 C++ Language 2345 _________________________________________________________ 2346 2347 9.1.16. struct numeric_limits 2348 _________________________________________________________ 2349 2350 9.1.16.1. Interfaces for struct numeric_limits 2351 2352 No external methods are defined for libstdcxx - struct 2353 numeric_limits 2354 2355 An LSB conforming implementation shall provide the generic 2356 data interfaces for struct numeric_limits specified 2357 in Table 9-17, with the full mandatory functionality as 2358 described in the referenced underlying specification. 2359 2360 Table 9-17. libstdcxx - struct numeric_limits Data 2361 Interfaces 2362 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2363 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2364 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2365 numeric_limits::round_style(GLIBCXX_3.4) [1] 2366 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2367 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2368 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2369 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2370 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2371 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2372 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2373 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2374 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2375 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2376 numeric_limits::radix(GLIBCXX_3.4) [1] 2377 numeric_limits::traps(GLIBCXX_3.4) [1] 2378 numeric_limits::digits(GLIBCXX_3.4) [1] 2379 numeric_limits::digits10(GLIBCXX_3.4) [1] 2380 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2381 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2382 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2383 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2384 2385 Referenced Specification(s) 2386 2387 [1]. ISO/IEC 14882: 2003 C++ Language 2388 _________________________________________________________ 2389 2390 9.1.17. struct numeric_limits 2391 _________________________________________________________ 2392 2393 9.1.17.1. Interfaces for struct numeric_limits 2394 2395 No external methods are defined for libstdcxx - struct 2396 numeric_limits 2397 2398 An LSB conforming implementation shall provide the generic 2399 data interfaces for struct numeric_limits 2400 specified in Table 9-18, with the full mandatory functionality 2401 as described in the referenced underlying specification. 2402 2403 Table 9-18. libstdcxx - struct numeric_limits 2404 Data Interfaces 2405 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2406 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2407 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2408 numeric_limits::round_style(GLIBCXX_3.4) [1] 2409 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2410 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2411 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2412 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2413 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2414 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2415 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2416 numeric_limits::has_denorm_loss(GLIBCXX_3.4) 2417 [1] 2418 numeric_limits::tinyness_before(GLIBCXX_3.4) 2419 [1] 2420 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 2421 [1] 2422 numeric_limits::radix(GLIBCXX_3.4) [1] 2423 numeric_limits::traps(GLIBCXX_3.4) [1] 2424 numeric_limits::digits(GLIBCXX_3.4) [1] 2425 numeric_limits::digits10(GLIBCXX_3.4) [1] 2426 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2427 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2428 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2429 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2430 2431 Referenced Specification(s) 2432 2433 [1]. ISO/IEC 14882: 2003 C++ Language 2434 _________________________________________________________ 2435 2436 9.1.18. struct numeric_limits 2437 _________________________________________________________ 2438 2439 9.1.18.1. Interfaces for struct numeric_limits 2440 2441 No external methods are defined for libstdcxx - struct 2442 numeric_limits 2443 2444 An LSB conforming implementation shall provide the generic 2445 data interfaces for struct numeric_limits 2446 specified in Table 9-19, with the full mandatory functionality 2447 as described in the referenced underlying specification. 2448 2449 Table 9-19. libstdcxx - struct numeric_limits 2450 Data Interfaces 2451 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2452 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2453 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2454 numeric_limits::round_style(GLIBCXX_3.4) [1] 2455 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2456 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2457 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2458 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2459 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2460 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2461 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2462 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2463 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2464 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) 2465 [1] 2466 numeric_limits::radix(GLIBCXX_3.4) [1] 2467 numeric_limits::traps(GLIBCXX_3.4) [1] 2468 numeric_limits::digits(GLIBCXX_3.4) [1] 2469 numeric_limits::digits10(GLIBCXX_3.4) [1] 2470 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2471 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2472 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2473 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2474 2475 Referenced Specification(s) 2476 2477 [1]. ISO/IEC 14882: 2003 C++ Language 2478 _________________________________________________________ 2479 2480 9.1.19. struct numeric_limits 2481 _________________________________________________________ 2482 2483 9.1.19.1. Interfaces for struct numeric_limits 2484 2485 No external methods are defined for libstdcxx - struct 2486 numeric_limits 2487 2488 An LSB conforming implementation shall provide the generic 2489 data interfaces for struct numeric_limits specified in 2490 Table 9-20, with the full mandatory functionality as described 2491 in the referenced underlying specification. 2492 2493 Table 9-20. libstdcxx - struct numeric_limits Data 2494 Interfaces 2495 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2496 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2497 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2498 numeric_limits::round_style(GLIBCXX_3.4) [1] 2499 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2500 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2501 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2502 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2503 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2504 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2505 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2506 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2507 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2508 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2509 numeric_limits::radix(GLIBCXX_3.4) [1] 2510 numeric_limits::traps(GLIBCXX_3.4) [1] 2511 numeric_limits::digits(GLIBCXX_3.4) [1] 2512 numeric_limits::digits10(GLIBCXX_3.4) [1] 2513 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2514 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2515 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2516 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2517 2518 Referenced Specification(s) 2519 2520 [1]. ISO/IEC 14882: 2003 C++ Language 2521 _________________________________________________________ 2522 2523 9.1.20. struct numeric_limits 2524 _________________________________________________________ 2525 2526 9.1.20.1. Interfaces for struct numeric_limits 2527 2528 No external methods are defined for libstdcxx - struct 2529 numeric_limits 2530 2531 An LSB conforming implementation shall provide the generic 2532 data interfaces for struct numeric_limits specified in 2533 Table 9-21, with the full mandatory functionality as described 2534 in the referenced underlying specification. 2535 2536 Table 9-21. libstdcxx - struct numeric_limits Data 2537 Interfaces 2538 numeric_limits::has_denorm(GLIBCXX_3.4) [1] 2539 numeric_limits::is_bounded(GLIBCXX_3.4) [1] 2540 numeric_limits::is_integer(GLIBCXX_3.4) [1] 2541 numeric_limits::round_style(GLIBCXX_3.4) [1] 2542 numeric_limits::has_infinity(GLIBCXX_3.4) [1] 2543 numeric_limits::max_exponent(GLIBCXX_3.4) [1] 2544 numeric_limits::min_exponent(GLIBCXX_3.4) [1] 2545 numeric_limits::has_quiet_NaN(GLIBCXX_3.4) [1] 2546 numeric_limits::is_specialized(GLIBCXX_3.4) [1] 2547 numeric_limits::max_exponent10(GLIBCXX_3.4) [1] 2548 numeric_limits::min_exponent10(GLIBCXX_3.4) [1] 2549 numeric_limits::has_denorm_loss(GLIBCXX_3.4) [1] 2550 numeric_limits::tinyness_before(GLIBCXX_3.4) [1] 2551 numeric_limits::has_signaling_NaN(GLIBCXX_3.4) [1] 2552 numeric_limits::radix(GLIBCXX_3.4) [1] 2553 numeric_limits::traps(GLIBCXX_3.4) [1] 2554 numeric_limits::digits(GLIBCXX_3.4) [1] 2555 numeric_limits::digits10(GLIBCXX_3.4) [1] 2556 numeric_limits::is_exact(GLIBCXX_3.4) [1] 2557 numeric_limits::is_iec559(GLIBCXX_3.4) [1] 2558 numeric_limits::is_modulo(GLIBCXX_3.4) [1] 2559 numeric_limits::is_signed(GLIBCXX_3.4) [1] 2560 2561 Referenced Specification(s) 2562 2563 [1]. ISO/IEC 14882: 2003 C++ Language 2564 _________________________________________________________ 2565 2566 9.1.21. Class allocator 2567 _________________________________________________________ 2568 2569 9.1.21.1. Class data for allocator 2570 _________________________________________________________ 2571 2572 9.1.21.2. Interfaces for Class allocator 2573 2574 An LSB conforming implementation shall provide the generic 2575 methods for Class std::allocator specified in Table 2576 9-22, with the full mandatory functionality as described in 2577 the referenced underlying specification. 2578 2579 Table 9-22. libstdcxx - Class allocator Function 2580 Interfaces 2581 allocator::allocator(allocator 2582 const&)(GLIBCXX_3.4) [1] 2583 allocator::allocator()(GLIBCXX_3.4) [1] 2584 allocator::allocator(allocator 2585 const&)(GLIBCXX_3.4) [1] 2586 allocator::allocator()(GLIBCXX_3.4) [1] 2587 allocator::~allocator()(GLIBCXX_3.4) [1] 2588 allocator::~allocator()(GLIBCXX_3.4) [1] 2589 2590 Referenced Specification(s) 2591 2592 [1]. ISO/IEC 14882: 2003 C++ Language 2593 _________________________________________________________ 2594 2595 9.1.22. Class allocator 2596 _________________________________________________________ 2597 2598 9.1.22.1. Class data for allocator 2599 _________________________________________________________ 2600 2601 9.1.22.2. Interfaces for Class allocator 2602 2603 An LSB conforming implementation shall provide the generic 2604 methods for Class std::allocator specified in Table 2605 9-23, with the full mandatory functionality as described in 2606 the referenced underlying specification. 2607 2608 Table 9-23. libstdcxx - Class allocator Function 2609 Interfaces 2610 allocator::allocator(allocator 2611 const&)(GLIBCXX_3.4) [1] 2612 allocator::allocator()(GLIBCXX_3.4) [1] 2613 allocator::allocator(allocator 2614 const&)(GLIBCXX_3.4) [1] 2615 allocator::allocator()(GLIBCXX_3.4) [1] 2616 allocator::~allocator()(GLIBCXX_3.4) [1] 2617 allocator::~allocator()(GLIBCXX_3.4) [1] 2618 2619 Referenced Specification(s) 2620 2621 [1]. ISO/IEC 14882: 2003 C++ Language 2622 _________________________________________________________ 2623 2624 9.1.23. facet functions 2625 _________________________________________________________ 2626 2627 9.1.23.1. Interfaces for facet functions 2628 2629 An LSB conforming implementation shall provide the generic 2630 methods for facet functions specified in Table 9-24, with the 2631 full mandatory functionality as described in the referenced 2632 underlying specification. 2633 2634 Table 9-24. libstdcxx - facet functions Function Interfaces 2635 bool has_facet >(locale 2636 const&)(GLIBCXX_3.4) [1] 2637 bool has_facet >(locale 2638 const&)(GLIBCXX_3.4) [1] 2639 bool has_facet >(locale const&)(GLIBCXX_3.4) 2640 [1] 2641 bool has_facet >(locale 2642 const&)(GLIBCXX_3.4) [1] 2643 bool has_facet >(locale 2644 const&)(GLIBCXX_3.4) [1] 2645 bool has_facet >(locale const&)(GLIBCXX_3.4) [1] 2646 bool has_facet >(locale const&)(GLIBCXX_3.4) 2647 [1] 2648 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2650 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2652 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2654 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2656 bool has_facet >(locale const&)(GLIBCXX_3.4) 2657 [1] 2658 bool has_facet >(locale const&)(GLIBCXX_3.4) 2659 [1] 2660 bool has_facet >(locale const&)(GLIBCXX_3.4) 2661 [1] 2662 bool has_facet >(locale const&)(GLIBCXX_3.4) 2663 [1] 2664 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2666 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2668 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2670 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2672 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2674 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2676 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2678 bool has_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2680 moneypunct const& use_facet >(locale const&)(GLIBCXX_3.4) [1] 2682 moneypunct const& use_facet 2683 >(locale const&)(GLIBCXX_3.4) [1] 2684 moneypunct const& 2685 use_facet >(locale 2686 const&)(GLIBCXX_3.4) [1] 2687 moneypunct const& use_facet >(locale const&)(GLIBCXX_3.4) [1] 2689 __timepunct const& use_facet<__timepunct >(locale 2690 const&)(GLIBCXX_3.4) [1] 2691 __timepunct const& use_facet<__timepunct 2692 >(locale const&)(GLIBCXX_3.4) [1] 2693 ctype const& use_facet >(locale 2694 const&)(GLIBCXX_3.4) [1] 2695 ctype const& use_facet >(locale 2696 const&)(GLIBCXX_3.4) [1] 2697 codecvt const& 2698 use_facet >(locale 2699 const&)(GLIBCXX_3.4) [1] 2700 codecvt const& 2701 use_facet >(locale 2702 const&)(GLIBCXX_3.4) [1] 2703 collate const& use_facet >(locale 2704 const&)(GLIBCXX_3.4) [1] 2705 collate const& use_facet >(locale 2706 const&)(GLIBCXX_3.4) [1] 2707 num_get > > 2708 const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2710 num_get > > const& use_facet > > >(locale 2713 const&)(GLIBCXX_3.4) [1] 2714 num_put > > 2715 const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2717 num_put > > const& use_facet > > >(locale 2720 const&)(GLIBCXX_3.4) [1] 2721 messages const& use_facet >(locale 2722 const&)(GLIBCXX_3.4) [1] 2723 messages const& use_facet >(locale 2724 const&)(GLIBCXX_3.4) [1] 2725 numpunct const& use_facet >(locale 2726 const&)(GLIBCXX_3.4) [1] 2727 numpunct const& use_facet >(locale 2728 const&)(GLIBCXX_3.4) [1] 2729 time_get > > 2730 const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2732 time_get > > const& use_facet > > >(locale 2735 const&)(GLIBCXX_3.4) [1] 2736 time_put > > 2737 const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2739 time_put > > const& use_facet > > >(locale 2742 const&)(GLIBCXX_3.4) [1] 2743 money_get > 2744 > const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2746 money_get > > const& use_facet > > >(locale 2749 const&)(GLIBCXX_3.4) [1] 2750 money_put > 2751 > const& use_facet > > >(locale const&)(GLIBCXX_3.4) [1] 2753 money_put > > const& use_facet > > >(locale 2756 const&)(GLIBCXX_3.4) [1] 2757 2758 Referenced Specification(s) 2759 2760 [1]. ISO/IEC 14882: 2003 C++ Language 2761 _________________________________________________________ 2762 2763 9.1.24. Class basic_string 2764 _________________________________________________________ 2765 2766 9.1.24.1. Interfaces for Class basic_string 2767 2768 An LSB conforming implementation shall provide the generic 2769 methods for Class std::basic_string specified in Table 9-25, 2770 with the full mandatory functionality as described in the 2771 referenced underlying specification. 2772 2773 Table 9-25. libstdcxx - Class basic_string Function Interfaces 2774 basic_string, allocator 2775 >::get_allocator() const(GLIBCXX_3.4) [1] 2776 basic_string, allocator 2777 >::end() const(GLIBCXX_3.4) [1] 2778 basic_string, allocator 2779 >::_Rep::_M_is_leaked() const(GLIBCXX_3.4) [1] 2780 basic_string, allocator 2781 >::_Rep::_M_is_sh