Linux Standard Base C++ Specification 3.2 Copyright © 2007 Linux Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". Portions of the text may be copyrighted by the following parties: * The Regents of the University of California * Free Software Foundation * Ian F. Darwin * Paul Vixie * BSDI (now Wind River) * Andrew G Morgan * Jean-loup Gailly and Mark Adler * Massachusetts Institute of Technology * Apple Inc. * Easy Software Products * artofcode LLC * Till Kamppeter * Manfred Wassman * Python Software Foundation These excerpts are being used in accordance with their respective licenses. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. UNIX is a registered trademark of The Open Group. LSB is a trademark of the Linux Foundation in the United States and other countries. AMD is a trademark of Advanced Micro Devices, Inc. Intel and Itanium are registered trademarks and Intel386 is a trademark of Intel Corporation. PowerPC is a registered trademark and PowerPC Architecture is a trademark of the IBM Corporation. S/390 is a registered trademark of the IBM Corporation. OpenGL is a registered trademark of Silicon Graphics, Inc. __________________________________________________________ Table of Contents Foreword Introduction I. Introductory Elements 1. Scope 1.1. General 1.2. Module Specific Scope 2. Normative References 3. Requirements 3.1. Relevant Libraries 3.2. LSB Implementation Conformance 3.3. LSB Application Conformance 4. Definitions 5. Terminology 6. Documentation Conventions II. Low Level System Information 7. C++ Class Representations 7.1. C++ Data Representation 8. Symbol Mapping 8.1. Symbol Mapping III. Base Libraries 9. Libraries 9.1. Interfaces for libstdcxx 9.2. Interface Definitions for libstdcxx A. GNU Free Documentation License (Informative) A.1. PREAMBLE A.2. APPLICABILITY AND DEFINITIONS A.3. VERBATIM COPYING A.4. COPYING IN QUANTITY A.5. MODIFICATIONS A.6. COMBINING DOCUMENTS A.7. COLLECTIONS OF DOCUMENTS A.8. AGGREGATION WITH INDEPENDENT WORKS A.9. TRANSLATION A.10. TERMINATION A.11. FUTURE REVISIONS OF THIS LICENSE A.12. How to use this License for your documents List of Figures 7-1. Category 1 Virtual Table 7-2. Category 2 Virtual Table 7-3. Run-Time Type Information Prefix 7-4. Run-Time Type Information For Classes with no base class 7-5. Run-Time Type Information for Classes with a single base class 7-6. Run-Time Type Information for classes with multiple inheritance 7-7. Run-Time Type Information for pointer types 7-8. Run-Time Type Information for pointer to member types List of Tables 2-1. Normative References 3-1. Standard Library Names 7-1. Class Components 9-1. libstdcxx Definition 9-2. libstdcxx - C++ Runtime Support Function Interfaces 9-3. libstdcxx - C++ Runtime Support Data Interfaces 9-4. libstdcxx - C++ type descriptors for built-in types Data Interfaces 9-5. libstdcxx - C++ _Rb_tree Function Interfaces 9-6. Primary vtable for type_info 9-7. typeinfo for type_info 9-8. libstdcxx - Class type_info Function Interfaces 9-9. libstdcxx - Class type_info Data Interfaces 9-10. Primary vtable for __cxxabiv1::__enum_type_info 9-11. typeinfo for __cxxabiv1::__enum_type_info 9-12. libstdcxx - Class __cxxabiv1::__enum_type_info Function Interfaces 9-13. libstdcxx - Class __cxxabiv1::__enum_type_info Data Interfaces 9-14. Primary vtable for __cxxabiv1::__array_type_info 9-15. typeinfo for __cxxabiv1::__array_type_info 9-16. libstdcxx - Class __cxxabiv1::__array_type_info Function Interfaces 9-17. libstdcxx - Class __cxxabiv1::__array_type_info Data Interfaces 9-18. Primary vtable for __cxxabiv1::__class_type_info 9-19. typeinfo for __cxxabiv1::__class_type_info 9-20. libstdcxx - Class __cxxabiv1::__class_type_info Function Interfaces 9-21. libstdcxx - Class __cxxabiv1::__class_type_info Data Interfaces 9-22. Primary vtable for __cxxabiv1::__pbase_type_info 9-23. typeinfo for __cxxabiv1::__pbase_type_info 9-24. libstdcxx - Class __cxxabiv1::__pbase_type_info Function Interfaces 9-25. libstdcxx - Class __cxxabiv1::__pbase_type_info Data Interfaces 9-26. Primary vtable for __cxxabiv1::__pointer_type_info 9-27. typeinfo for __cxxabiv1::__pointer_type_info 9-28. libstdcxx - Class __cxxabiv1::__pointer_type_info Function Interfaces 9-29. libstdcxx - Class __cxxabiv1::__pointer_type_info Data Interfaces 9-30. Primary vtable for __cxxabiv1::__function_type_info 9-31. typeinfo for __cxxabiv1::__function_type_info 9-32. libstdcxx - Class __cxxabiv1::__function_type_info Function Interfaces 9-33. libstdcxx - Class __cxxabiv1::__function_type_info Data Interfaces 9-34. Primary vtable for __cxxabiv1::__si_class_type_info 9-35. typeinfo for __cxxabiv1::__si_class_type_info 9-36. libstdcxx - Class __cxxabiv1::__si_class_type_info Function Interfaces 9-37. libstdcxx - Class __cxxabiv1::__si_class_type_info Data Interfaces 9-38. Primary vtable for __cxxabiv1::__vmi_class_type_info 9-39. typeinfo for __cxxabiv1::__vmi_class_type_info 9-40. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Function Interfaces 9-41. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Data Interfaces 9-42. Primary vtable for __cxxabiv1::__fundamental_type_info 9-43. typeinfo for __cxxabiv1::__fundamental_type_info 9-44. libstdcxx - Class __cxxabiv1::__fundamental_type_info Function Interfaces 9-45. libstdcxx - Class __cxxabiv1::__fundamental_type_info Data Interfaces 9-46. Primary vtable for __cxxabiv1::__pointer_to_member_type_info 9-47. typeinfo for __cxxabiv1::__pointer_to_member_type_info 9-48. libstdcxx - Class __cxxabiv1::__pointer_to_member_type_info Function Interfaces 9-49. libstdcxx - Class __cxxabiv1::__pointer_to_member_type_info Data Interfaces 9-50. Primary vtable for __gnu_cxx::stdio_sync_filebuf > 9-51. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces 9-52. Primary vtable for __gnu_cxx::stdio_sync_filebuf > 9-53. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces 9-54. libstdcxx - Class __gnu_cxx::__pool_alloc_base Function Interfaces 9-55. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Function Interfaces 9-56. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Data Interfaces 9-57. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Function Interfaces 9-58. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Data Interfaces 9-59. Primary vtable for exception 9-60. typeinfo for exception 9-61. libstdcxx - Class exception Function Interfaces 9-62. libstdcxx - Class exception Data Interfaces 9-63. Primary vtable for bad_typeid 9-64. typeinfo for bad_typeid 9-65. libstdcxx - Class bad_typeid Function Interfaces 9-66. libstdcxx - Class bad_typeid Data Interfaces 9-67. Primary vtable for logic_error 9-68. typeinfo for logic_error 9-69. libstdcxx - Class logic_error Function Interfaces 9-70. libstdcxx - Class logic_error Data Interfaces 9-71. Primary vtable for range_error 9-72. typeinfo for range_error 9-73. libstdcxx - Class range_error Function Interfaces 9-74. libstdcxx - Class range_error Data Interfaces 9-75. Primary vtable for domain_error 9-76. typeinfo for domain_error 9-77. libstdcxx - Class domain_error Function Interfaces 9-78. libstdcxx - Class domain_error Data Interfaces 9-79. Primary vtable for length_error 9-80. typeinfo for length_error 9-81. libstdcxx - Class length_error Function Interfaces 9-82. libstdcxx - Class length_error Data Interfaces 9-83. Primary vtable for out_of_range 9-84. typeinfo for out_of_range 9-85. libstdcxx - Class out_of_range Function Interfaces 9-86. libstdcxx - Class out_of_range Data Interfaces 9-87. Primary vtable for bad_exception 9-88. typeinfo for bad_exception 9-89. libstdcxx - Class bad_exception Function Interfaces 9-90. libstdcxx - Class bad_exception Data Interfaces 9-91. Primary vtable for runtime_error 9-92. typeinfo for runtime_error 9-93. libstdcxx - Class runtime_error Function Interfaces 9-94. libstdcxx - Class runtime_error Data Interfaces 9-95. Primary vtable for overflow_error 9-96. typeinfo for overflow_error 9-97. libstdcxx - Class overflow_error Function Interfaces 9-98. libstdcxx - Class overflow_error Data Interfaces 9-99. Primary vtable for underflow_error 9-100. typeinfo for underflow_error 9-101. libstdcxx - Class underflow_error Function Interfaces 9-102. libstdcxx - Class underflow_error Data Interfaces 9-103. Primary vtable for invalid_argument 9-104. typeinfo for invalid_argument 9-105. libstdcxx - Class invalid_argument Function Interfaces 9-106. libstdcxx - Class invalid_argument Data Interfaces 9-107. Primary vtable for bad_cast 9-108. typeinfo for bad_cast 9-109. libstdcxx - Class bad_cast Function Interfaces 9-110. libstdcxx - Class bad_cast Data Interfaces 9-111. Primary vtable for bad_alloc 9-112. typeinfo for bad_alloc 9-113. libstdcxx - Class bad_alloc Function Interfaces 9-114. libstdcxx - Class bad_alloc Data Interfaces 9-115. libstdcxx - struct __numeric_limits_base Data Interfaces 9-116. libstdcxx - struct numeric_limits Data Interfaces 9-117. libstdcxx - struct numeric_limits Data Interfaces 9-118. libstdcxx - struct numeric_limits Data Interfaces 9-119. libstdcxx - struct numeric_limits Data Interfaces 9-120. libstdcxx - struct numeric_limits Data Interfaces 9-121. libstdcxx - struct numeric_limits Data Interfaces 9-122. libstdcxx - struct numeric_limits Data Interfaces 9-123. libstdcxx - struct numeric_limits Data Interfaces 9-124. libstdcxx - struct numeric_limits Data Interfaces 9-125. libstdcxx - struct numeric_limits Data Interfaces 9-126. libstdcxx - struct numeric_limits Data Interfaces 9-127. libstdcxx - struct numeric_limits Data Interfaces 9-128. libstdcxx - struct numeric_limits Data Interfaces 9-129. libstdcxx - struct numeric_limits Data Interfaces 9-130. libstdcxx - struct numeric_limits Data Interfaces 9-131. libstdcxx - struct numeric_limits Data Interfaces 9-132. typeinfo for ctype_base 9-133. libstdcxx - Class ctype_base Data Interfaces 9-134. Primary vtable for __ctype_abstract_base 9-135. libstdcxx - Class __ctype_abstract_base Data Interfaces 9-136. Primary vtable for __ctype_abstract_base 9-137. libstdcxx - Class __ctype_abstract_base Data Interfaces 9-138. Primary vtable for ctype 9-139. libstdcxx - Class ctype Function Interfaces 9-140. libstdcxx - Class ctype Data Interfaces 9-141. Primary vtable for ctype 9-142. typeinfo for ctype 9-143. libstdcxx - Class ctype Function Interfaces 9-144. libstdcxx - Class ctype Data Interfaces 9-145. Primary vtable for ctype_byname 9-146. typeinfo for ctype_byname 9-147. libstdcxx - Class ctype_byname Function Interfaces 9-148. libstdcxx - Class ctype_byname Data Interfaces 9-149. libstdcxx - Class ctype_byname Function Interfaces 9-150. libstdcxx - Class ctype_byname Data Interfaces 9-151. libstdcxx - Class basic_string, allocator > Function Interfaces 9-152. libstdcxx - Class basic_string, allocator > Data Interfaces 9-153. libstdcxx - Class basic_string, allocator > Function Interfaces 9-154. libstdcxx - Class basic_string, allocator > Data Interfaces 9-155. VTT for basic_stringstream, allocator > 9-156. libstdcxx - Class basic_stringstream, allocator > Function Interfaces 9-157. libstdcxx - Class basic_stringstream, allocator > Data Interfaces 9-158. VTT for basic_stringstream, allocator > 9-159. libstdcxx - Class basic_stringstream, allocator > Function Interfaces 9-160. libstdcxx - Class basic_stringstream, allocator > Data Interfaces 9-161. VTT for basic_istringstream, allocator > 9-162. libstdcxx - Class basic_istringstream, allocator > Function Interfaces 9-163. libstdcxx - Class basic_istringstream, allocator > Data Interfaces 9-164. VTT for basic_istringstream, allocator > 9-165. libstdcxx - Class basic_istringstream, allocator > Function Interfaces 9-166. libstdcxx - Class basic_istringstream, allocator > Data Interfaces 9-167. VTT for basic_ostringstream, allocator > 9-168. libstdcxx - Class basic_ostringstream, allocator > Function Interfaces 9-169. libstdcxx - Class basic_ostringstream, allocator > Data Interfaces 9-170. VTT for basic_ostringstream, allocator > 9-171. libstdcxx - Class basic_ostringstream, allocator > Function Interfaces 9-172. libstdcxx - Class basic_ostringstream, allocator > Data Interfaces 9-173. Primary vtable for basic_stringbuf, allocator > 9-174. typeinfo for basic_stringbuf, allocator > 9-175. libstdcxx - Class basic_stringbuf, allocator > Function Interfaces 9-176. libstdcxx - Class basic_stringbuf, allocator > Data Interfaces 9-177. Primary vtable for basic_stringbuf, allocator > 9-178. typeinfo for basic_stringbuf, allocator > 9-179. libstdcxx - Class basic_stringbuf, allocator > Function Interfaces 9-180. libstdcxx - Class basic_stringbuf, allocator > Data Interfaces 9-181. VTT for basic_iostream > 9-182. libstdcxx - Class basic_iostream > Function Interfaces 9-183. libstdcxx - Class basic_iostream > Data Interfaces 9-184. VTT for basic_iostream > 9-185. libstdcxx - Class basic_iostream > Function Interfaces 9-186. libstdcxx - Class basic_iostream > Data Interfaces 9-187. VTT for basic_istream > 9-188. libstdcxx - Class basic_istream > Function Interfaces 9-189. libstdcxx - Class basic_istream > Data Interfaces 9-190. VTT for basic_istream > 9-191. libstdcxx - Class basic_istream > Function Interfaces 9-192. libstdcxx - Class basic_istream > Data Interfaces 9-193. VTT for basic_ostream > 9-194. libstdcxx - Class basic_ostream > Function Interfaces 9-195. libstdcxx - Class basic_ostream > Data Interfaces 9-196. VTT for basic_ostream > 9-197. libstdcxx - Class basic_ostream > Function Interfaces 9-198. libstdcxx - Class basic_ostream > Data Interfaces 9-199. VTT for basic_fstream > 9-200. libstdcxx - Class basic_fstream > Function Interfaces 9-201. libstdcxx - Class basic_fstream > Data Interfaces 9-202. VTT for basic_fstream > 9-203. libstdcxx - Class basic_fstream > Function Interfaces 9-204. libstdcxx - Class basic_fstream > Data Interfaces 9-205. VTT for basic_ifstream > 9-206. libstdcxx - Class basic_ifstream > Function Interfaces 9-207. libstdcxx - Class basic_ifstream > Data Interfaces 9-208. VTT for basic_ifstream > 9-209. libstdcxx - Class basic_ifstream > Function Interfaces 9-210. libstdcxx - Class basic_ifstream > Data Interfaces 9-211. VTT for basic_ofstream > 9-212. libstdcxx - Class basic_ofstream > Function Interfaces 9-213. libstdcxx - Class basic_ofstream > Data Interfaces 9-214. VTT for basic_ofstream > 9-215. libstdcxx - Class basic_ofstream > Function Interfaces 9-216. libstdcxx - Class basic_ofstream > Data Interfaces 9-217. Primary vtable for basic_streambuf > 9-218. typeinfo for basic_streambuf > 9-219. libstdcxx - Class basic_streambuf > Function Interfaces 9-220. libstdcxx - Class basic_streambuf > Data Interfaces 9-221. Primary vtable for basic_streambuf > 9-222. typeinfo for basic_streambuf > 9-223. libstdcxx - Class basic_streambuf > Function Interfaces 9-224. Primary vtable for basic_filebuf > 9-225. typeinfo for basic_filebuf > 9-226. libstdcxx - Class basic_filebuf > Function Interfaces 9-227. libstdcxx - Class basic_filebuf > Data Interfaces 9-228. Primary vtable for basic_filebuf > 9-229. typeinfo for basic_filebuf > 9-230. libstdcxx - Class basic_filebuf > Function Interfaces 9-231. libstdcxx - Class basic_filebuf > Data Interfaces 9-232. typeinfo for ios_base 9-233. libstdcxx - Class ios_base Function Interfaces 9-234. libstdcxx - Class ios_base Data Interfaces 9-235. Primary vtable for basic_ios > 9-236. libstdcxx - Class basic_ios > Function Interfaces 9-237. libstdcxx - Class basic_ios > Data Interfaces 9-238. libstdcxx - Class basic_ios > Function Interfaces 9-239. libstdcxx - Class basic_ios > Data Interfaces 9-240. Primary vtable for ios_base::failure 9-241. typeinfo for ios_base::failure 9-242. libstdcxx - Class ios_base::failure Function Interfaces 9-243. libstdcxx - Class ios_base::failure Data Interfaces 9-244. Primary vtable for __timepunct 9-245. typeinfo for __timepunct 9-246. libstdcxx - Class __timepunct Function Interfaces 9-247. libstdcxx - Class __timepunct Data Interfaces 9-248. Primary vtable for __timepunct 9-249. typeinfo for __timepunct 9-250. libstdcxx - Class __timepunct Function Interfaces 9-251. libstdcxx - Class __timepunct Data Interfaces 9-252. typeinfo for messages_base 9-253. libstdcxx - Class messages_base Data Interfaces 9-254. Primary vtable for messages 9-255. libstdcxx - Class messages Function Interfaces 9-256. libstdcxx - Class messages Data Interfaces 9-257. Primary vtable for messages 9-258. libstdcxx - Class messages Function Interfaces 9-259. libstdcxx - Class messages Data Interfaces 9-260. Primary vtable for messages_byname 9-261. typeinfo for messages_byname 9-262. libstdcxx - Class messages_byname Function Interfaces 9-263. libstdcxx - Class messages_byname Data Interfaces 9-264. Primary vtable for messages_byname 9-265. typeinfo for messages_byname 9-266. libstdcxx - Class messages_byname Function Interfaces 9-267. libstdcxx - Class messages_byname Data Interfaces 9-268. Primary vtable for numpunct 9-269. typeinfo for numpunct 9-270. libstdcxx - Class numpunct Function Interfaces 9-271. libstdcxx - Class numpunct Data Interfaces 9-272. Primary vtable for numpunct 9-273. typeinfo for numpunct 9-274. libstdcxx - Class numpunct Function Interfaces 9-275. libstdcxx - Class numpunct Data Interfaces 9-276. Primary vtable for numpunct_byname 9-277. typeinfo for numpunct_byname 9-278. libstdcxx - Class numpunct_byname Function Interfaces 9-279. libstdcxx - Class numpunct_byname Data Interfaces 9-280. Primary vtable for numpunct_byname 9-281. typeinfo for numpunct_byname 9-282. libstdcxx - Class numpunct_byname Function Interfaces 9-283. libstdcxx - Class numpunct_byname Data Interfaces 9-284. Primary vtable for __codecvt_abstract_base 9-285. libstdcxx - Class __codecvt_abstract_base Data Interfaces 9-286. typeinfo for codecvt_base 9-287. libstdcxx - Class codecvt_base Data Interfaces 9-288. Primary vtable for codecvt 9-289. typeinfo for codecvt 9-290. Primary vtable for __codecvt_abstract_base 9-291. libstdcxx - Class codecvt Function Interfaces 9-292. libstdcxx - Class codecvt Data Interfaces 9-293. Primary vtable for codecvt 9-294. typeinfo for codecvt 9-295. libstdcxx - Class codecvt Function Interfaces 9-296. libstdcxx - Class codecvt Data Interfaces 9-297. Primary vtable for codecvt_byname 9-298. typeinfo for codecvt_byname 9-299. libstdcxx - Class codecvt_byname Function Interfaces 9-300. libstdcxx - Class codecvt_byname Data Interfaces 9-301. Primary vtable for codecvt_byname 9-302. typeinfo for codecvt_byname 9-303. Primary vtable for collate_byname 9-304. typeinfo for collate_byname 9-305. libstdcxx - Class codecvt_byname Function Interfaces 9-306. libstdcxx - Class codecvt_byname Data Interfaces 9-307. Primary vtable for collate 9-308. typeinfo for collate 9-309. libstdcxx - Class collate Function Interfaces 9-310. libstdcxx - Class collate Data Interfaces 9-311. Primary vtable for collate 9-312. typeinfo for collate 9-313. libstdcxx - Class collate Function Interfaces 9-314. libstdcxx - Class collate Data Interfaces 9-315. Primary vtable for collate_byname 9-316. typeinfo for collate_byname 9-317. libstdcxx - Class collate_byname Function Interfaces 9-318. libstdcxx - Class collate_byname Data Interfaces 9-319. typeinfo for time_base 9-320. libstdcxx - Class time_base Data Interfaces 9-321. Primary vtable for time_get_byname > > 9-322. typeinfo for time_get_byname > > 9-323. libstdcxx - Class time_get_byname > > Function Interfaces 9-324. libstdcxx - Class time_get_byname > > Data Interfaces 9-325. Primary vtable for time_get_byname > > 9-326. typeinfo for time_get_byname > > 9-327. libstdcxx - Class time_get_byname > > Function Interfaces 9-328. libstdcxx - Class time_get_byname > > Data Interfaces 9-329. Primary vtable for time_put_byname > > 9-330. typeinfo for time_put_byname > > 9-331. libstdcxx - Class time_put_byname > > Function Interfaces 9-332. libstdcxx - Class time_put_byname > > Data Interfaces 9-333. Primary vtable for time_put_byname > > 9-334. typeinfo for time_put_byname > > 9-335. libstdcxx - Class time_put_byname > > Function Interfaces 9-336. libstdcxx - Class time_put_byname > > Data Interfaces 9-337. Primary vtable for time_get > > 9-338. libstdcxx - Class time_get > > Function Interfaces 9-339. libstdcxx - Class time_get > > Data Interfaces 9-340. Primary vtable for time_get > > 9-341. libstdcxx - Class time_get > > Function Interfaces 9-342. libstdcxx - Class time_get > > Data Interfaces 9-343. libstdcxx - Class time_put > > Function Interfaces 9-344. libstdcxx - Class time_put > > Data Interfaces 9-345. libstdcxx - Class time_put > > Function Interfaces 9-346. libstdcxx - Class time_put > > Data Interfaces 9-347. Primary vtable for moneypunct 9-348. libstdcxx - Class moneypunct Function Interfaces 9-349. libstdcxx - Class moneypunct Data Interfaces 9-350. Primary vtable for moneypunct 9-351. libstdcxx - Class moneypunct Function Interfaces 9-352. libstdcxx - Class moneypunct Data Interfaces 9-353. Primary vtable for moneypunct 9-354. libstdcxx - Class moneypunct Function Interfaces 9-355. libstdcxx - Class moneypunct Data Interfaces 9-356. Primary vtable for moneypunct 9-357. libstdcxx - Class moneypunct Function Interfaces 9-358. libstdcxx - Class moneypunct Data Interfaces 9-359. Primary vtable for moneypunct_byname 9-360. typeinfo for moneypunct_byname 9-361. libstdcxx - Class moneypunct_byname Function Interfaces 9-362. libstdcxx - Class moneypunct_byname Data Interfaces 9-363. Primary vtable for moneypunct_byname 9-364. typeinfo for moneypunct_byname 9-365. libstdcxx - Class moneypunct_byname Function Interfaces 9-366. libstdcxx - Class moneypunct_byname Data Interfaces 9-367. Primary vtable for moneypunct_byname 9-368. typeinfo for moneypunct_byname 9-369. libstdcxx - Class moneypunct_byname Function Interfaces 9-370. libstdcxx - Class moneypunct_byname Data Interfaces 9-371. Primary vtable for moneypunct_byname 9-372. typeinfo for moneypunct_byname 9-373. libstdcxx - Class moneypunct_byname Function Interfaces 9-374. libstdcxx - Class moneypunct_byname Data Interfaces 9-375. typeinfo for money_base 9-376. libstdcxx - Class money_base Function Interfaces 9-377. libstdcxx - Class money_base Data Interfaces 9-378. Primary vtable for money_get > > 9-379. typeinfo for money_get > > 9-380. libstdcxx - Class money_get > > Function Interfaces 9-381. libstdcxx - Class money_get > > Data Interfaces 9-382. Primary vtable for money_get > > 9-383. typeinfo for money_get > > 9-384. libstdcxx - Class money_get > > Function Interfaces 9-385. libstdcxx - Class money_get > > Data Interfaces 9-386. Primary vtable for money_put > > 9-387. typeinfo for money_put > > 9-388. libstdcxx - Class money_put > > Function Interfaces 9-389. libstdcxx - Class money_put > > Data Interfaces 9-390. Primary vtable for money_put > > 9-391. typeinfo for money_put > > 9-392. libstdcxx - Class money_put > > Function Interfaces 9-393. libstdcxx - Class money_put > > Data Interfaces 9-394. libstdcxx - Class locale Function Interfaces 9-395. libstdcxx - Class locale Data Interfaces 9-396. Primary vtable for locale::facet 9-397. typeinfo for locale::facet 9-398. libstdcxx - Class locale::facet Function Interfaces 9-399. libstdcxx - Class locale::facet Data Interfaces 9-400. libstdcxx - facet functions Function Interfaces 9-401. 9-402. libstdcxx - Class __num_base Function Interfaces 9-403. libstdcxx - Class __num_base Data Interfaces 9-404. libstdcxx - Class num_get > > Function Interfaces 9-405. libstdcxx - Class num_get > > Data Interfaces 9-406. libstdcxx - Class num_get > > Function Interfaces 9-407. libstdcxx - Class num_get > > Data Interfaces 9-408. libstdcxx - Class num_put > > Function Interfaces 9-409. libstdcxx - Class num_put > > Data Interfaces 9-410. libstdcxx - Class num_put > > Function Interfaces 9-411. libstdcxx - Class num_put > > Data Interfaces 9-412. libstdcxx - Class __basic_file Function Interfaces 9-413. libstdcxx - Class _List_node_base Function Interfaces 9-414. libstdcxx - Class allocator Function Interfaces 9-415. libstdcxx - Class allocator Function Interfaces __________________________________________________________ Foreword This is version 3.2 of the Linux Standard Base C++ Specification. This specification is part of a family of specifications under the general title "Linux Standard Base". Developers of applications or implementations interested in using the LSB trademark should see the Linux Foundation Certification Policy for details. __________________________________________________________ Introduction The LSB defines a binary interface for application programs that are compiled and packaged for LSB-conforming implementations on many different hardware architectures. Since a binary specification shall include information specific to the computer processor architecture for which it is intended, it is not possible for a single document to specify the interface for all possible LSB-conforming implementations. Therefore, the LSB is a family of specifications, rather than a single one. This document should be used in conjunction with the documents it references. This document enumerates the system components it includes, but descriptions of those components may be included entirely or partly in this document, partly in other documents, or entirely in other reference documents. For example, the section that describes system service routines includes a list of the system routines supported in this interface, formal declarations of the data structures they use that are visible to applications, and a pointer to the underlying referenced specification for information about the syntax and semantics of each call. Only those routines not described in standards referenced by this document, or extensions to those standards, are described in the detail. Information referenced in this way is as much a part of this document as is the information explicitly included here. The specification carries a version number of either the form x.y or x.y.z. This version number carries the following meaning: * The first number (x) is the major version number. All versions with the same major version number should share binary compatibility. Any addition or deletion of a new library results in a new version number. Interfaces marked as deprecated may be removed from the specification at a major version change. * The second number (y) is the minor version number. Individual interfaces may be added if all certified implementations already had that (previously undocumented) interface. Interfaces may be marked as deprecated at a minor version change. Other minor changes may be permitted at the discretion of the LSB workgroup. * The third number (z), if present, is the editorial level. Only editorial changes should be included in such versions. Since this specification is a descriptive Application Binary Interface, and not a source level API specification, it is not possible to make a guarantee of 100% backward compatibility between major releases. However, it is the intent that those parts of the binary interface that are visible in the source level API will remain backward compatible from version to version, except where a feature marked as "Deprecated" in one release may be removed from a future release. Implementors are strongly encouraged to make use of symbol versioning to permit simultaneous support of applications conforming to different releases of this specification. I. Introductory Elements Table of Contents 1. Scope 1.1. General 1.2. Module Specific Scope 2. Normative References 3. Requirements 3.1. Relevant Libraries 3.2. LSB Implementation Conformance 3.3. LSB Application Conformance 4. Definitions 5. Terminology 6. Documentation Conventions __________________________________________________________ Chapter 1. Scope 1.1. General The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB. These specifications are composed of two basic parts: A common specification ("LSB-generic" or "generic LSB"), ISO/IEC 23360 Part 1, describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part ("LSB-arch" or "archLSB") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the relevant architecture-specific part of ISO/IEC 23360 for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture. ISO/IEC 23360 Part 1, the LSB-generic document, should be used in conjunction with an architecture-specific part. Whenever a section of the LSB-generic specification is supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture part. Architecture-specific parts of ISO/IEC 23360 may also contain additional information that is not referenced in the LSB-generic document. The LSB contains both a set of Application Program Interfaces (APIs) and Application Binary Interfaces (ABIs). APIs may appear in the source code of portable applications, while the compiled binary of that application may use the larger set of ABIs. A conforming implementation provides all of the ABIs listed here. The compilation system may replace (e.g. by macro definition) certain APIs with calls to one or more of the underlying binary interfaces, and may insert calls to binary interfaces as needed. The LSB is primarily a binary interface definition. Not all of the source level APIs available to applications may be contained in this specification. __________________________________________________________ 1.2. Module Specific Scope This is the C++ module of the Linux Standards Base (LSB). This module supplements the core interfaces by providing system interfaces, libraries, and a runtime environment for applications built using the C++ programming language. These interfaces provide low-level support for the core constructs of the language, and implement the standard base C++ libraries. Interfaces described in this module are presented in terms of C++; the binary interfaces will use encoded or mangled versions of the names. __________________________________________________________ Chapter 2. Normative References The specifications listed below are referenced in whole or in part by this module of the Linux Standard Base. In this specification, where only a particular section of one of these references is identified, then the normative reference is to that section alone, and the rest of the referenced document is informative. Table 2-1. Normative References Name Title URL ISO/IEC 23360 Part 1 ISO/IEC 23360:2005 Linux Standard Base - Part 1 Generic Specification http://www.linuxbase.org/spec/ ISO C (1999) ISO/IEC 9899: 1999, Programming Languages --C ISO POSIX (2003) ISO/IEC 9945-1:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 1: Base Definitions ISO/IEC 9945-2:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 2: System Interfaces ISO/IEC 9945-3:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 3: Shell and Utilities ISO/IEC 9945-4:2003 Information technology -- Portable Operating System Interface (POSIX) -- Part 4: Rationale Including Technical Cor. 1: 2004 http://www.unix.org/version3/ ISO/IEC 14882: 2003 C++ Language ISO/IEC 14882: 2003 Programming languages --C++ Itanium(TM) C++ ABI Itanium(TM) C++ ABI (Revision 1.83) http://refspecs.linux-foundation.org/cxxabi-1.83.html __________________________________________________________ Chapter 3. Requirements 3.1. Relevant Libraries The libraries listed in Table 3-1 shall be available on a Linux Standard Base system, with the specified runtime names. Table 3-1. Standard Library Names Library Runtime Name libstdcxx libstdc++.so.6 These libraries will be in an implementation-defined directory which the dynamic linker shall search by default. __________________________________________________________ 3.2. LSB Implementation Conformance An implementation shall satisfy the following requirements: * The implementation shall implement fully the architecture described in the hardware manual for the target processor architecture. * The implementation shall be capable of executing compiled applications having the format and using the system interfaces described in this document. * The implementation shall provide libraries containing the interfaces specified by this document, and shall provide a dynamic linking mechanism that allows these interfaces to be attached to applications at runtime. All the interfaces shall behave as specified in this document. * The map of virtual memory provided by the implementation shall conform to the requirements of this document. * The implementation's low-level behavior with respect to function call linkage, system traps, signals, and other such activities shall conform to the formats described in this document. * The implementation shall provide all of the mandatory interfaces in their entirety. * The implementation may provide one or more of the optional interfaces. Each optional interface that is provided shall be provided in its entirety. The product documentation shall state which optional interfaces are provided. * The implementation shall provide all files and utilities specified as part of this document in the format defined here and in other referenced documents. All commands and utilities shall behave as required by this document. The implementation shall also provide all mandatory components of an application's runtime environment that are included or referenced in this document. * The implementation, when provided with standard data formats and values at a named interface, shall provide the behavior defined for those values and data formats at that interface. However, a conforming implementation may consist of components which are separately packaged and/or sold. For example, a vendor of a conforming implementation might sell the hardware, operating system, and windowing system as separately packaged items. * The implementation may provide additional interfaces with different names. It may also provide additional behavior corresponding to data values outside the standard ranges, for standard named interfaces. __________________________________________________________ 3.3. LSB Application Conformance An application shall satisfy the following requirements: * Its executable files are either shell scripts or object files in the format defined for the Object File Format system interface. * Its object files participate in dynamic linking as defined in the Program Loading and Linking System interface. * It employs only the instructions, traps, and other low-level facilities defined in the Low-Level System interface as being for use by applications. * If it requires any optional interface defined in this document in order to be installed or to execute successfully, the requirement for that optional interface is stated in the application's documentation. * It does not use any interface or data format that is not required to be provided by a conforming implementation, unless: + If such an interface or data format is supplied by another application through direct invocation of that application during execution, that application is in turn an LSB conforming application. + The use of that interface or data format, as well as its source, is identified in the documentation of the application. * It shall not use any values for a named interface that are reserved for vendor extensions. A strictly conforming application does not require or use any interface, facility, or implementation-defined extension that is not defined in this document in order to be installed or to execute successfully. __________________________________________________________ Chapter 4. Definitions For the purposes of this document, the following definitions, as specified in the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply: can be able to; there is a possibility of; it is possible to cannot be unable to; there is no possibilty of; it is not possible to may is permitted; is allowed; is permissible need not it is not required that; no...is required shall is to; is required to; it is required that; has to; only...is permitted; it is necessary shall not is not allowed [permitted] [acceptable] [permissible]; is required to be not; is required that...be not; is not to be should it is recommended that; ought to should not it is not recommended that; ought not to __________________________________________________________ Chapter 5. Terminology For the purposes of this document, the following terms apply: archLSB The architectural part of the LSB Specification which describes the specific parts of the interface that are platform specific. The archLSB is complementary to the gLSB. Binary Standard The total set of interfaces that are available to be used in the compiled binary code of a conforming application. gLSB The common part of the LSB Specification that describes those parts of the interface that remain constant across all hardware implementations of the LSB. implementation-defined Describes a value or behavior that is not defined by this document but is selected by an implementor. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence of the value or behavior. An application that relies on such a value or behavior cannot be assured to be portable across conforming implementations. The implementor shall document such a value or behavior so that it can be used correctly by an application. Shell Script A file that is read by an interpreter (e.g., awk). The first line of the shell script includes a reference to its interpreter binary. Source Standard The set of interfaces that are available to be used in the source code of a conforming application. undefined Describes the nature of a value or behavior not defined by this document which results from use of an invalid program construct or invalid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations. unspecified Describes the nature of a value or behavior not specified by this document which results from use of a valid program construct or valid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations. Other terms and definitions used in this document shall have the same meaning as defined in Chapter 3 of the Base Definitions volume of ISO POSIX (2003). __________________________________________________________ Chapter 6. Documentation Conventions Throughout this document, the following typographic conventions are used: function() the name of a function command the name of a command or utility CONSTANT a constant value parameter a parameter variable a variable Throughout this specification, several tables of interfaces are presented. Each entry in these tables has the following format: name the name of the interface (symver) An optional symbol version identifier, if required. [refno] A reference number indexing the table of referenced specifications that follows this table. For example, forkpty(GLIBC_2.0) [SUSv3] refers to the interface named forkpty() with symbol version GLIBC_2.0 that is defined in the SUSv3 reference. Note: Symbol versions are defined in the architecture specific parts of ISO/IEC 23360 only. II. Low Level System Information Table of Contents 7. C++ Class Representations 7.1. C++ Data Representation 7.1.1. Class Representation 8. Symbol Mapping 8.1. Symbol Mapping 8.1.1. C++ Language __________________________________________________________ Chapter 7. C++ Class Representations 7.1. C++ Data Representation Support for the C++ language shall be as specified in Itanium(TM) C++ ABI. Note: This document, although containing a few architecture specific matters, is written as a generic specification, to be usable by C++ implementations on a variety of architectures. This section provides additional information to supplement Itanium(TM) C++ ABI. Many of the definitions in that document are made in terms of C++. This section provides addition explanations using C terms to avoid self-referential problems. __________________________________________________________ 7.1.1. Class Representation An object file generated by the compilation process for a C++ program shall contain several closely related internal objects, or Class Components, to represent each C++ Class. Such objects are not a visible part of the source code. Table 7-1 describes these Class Components at a high level. Table 7-1. Class Components Object Contains Class Data All non-static Class members Virtual Table Information needed to dispatch virtual functions, access virtual base class subobjects and to access the RTTI information RTTI Run-Time Type Information used by the typeid and dynamic_cast operators, and exception handlers Typeinfo Name String representation of Class name Construction Virtual Table Information needed during construction and destruction of Classes with non-trivial inheritance relationships. VTT A table of virtual table pointers which holds the addresses of construction and non-construction virtual tables. __________________________________________________________ 7.1.1.1. Virtual Table Virtual tables are specified in Section 2.5.3 of Itanium(TM) C++ ABI. Of the various categories of virtual table described in that specification, Category 1 (Leaf) is further described in Figure 7-1 and Category 2 (Non-virtual bases only) is further described in Figure 7-2. LSB conforming systems shall support these categories. struct { ptrdiff_t baseobject; const char *typeinfo; fptr virtfuncs[0]; }; Figure 7-1. Category 1 Virtual Table struct { unsigned long vcalloffset; ptrdiff_t baseobject; const char *typeinfo; fptr virtfuncs[0]; }; Figure 7-2. Category 2 Virtual Table __________________________________________________________ 7.1.1.2. Run-Time Type Information Each type used in a C++ program has a data structure associated with it that provide information about the type which is used at runtime. This Run Time Type Information (RTTI) is defined in section 2.9.5 in Itanium(TM) C++ ABI. Additional details about the layout of this data is provided here. struct { void *basevtable; char *name; }; Figure 7-3. Run-Time Type Information Prefix struct { void *basevtable; char *name; void *basetypeinfo[0]; }; Figure 7-4. Run-Time Type Information For Classes with no base class struct { void *basevtable; char *name; void *basetype; void *basetypeinfo[0]; }; Figure 7-5. Run-Time Type Information for Classes with a single base class struct base_type_info { char *base_type; unsigned long offset_flags; }; struct { void *basevtable; char *name; unsigned int flags; unsigned int base_count; struct base_type_info base_info[0]; }; Figure 7-6. Run-Time Type Information for classes with multiple inheritance struct { void *basevtable; char *name; unsigned int flags; void *pointee; void *basetypeinfo[0]; }; Figure 7-7. Run-Time Type Information for pointer types struct { void *basevtable; char *name; unsigned int flags; void *pointee; void *context; void *basetypeinfo[0]; }; Figure 7-8. Run-Time Type Information for pointer to member types __________________________________________________________ Chapter 8. Symbol Mapping This chapter defines how names are mapped from the source symbol to the object symbol. __________________________________________________________ 8.1. Symbol Mapping Symbols in a source program are translated by the compilation system into symbols that exist in the object file. The rules for this translation are defined here. __________________________________________________________ 8.1.1. C++ Language External symbol names in a C++ object file shall be encoded according to the "name mangling" rules described in the Itanium(TM) C++ ABI. III. Base Libraries Table of Contents 9. Libraries 9.1. Interfaces for libstdcxx 9.1.1. C++ Runtime Support 9.1.2. C++ type descriptors for built-in types 9.1.3. C++ _Rb_tree 9.1.4. Class type_info 9.1.5. Class __cxxabiv1::__enum_type_info 9.1.6. Class __cxxabiv1::__array_type_info 9.1.7. Class __cxxabiv1::__class_type_info 9.1.8. Class __cxxabiv1::__pbase_type_info 9.1.9. Class __cxxabiv1::__pointer_type_info 9.1.10. Class __cxxabiv1::__function_type_info 9.1.11. Class __cxxabiv1::__si_class_type_info 9.1.12. Class __cxxabiv1::__vmi_class_type_info 9.1.13. Class __cxxabiv1::__fundamental_type_info 9.1.14. Class __cxxabiv1::__pointer_to_member_type_info 9.1.15. Class __gnu_cxx::stdio_filebuf > 9.1.16. Class __gnu_cxx::stdio_filebuf > 9.1.17. Class __gnu_cxx::__pool_alloc_base 9.1.18. Class __gnu_cxx::stdio_sync_filebuf > 9.1.19. Class __gnu_cxx::stdio_sync_filebuf > 9.1.20. Class exception 9.1.21. Class bad_typeid 9.1.22. Class logic_error 9.1.23. Class range_error 9.1.24. Class domain_error 9.1.25. Class length_error 9.1.26. Class out_of_range 9.1.27. Class bad_exception 9.1.28. Class runtime_error 9.1.29. Class overflow_error 9.1.30. Class underflow_error 9.1.31. Class invalid_argument 9.1.32. Class bad_cast 9.1.33. Class bad_alloc 9.1.34. struct __numeric_limits_base 9.1.35. struct numeric_limits 9.1.36. struct numeric_limits 9.1.37. struct numeric_limits 9.1.38. struct numeric_limits 9.1.39. struct numeric_limits 9.1.40. struct numeric_limits 9.1.41. struct numeric_limits 9.1.42. struct numeric_limits 9.1.43. struct numeric_limits 9.1.44. struct numeric_limits 9.1.45. struct numeric_limits 9.1.46. struct numeric_limits 9.1.47. struct numeric_limits 9.1.48. struct numeric_limits 9.1.49. struct numeric_limits 9.1.50. struct numeric_limits 9.1.51. Class ctype_base 9.1.52. Class __ctype_abstract_base 9.1.53. Class __ctype_abstract_base 9.1.54. Class ctype 9.1.55. Class ctype 9.1.56. Class ctype_byname 9.1.57. Class ctype_byname 9.1.58. Class basic_string, allocator > 9.1.59. Class basic_string, allocator > 9.1.60. Class basic_stringstream, allocator > 9.1.61. Class basic_stringstream, allocator > 9.1.62. Class basic_istringstream, allocator > 9.1.63. Class basic_istringstream, allocator > 9.1.64. Class basic_ostringstream, allocator > 9.1.65. Class basic_ostringstream, allocator > 9.1.66. Class basic_stringbuf, allocator > 9.1.67. Class basic_stringbuf, allocator > 9.1.68. Class basic_iostream > 9.1.69. Class basic_iostream > 9.1.70. Class basic_istream > 9.1.71. Class basic_istream > 9.1.72. Class istreambuf_iterator > 9.1.73. Class istreambuf_iterator > 9.1.74. Class basic_ostream > 9.1.75. Class basic_ostream > 9.1.76. Class basic_fstream > 9.1.77. Class basic_fstream > 9.1.78. Class basic_ifstream > 9.1.79. Class basic_ifstream > 9.1.80. Class basic_ofstream > 9.1.81. Class basic_ofstream > 9.1.82. Class basic_streambuf > 9.1.83. Class basic_streambuf > 9.1.84. Class basic_filebuf > 9.1.85. Class basic_filebuf > 9.1.86. Class ios_base 9.1.87. Class basic_ios > 9.1.88. Class basic_ios > 9.1.89. Class ios_base::failure 9.1.90. Class __timepunct 9.1.91. Class __timepunct 9.1.92. Class messages_base 9.1.93. Class messages 9.1.94. Class messages 9.1.95. Class messages_byname 9.1.96. Class messages_byname 9.1.97. Class numpunct 9.1.98. Class numpunct 9.1.99. Class numpunct_byname 9.1.100. Class numpunct_byname 9.1.101. Class __codecvt_abstract_base 9.1.102. Class __codecvt_abstract_base 9.1.103. Class codecvt_base 9.1.104. Class codecvt 9.1.105. Class codecvt 9.1.106. Class codecvt_byname 9.1.107. Class codecvt_byname 9.1.108. Class collate 9.1.109. Class collate 9.1.110. Class collate_byname 9.1.111. Class collate_byname 9.1.112. Class time_base 9.1.113. Class time_get_byname > > 9.1.114. Class time_get_byname > > 9.1.115. Class time_put_byname > > 9.1.116. Class time_put_byname > > 9.1.117. Class time_get > > 9.1.118. Class time_get > > 9.1.119. Class time_put > > 9.1.120. Class time_put > > 9.1.121. Class moneypunct 9.1.122. Class moneypunct 9.1.123. Class moneypunct 9.1.124. Class moneypunct 9.1.125. Class moneypunct_byname 9.1.126. Class moneypunct_byname 9.1.127. Class moneypunct_byname 9.1.128. Class moneypunct_byname 9.1.129. Class money_base 9.1.130. Class money_get > > 9.1.131. Class money_get > > 9.1.132. Class money_put > > 9.1.133. Class money_put > > 9.1.134. Class locale 9.1.135. Class locale::facet 9.1.136. facet functions 9.1.137. Class __num_base 9.1.138. Class num_get > > 9.1.139. Class num_get > > 9.1.140. Class num_put > > 9.1.141. Class num_put > > 9.1.142. Class gslice 9.1.143. Class __basic_file 9.1.144. Class _List_node_base 9.1.145. Class valarray 9.1.146. Class allocator 9.1.147. Class allocator 9.2. Interface Definitions for libstdcxx __________________________________________________________ Chapter 9. Libraries An LSB-conforming implementation shall support some base libraries which provide interfaces for accessing the operating system, processor and other hardware in the system. __________________________________________________________ 9.1. Interfaces for libstdcxx Table 9-1 defines the library name and shared object name for the libstdcxx library Table 9-1. libstdcxx Definition Library: libstdcxx SONAME: libstdc++.so.6 Unless stated otherwise, all symbols are in the std:: namespace. The behavior of the interfaces in this library is specified by the following specifications: [CXXABI] Itanium(TM) C++ ABI [ISOCXX] ISO/IEC 14882: 2003 C++ Language [LSB] ISO/IEC 23360 Part 1 __________________________________________________________ 9.1.1. C++ Runtime Support __________________________________________________________ 9.1.1.1. Interfaces for C++ Runtime Support An LSB conforming implementation shall provide the generic methods for C++ Runtime Support specified in Table 9-2, with the full mandatory functionality as described in the referenced underlying specification. Table 9-2. libstdcxx - C++ Runtime Support Function Interfaces __gnu_cxx::__atomic_add(int volatile*, int)(GLIBCXX_3.4) [CXXABI] __gnu_cxx::__exchange_and_add(int volatile*, int)(GLIBCXX_3.4) [CXXABI] __gnu_cxx::__verbose_terminate_handler()(CXXABI_1.3) [CXXABI] unexpected()(GLIBCXX_3.4) [ISOCXX] set_terminate(void (*)())(GLIBCXX_3.4) [ISOCXX] set_unexpected(void (*)())(GLIBCXX_3.4) [ISOCXX] set_new_handler(void (*)())(GLIBCXX_3.4) [ISOCXX] __throw_bad_cast()(GLIBCXX_3.4) [ISOCXX] __throw_bad_alloc()(GLIBCXX_3.4) [ISOCXX] __throw_bad_typeid()(GLIBCXX_3.4) [ISOCXX] uncaught_exception()(GLIBCXX_3.4) [ISOCXX] __throw_ios_failure(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_logic_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_range_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_domain_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_length_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_out_of_range(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_bad_exception()(GLIBCXX_3.4) [ISOCXX] __throw_runtime_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_overflow_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_underflow_error(char const*)(GLIBCXX_3.4) [ISOCXX] __throw_invalid_argument(char const*)(GLIBCXX_3.4) [ISOCXX] terminate()(GLIBCXX_3.4) [ISOCXX] operator delete[](void*)(GLIBCXX_3.4) [ISOCXX] operator delete[](void*, nothrow_t const&)(GLIBCXX_3.4) [ISOCXX] operator delete(void*)(GLIBCXX_3.4) [ISOCXX] operator delete(void*, nothrow_t const&)(GLIBCXX_3.4) [ISOCXX] __cxa_allocate_exception(CXXABI_1.3) [CXXABI] __cxa_bad_cast(CXXABI_1.3) [CXXABI] __cxa_bad_typeid(CXXABI_1.3) [CXXABI] __cxa_begin_catch(CXXABI_1.3) [CXXABI] __cxa_call_unexpected(CXXABI_1.3) [CXXABI] __cxa_current_exception_type(CXXABI_1.3) [CXXABI] __cxa_demangle(CXXABI_1.3) [CXXABI] __cxa_end_catch(CXXABI_1.3) [CXXABI] __cxa_free_exception(CXXABI_1.3) [CXXABI] __cxa_get_globals(CXXABI_1.3) [CXXABI] __cxa_get_globals_fast(CXXABI_1.3) [CXXABI] __cxa_guard_abort(CXXABI_1.3) [CXXABI] __cxa_guard_acquire(CXXABI_1.3) [CXXABI] __cxa_guard_release(CXXABI_1.3) [CXXABI] __cxa_pure_virtual(CXXABI_1.3) [CXXABI] __cxa_rethrow(CXXABI_1.3) [CXXABI] __cxa_throw(CXXABI_1.3) [CXXABI] __cxa_vec_cctor(CXXABI_1.3) [CXXABI] __cxa_vec_cleanup(CXXABI_1.3) [CXXABI] __cxa_vec_ctor(CXXABI_1.3) [CXXABI] __cxa_vec_delete(CXXABI_1.3) [CXXABI] __cxa_vec_delete2(CXXABI_1.3) [CXXABI] __cxa_vec_delete3(CXXABI_1.3) [CXXABI] __cxa_vec_dtor(CXXABI_1.3) [CXXABI] __cxa_vec_new(CXXABI_1.3) [CXXABI] __cxa_vec_new2(CXXABI_1.3) [CXXABI] __cxa_vec_new3(CXXABI_1.3) [CXXABI] __dynamic_cast(CXXABI_1.3) [CXXABI] __gxx_personality_v0(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for C++ Runtime Support specified in Table 9-3, with the full mandatory functionality as described in the referenced underlying specification. Table 9-3. libstdcxx - C++ Runtime Support Data Interfaces cin(GLIBCXX_3.4) [ISOCXX] cerr(GLIBCXX_3.4) [ISOCXX] clog(GLIBCXX_3.4) [ISOCXX] cout(GLIBCXX_3.4) [ISOCXX] wcin(GLIBCXX_3.4) [ISOCXX] wcerr(GLIBCXX_3.4) [ISOCXX] wclog(GLIBCXX_3.4) [ISOCXX] wcout(GLIBCXX_3.4) [ISOCXX] nothrow(GLIBCXX_3.4) [ISOCXX] __________________________________________________________ 9.1.2. C++ type descriptors for built-in types __________________________________________________________ 9.1.2.1. Interfaces for C++ type descriptors for built-in types No external methods are defined for libstdcxx - C++ type descriptors for built-in types in this part of the specification. See also the relevant architecture specific part of this specification. An LSB conforming implementation shall provide the generic data interfaces for C++ type descriptors for built-in types specified in Table 9-4, with the full mandatory functionality as described in the referenced underlying specification. Table 9-4. libstdcxx - C++ type descriptors for built-in types Data Interfaces typeinfo for signed char const*(CXXABI_1.3) [CXXABI] typeinfo for bool const*(CXXABI_1.3) [CXXABI] typeinfo for char const*(CXXABI_1.3) [CXXABI] typeinfo for double const*(CXXABI_1.3) [CXXABI] typeinfo for long double const*(CXXABI_1.3) [CXXABI] typeinfo for float const*(CXXABI_1.3) [CXXABI] typeinfo for unsigned char const*(CXXABI_1.3) [CXXABI] typeinfo for int const*(CXXABI_1.3) [CXXABI] typeinfo for unsigned int const*(CXXABI_1.3) [CXXABI] typeinfo for long const*(CXXABI_1.3) [CXXABI] typeinfo for unsigned long const*(CXXABI_1.3) [CXXABI] typeinfo for short const*(CXXABI_1.3) [CXXABI] typeinfo for unsigned short const*(CXXABI_1.3) [CXXABI] typeinfo for void const*(CXXABI_1.3) [CXXABI] typeinfo for wchar_t const*(CXXABI_1.3) [CXXABI] typeinfo for long long const*(CXXABI_1.3) [CXXABI] typeinfo for unsigned long long const*(CXXABI_1.3) [CXXABI] typeinfo for signed char*(CXXABI_1.3) [CXXABI] typeinfo for bool*(CXXABI_1.3) [CXXABI] typeinfo for char*(CXXABI_1.3) [CXXABI] typeinfo for double*(CXXABI_1.3) [CXXABI] typeinfo for long double*(CXXABI_1.3) [CXXABI] typeinfo for float*(CXXABI_1.3) [CXXABI] typeinfo for unsigned char*(CXXABI_1.3) [CXXABI] typeinfo for int*(CXXABI_1.3) [CXXABI] typeinfo for unsigned int*(CXXABI_1.3) [CXXABI] typeinfo for long*(CXXABI_1.3) [CXXABI] typeinfo for unsigned long*(CXXABI_1.3) [CXXABI] typeinfo for short*(CXXABI_1.3) [CXXABI] typeinfo for unsigned short*(CXXABI_1.3) [CXXABI] typeinfo for void*(CXXABI_1.3) [CXXABI] typeinfo for wchar_t*(CXXABI_1.3) [CXXABI] typeinfo for long long*(CXXABI_1.3) [CXXABI] typeinfo for unsigned long long*(CXXABI_1.3) [CXXABI] typeinfo for signed char(CXXABI_1.3) [CXXABI] typeinfo for bool(CXXABI_1.3) [CXXABI] typeinfo for char(CXXABI_1.3) [CXXABI] typeinfo for double(CXXABI_1.3) [CXXABI] typeinfo for long double(CXXABI_1.3) [CXXABI] typeinfo for float(CXXABI_1.3) [CXXABI] typeinfo for unsigned char(CXXABI_1.3) [CXXABI] typeinfo for int(CXXABI_1.3) [CXXABI] typeinfo for unsigned int(CXXABI_1.3) [CXXABI] typeinfo for long(CXXABI_1.3) [CXXABI] typeinfo for unsigned long(CXXABI_1.3) [CXXABI] typeinfo for short(CXXABI_1.3) [CXXABI] typeinfo for unsigned short(CXXABI_1.3) [CXXABI] typeinfo for void(CXXABI_1.3) [CXXABI] typeinfo for wchar_t(CXXABI_1.3) [CXXABI] typeinfo for long long(CXXABI_1.3) [CXXABI] typeinfo for unsigned long long(CXXABI_1.3) [CXXABI] typeinfo name for signed char const*(CXXABI_1.3) [CXXABI] typeinfo name for bool const*(CXXABI_1.3) [CXXABI] typeinfo name for char const*(CXXABI_1.3) [CXXABI] typeinfo name for double const*(CXXABI_1.3) [CXXABI] typeinfo name for long double const*(CXXABI_1.3) [CXXABI] typeinfo name for float const*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned char const*(CXXABI_1.3) [CXXABI] typeinfo name for int const*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned int const*(CXXABI_1.3) [CXXABI] typeinfo name for long const*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long const*(CXXABI_1.3) [CXXABI] typeinfo name for short const*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned short const*(CXXABI_1.3) [CXXABI] typeinfo name for void const*(CXXABI_1.3) [CXXABI] typeinfo name for wchar_t const*(CXXABI_1.3) [CXXABI] typeinfo name for long long const*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long long const*(CXXABI_1.3) [CXXABI] typeinfo name for signed char*(CXXABI_1.3) [CXXABI] typeinfo name for bool*(CXXABI_1.3) [CXXABI] typeinfo name for char*(CXXABI_1.3) [CXXABI] typeinfo name for double*(CXXABI_1.3) [CXXABI] typeinfo name for long double*(CXXABI_1.3) [CXXABI] typeinfo name for float*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned char*(CXXABI_1.3) [CXXABI] typeinfo name for int*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned int*(CXXABI_1.3) [CXXABI] typeinfo name for long*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long*(CXXABI_1.3) [CXXABI] typeinfo name for short*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned short*(CXXABI_1.3) [CXXABI] typeinfo name for void*(CXXABI_1.3) [CXXABI] typeinfo name for wchar_t*(CXXABI_1.3) [CXXABI] typeinfo name for long long*(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long long*(CXXABI_1.3) [CXXABI] typeinfo name for signed char(CXXABI_1.3) [CXXABI] typeinfo name for bool(CXXABI_1.3) [CXXABI] typeinfo name for char(CXXABI_1.3) [CXXABI] typeinfo name for double(CXXABI_1.3) [CXXABI] typeinfo name for long double(CXXABI_1.3) [CXXABI] typeinfo name for float(CXXABI_1.3) [CXXABI] typeinfo name for unsigned char(CXXABI_1.3) [CXXABI] typeinfo name for int(CXXABI_1.3) [CXXABI] typeinfo name for unsigned int(CXXABI_1.3) [CXXABI] typeinfo name for long(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long(CXXABI_1.3) [CXXABI] typeinfo name for short(CXXABI_1.3) [CXXABI] typeinfo name for unsigned short(CXXABI_1.3) [CXXABI] typeinfo name for void(CXXABI_1.3) [CXXABI] typeinfo name for wchar_t(CXXABI_1.3) [CXXABI] typeinfo name for long long(CXXABI_1.3) [CXXABI] typeinfo name for unsigned long long(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.3. C++ _Rb_tree __________________________________________________________ 9.1.3.1. Interfaces for C++ _Rb_tree An LSB conforming implementation shall provide the generic methods for C++ _Rb_tree specified in Table 9-5, with the full mandatory functionality as described in the referenced underlying specification. Table 9-5. libstdcxx - C++ _Rb_tree Function Interfaces _Rb_tree_decrement(_Rb_tree_node_base const*)(GLIBCXX_3.4) [LSB] _Rb_tree_decrement(_Rb_tree_node_base*)(GLIBCXX_3.4) [LSB] _Rb_tree_increment(_Rb_tree_node_base const*)(GLIBCXX_3.4) [LSB] _Rb_tree_increment(_Rb_tree_node_base*)(GLIBCXX_3.4) [LSB] _Rb_tree_black_count(_Rb_tree_node_base const*, _Rb_tree_node_base const*)(GLIBCXX_3.4) [LSB] _Rb_tree_rotate_left(_Rb_tree_node_base*, _Rb_tree_node_base*&)(GLIBCXX_3.4) [LSB] _Rb_tree_rotate_right(_Rb_tree_node_base*, _Rb_tree_node_base*&)(GLIBCXX_3.4) [LSB] _Rb_tree_rebalance_for_erase(_Rb_tree_node_base*, _Rb_tree_node_base&)(GLIBCXX_3.4) [LSB] _Rb_tree_insert_and_rebalance(bool, _Rb_tree_node_base*, _Rb_tree_node_base*, _Rb_tree_node_base&)(GLIBCXX_3.4) [LSB] __________________________________________________________ 9.1.4. Class type_info __________________________________________________________ 9.1.4.1. Class data for type_info The virtual table for the std::type_info class is described by Table 9-6 Table 9-6. Primary vtable for type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for type_info vfunc[0]: type_info::~type_info() vfunc[1]: type_info::~type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const The Run Time Type Information for the std::type_info class is described by Table 9-7 Table 9-7. typeinfo for type_info Base Vtable vtable for __cxxabiv1::__class_type_info Name typeinfo name for type_info __________________________________________________________ 9.1.4.2. Interfaces for Class type_info An LSB conforming implementation shall provide the generic methods for Class std::type_info specified in Table 9-8, with the full mandatory functionality as described in the referenced underlying specification. Table 9-8. libstdcxx - Class type_info Function Interfaces type_info::__do_catch(type_info const*, void**, unsigned int) const(GLIBCXX_3.4) [ISOCXX] type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const(GLIBCXX_3.4) [ISOCXX] type_info::__is_pointer_p() const(GLIBCXX_3.4) [ISOCXX] type_info::__is_function_p() const(GLIBCXX_3.4) [ISOCXX] type_info::~type_info()(GLIBCXX_3.4) [ISOCXX] type_info::~type_info()(GLIBCXX_3.4) [ISOCXX] type_info::~type_info()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::type_info specified in Table 9-9, with the full mandatory functionality as described in the referenced underlying specification. Table 9-9. libstdcxx - Class type_info Data Interfaces typeinfo for type_info(GLIBCXX_3.4) [CXXABI] typeinfo name for type_info(GLIBCXX_3.4) [CXXABI] vtable for type_info(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.5. Class __cxxabiv1::__enum_type_info __________________________________________________________ 9.1.5.1. Class data for __cxxabiv1::__enum_type_info The virtual table for the __cxxabiv1::__enum_type_info class is described by Table 9-10 Table 9-10. Primary vtable for __cxxabiv1::__enum_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__enum_type_info vfunc[0]: __cxxabiv1::__enum_type_info::~__enum_type_info() vfunc[1]: __cxxabiv1::__enum_type_info::~__enum_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const The Run Time Type Information for the __cxxabiv1::__enum_type_info class is described by Table 9-11 Table 9-11. typeinfo for __cxxabiv1::__enum_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__enum_type_info __________________________________________________________ 9.1.5.2. Interfaces for Class __cxxabiv1::__enum_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__enum_type_info specified in Table 9-12, with the full mandatory functionality as described in the referenced underlying specification. Table 9-12. libstdcxx - Class __cxxabiv1::__enum_type_info Function Interfaces __cxxabiv1::__enum_type_info::~__enum_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__enum_type_info::~__enum_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__enum_type_info::~__enum_type_info()(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__enum_type_info specified in Table 9-13, with the full mandatory functionality as described in the referenced underlying specification. Table 9-13. libstdcxx - Class __cxxabiv1::__enum_type_info Data Interfaces typeinfo for __cxxabiv1::__enum_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__enum_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__enum_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.6. Class __cxxabiv1::__array_type_info __________________________________________________________ 9.1.6.1. Class data for __cxxabiv1::__array_type_info The virtual table for the __cxxabiv1::__array_type_info class is described by Table 9-14 Table 9-14. Primary vtable for __cxxabiv1::__array_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__array_type_info vfunc[0]: __cxxabiv1::__array_type_info::~__array_type_info() vfunc[1]: __cxxabiv1::__array_type_info::~__array_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const The Run Time Type Information for the __cxxabiv1::__array_type_info class is described by Table 9-15 Table 9-15. typeinfo for __cxxabiv1::__array_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__array_type_info __________________________________________________________ 9.1.6.2. Interfaces for Class __cxxabiv1::__array_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__array_type_info specified in Table 9-16, with the full mandatory functionality as described in the referenced underlying specification. Table 9-16. libstdcxx - Class __cxxabiv1::__array_type_info Function Interfaces __cxxabiv1::__array_type_info::~__array_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__array_type_info::~__array_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__array_type_info::~__array_type_info()(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__array_type_info specified in Table 9-17, with the full mandatory functionality as described in the referenced underlying specification. Table 9-17. libstdcxx - Class __cxxabiv1::__array_type_info Data Interfaces typeinfo for __cxxabiv1::__array_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__array_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__array_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.7. Class __cxxabiv1::__class_type_info __________________________________________________________ 9.1.7.1. Class data for __cxxabiv1::__class_type_info The virtual table for the __cxxabiv1::__class_type_info class is described by Table 9-18 Table 9-18. Primary vtable for __cxxabiv1::__class_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__class_type_info vfunc[0]: __cxxabiv1::__class_type_info::~__class_type_info() vfunc[1]: __cxxabiv1::__class_type_info::~__class_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__class_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void**) const vfunc[6]: __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const The Run Time Type Information for the __cxxabiv1::__class_type_info class is described by Table 9-19 Table 9-19. typeinfo for __cxxabiv1::__class_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__class_type_info __________________________________________________________ 9.1.7.2. Interfaces for Class __cxxabiv1::__class_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__class_type_info specified in Table 9-20, with the full mandatory functionality as described in the referenced underlying specification. Table 9-20. libstdcxx - Class __cxxabiv1::__class_type_info Function Interfaces __cxxabiv1::__class_type_info::~__class_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__class_type_info::~__class_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__class_type_info::~__class_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__class_type_info::__do_catch(type_info const*, void**, unsigned int) const(CXXABI_1.3) [CXXABI] __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const(CXXABI_1.3) [CXXABI] __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void**) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__class_type_info specified in Table 9-21, with the full mandatory functionality as described in the referenced underlying specification. Table 9-21. libstdcxx - Class __cxxabiv1::__class_type_info Data Interfaces typeinfo for __cxxabiv1::__class_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__class_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__class_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.8. Class __cxxabiv1::__pbase_type_info __________________________________________________________ 9.1.8.1. Class data for __cxxabiv1::__pbase_type_info The virtual table for the __cxxabiv1::__pbase_type_info class is described by Table 9-22 Table 9-22. Primary vtable for __cxxabiv1::__pbase_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__pbase_type_info vfunc[0]: __cxxabiv1::__pbase_type_info::~__pbase_type_info() vfunc[1]: __cxxabiv1::__pbase_type_info::~__pbase_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__pbase_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const vfunc[6]: __cxxabiv1::__pbase_type_info::__pointer_catch(__cxxabiv1::__pb ase_type_info const*, void**, unsigned int) const The Run Time Type Information for the __cxxabiv1::__pbase_type_info class is described by Table 9-23 Table 9-23. typeinfo for __cxxabiv1::__pbase_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__pbase_type_info __________________________________________________________ 9.1.8.2. Interfaces for Class __cxxabiv1::__pbase_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__pbase_type_info specified in Table 9-24, with the full mandatory functionality as described in the referenced underlying specification. Table 9-24. libstdcxx - Class __cxxabiv1::__pbase_type_info Function Interfaces __cxxabiv1::__pbase_type_info::~__pbase_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pbase_type_info::~__pbase_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pbase_type_info::~__pbase_type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pbase_type_info::__do_catch(type_info const*, void**, unsigned int) const(CXXABI_1.3) [CXXABI] __cxxabiv1::__pbase_type_info::__pointer_catch(__cxxabiv1::__pb ase_type_info const*, void**, unsigned int) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__pbase_type_info specified in Table 9-25, with the full mandatory functionality as described in the referenced underlying specification. Table 9-25. libstdcxx - Class __cxxabiv1::__pbase_type_info Data Interfaces typeinfo for __cxxabiv1::__pbase_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__pbase_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__pbase_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.9. Class __cxxabiv1::__pointer_type_info __________________________________________________________ 9.1.9.1. Class data for __cxxabiv1::__pointer_type_info The virtual table for the __cxxabiv1::__pointer_type_info class is described by Table 9-26 Table 9-26. Primary vtable for __cxxabiv1::__pointer_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__pointer_type_info vfunc[0]: __cxxabiv1::__pointer_type_info::~__pointer_type_info() vfunc[1]: __cxxabiv1::__pointer_type_info::~__pointer_type_info() vfunc[2]: __cxxabiv1::__pointer_type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__pbase_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const vfunc[6]: __cxxabiv1::__pointer_type_info::__pointer_catch(__cxxabiv1::__ pbase_type_info const*, void**, unsigned int) const The Run Time Type Information for the __cxxabiv1::__pointer_type_info class is described by Table 9-27 Table 9-27. typeinfo for __cxxabiv1::__pointer_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__pointer_type_info __________________________________________________________ 9.1.9.2. Interfaces for Class __cxxabiv1::__pointer_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__pointer_type_info specified in Table 9-28, with the full mandatory functionality as described in the referenced underlying specification. Table 9-28. libstdcxx - Class __cxxabiv1::__pointer_type_info Function Interfaces __cxxabiv1::__pointer_type_info::~__pointer_type_info()(CXXABI_ 1.3) [CXXABI] __cxxabiv1::__pointer_type_info::~__pointer_type_info()(CXXABI_ 1.3) [CXXABI] __cxxabiv1::__pointer_type_info::~__pointer_type_info()(CXXABI_ 1.3) [CXXABI] __cxxabiv1::__pointer_type_info::__is_pointer_p() const(CXXABI_1.3) [CXXABI] __cxxabiv1::__pointer_type_info::__pointer_catch(__cxxabiv1::__ pbase_type_info const*, void**, unsigned int) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__pointer_type_info specified in Table 9-29, with the full mandatory functionality as described in the referenced underlying specification. Table 9-29. libstdcxx - Class __cxxabiv1::__pointer_type_info Data Interfaces typeinfo for __cxxabiv1::__pointer_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__pointer_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__pointer_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.10. Class __cxxabiv1::__function_type_info __________________________________________________________ 9.1.10.1. Class data for __cxxabiv1::__function_type_info The virtual table for the __cxxabiv1::__function_type_info class is described by Table 9-30 Table 9-30. Primary vtable for __cxxabiv1::__function_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__function_type_info vfunc[0]: __cxxabiv1::__function_type_info::~__function_type_info() vfunc[1]: __cxxabiv1::__function_type_info::~__function_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: __cxxabiv1::__function_type_info::__is_function_p() const vfunc[4]: type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const The Run Time Type Information for the __cxxabiv1::__function_type_info class is described by Table 9-31 Table 9-31. typeinfo for __cxxabiv1::__function_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__function_type_info __________________________________________________________ 9.1.10.2. Interfaces for Class __cxxabiv1::__function_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__function_type_info specified in Table 9-32, with the full mandatory functionality as described in the referenced underlying specification. Table 9-32. libstdcxx - Class __cxxabiv1::__function_type_info Function Interfaces __cxxabiv1::__function_type_info::~__function_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__function_type_info::~__function_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__function_type_info::~__function_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__function_type_info::__is_function_p() const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__function_type_info specified in Table 9-33, with the full mandatory functionality as described in the referenced underlying specification. Table 9-33. libstdcxx - Class __cxxabiv1::__function_type_info Data Interfaces typeinfo for __cxxabiv1::__function_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__function_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__function_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.11. Class __cxxabiv1::__si_class_type_info __________________________________________________________ 9.1.11.1. Class data for __cxxabiv1::__si_class_type_info The virtual table for the __cxxabiv1::__si_class_type_info class is described by Table 9-34 Table 9-34. Primary vtable for __cxxabiv1::__si_class_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__si_class_type_info vfunc[0]: __cxxabiv1::__si_class_type_info::~__si_class_type_info() vfunc[1]: __cxxabiv1::__si_class_type_info::~__si_class_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__class_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void**) const vfunc[6]: __cxxabiv1::__si_class_type_info::__do_upcast(__cxxabiv1::__cla ss_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const The Run Time Type Information for the __cxxabiv1::__si_class_type_info class is described by Table 9-35 Table 9-35. typeinfo for __cxxabiv1::__si_class_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__si_class_type_info __________________________________________________________ 9.1.11.2. Interfaces for Class __cxxabiv1::__si_class_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__si_class_type_info specified in Table 9-36, with the full mandatory functionality as described in the referenced underlying specification. Table 9-36. libstdcxx - Class __cxxabiv1::__si_class_type_info Function Interfaces __cxxabiv1::__si_class_type_info::~__si_class_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__si_class_type_info::~__si_class_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__si_class_type_info::~__si_class_type_info()(CXXAB I_1.3) [CXXABI] __cxxabiv1::__si_class_type_info::__do_upcast(__cxxabiv1::__cla ss_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__si_class_type_info specified in Table 9-37, with the full mandatory functionality as described in the referenced underlying specification. Table 9-37. libstdcxx - Class __cxxabiv1::__si_class_type_info Data Interfaces typeinfo for __cxxabiv1::__si_class_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__si_class_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__si_class_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.12. Class __cxxabiv1::__vmi_class_type_info __________________________________________________________ 9.1.12.1. Class data for __cxxabiv1::__vmi_class_type_info The virtual table for the __cxxabiv1::__vmi_class_type_info class is described by Table 9-38 Table 9-38. Primary vtable for __cxxabiv1::__vmi_class_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__vmi_class_type_info vfunc[0]: __cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info() vfunc[1]: __cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__class_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: __cxxabiv1::__class_type_info::__do_upcast(__cxxabiv1::__class_ type_info const*, void**) const vfunc[6]: __cxxabiv1::__vmi_class_type_info::__do_upcast(__cxxabiv1::__cl ass_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const The Run Time Type Information for the __cxxabiv1::__vmi_class_type_info class is described by Table 9-39 Table 9-39. typeinfo for __cxxabiv1::__vmi_class_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__vmi_class_type_info __________________________________________________________ 9.1.12.2. Interfaces for Class __cxxabiv1::__vmi_class_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__vmi_class_type_info specified in Table 9-40, with the full mandatory functionality as described in the referenced underlying specification. Table 9-40. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Function Interfaces __cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()(CXX ABI_1.3) [CXXABI] __cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()(CXX ABI_1.3) [CXXABI] __cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()(CXX ABI_1.3) [CXXABI] __cxxabiv1::__vmi_class_type_info::__do_upcast(__cxxabiv1::__cl ass_type_info const*, void const*, __cxxabiv1::__class_type_info::__upcast_result&) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__vmi_class_type_info specified in Table 9-41, with the full mandatory functionality as described in the referenced underlying specification. Table 9-41. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Data Interfaces typeinfo for __cxxabiv1::__vmi_class_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__vmi_class_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__vmi_class_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.13. Class __cxxabiv1::__fundamental_type_info __________________________________________________________ 9.1.13.1. Class data for __cxxabiv1::__fundamental_type_info The virtual table for the __cxxabiv1::__fundamental_type_info class is described by Table 9-42 Table 9-42. Primary vtable for __cxxabiv1::__fundamental_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__fundamental_type_info vfunc[0]: __cxxabiv1::__fundamental_type_info::~__fundamental_type_info() vfunc[1]: __cxxabiv1::__fundamental_type_info::~__fundamental_type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const The Run Time Type Information for the __cxxabiv1::__fundamental_type_info class is described by Table 9-43 Table 9-43. typeinfo for __cxxabiv1::__fundamental_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__fundamental_type_info __________________________________________________________ 9.1.13.2. Interfaces for Class __cxxabiv1::__fundamental_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__fundamental_type_info specified in Table 9-44, with the full mandatory functionality as described in the referenced underlying specification. Table 9-44. libstdcxx - Class __cxxabiv1::__fundamental_type_info Function Interfaces __cxxabiv1::__fundamental_type_info::~__fundamental_type_info() (CXXABI_1.3) [CXXABI] __cxxabiv1::__fundamental_type_info::~__fundamental_type_info() (CXXABI_1.3) [CXXABI] __cxxabiv1::__fundamental_type_info::~__fundamental_type_info() (CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__fundamental_type_info specified in Table 9-45, with the full mandatory functionality as described in the referenced underlying specification. Table 9-45. libstdcxx - Class __cxxabiv1::__fundamental_type_info Data Interfaces typeinfo for __cxxabiv1::__fundamental_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__fundamental_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__fundamental_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.14. Class __cxxabiv1::__pointer_to_member_type_info __________________________________________________________ 9.1.14.1. Class data for __cxxabiv1::__pointer_to_member_type_info The virtual table for the __cxxabiv1::__pointer_to_member_type_info class is described by Table 9-46 Table 9-46. Primary vtable for __cxxabiv1::__pointer_to_member_type_info Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __cxxabiv1::__pointer_to_member_type_info vfunc[0]: __cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member _type_info() vfunc[1]: __cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member _type_info() vfunc[2]: type_info::__is_pointer_p() const vfunc[3]: type_info::__is_function_p() const vfunc[4]: __cxxabiv1::__pbase_type_info::__do_catch(type_info const*, void**, unsigned int) const vfunc[5]: type_info::__do_upcast(__cxxabiv1::__class_type_info const*, void**) const vfunc[6]: __cxxabiv1::__pointer_to_member_type_info::__pointer_catch(__cx xabiv1::__pbase_type_info const*, void**, unsigned int) const The Run Time Type Information for the __cxxabiv1::__pointer_to_member_type_info class is described by Table 9-47 Table 9-47. typeinfo for __cxxabiv1::__pointer_to_member_type_info Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for __cxxabiv1::__pointer_to_member_type_info __________________________________________________________ 9.1.14.2. Interfaces for Class __cxxabiv1::__pointer_to_member_type_info An LSB conforming implementation shall provide the generic methods for Class __cxxabiv1::__pointer_to_member_type_info specified in Table 9-48, with the full mandatory functionality as described in the referenced underlying specification. Table 9-48. libstdcxx - Class __cxxabiv1::__pointer_to_member_type_info Function Interfaces __cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member _type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member _type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member _type_info()(CXXABI_1.3) [CXXABI] __cxxabiv1::__pointer_to_member_type_info::__pointer_catch(__cx xabiv1::__pbase_type_info const*, void**, unsigned int) const(CXXABI_1.3) [CXXABI] An LSB conforming implementation shall provide the generic data interfaces for Class __cxxabiv1::__pointer_to_member_type_info specified in Table 9-49, with the full mandatory functionality as described in the referenced underlying specification. Table 9-49. libstdcxx - Class __cxxabiv1::__pointer_to_member_type_info Data Interfaces typeinfo for __cxxabiv1::__pointer_to_member_type_info(CXXABI_1.3) [CXXABI] typeinfo name for __cxxabiv1::__pointer_to_member_type_info(CXXABI_1.3) [CXXABI] vtable for __cxxabiv1::__pointer_to_member_type_info(CXXABI_1.3) [CXXABI] __________________________________________________________ 9.1.15. Class __gnu_cxx::stdio_filebuf > __________________________________________________________ 9.1.15.1. Class data for __gnu_cxx::stdio_filebuf > The virtual table for the __gnu_cxx::stdio_filebuf > class is described by Table 9-50 Table 9-50. Primary vtable for __gnu_cxx::stdio_sync_filebuf > Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __gnu_cxx::stdio_sync_filebuf > vfunc[0]: Unspecified vfunc[1]: Unspecified vfunc[2]: basic_streambuf >::imbue(locale const&) vfunc[3]: See The Architecture Specific Specification vfunc[4]: Unspecified vfunc[5]: Unspecified vfunc[6]: Unspecified vfunc[7]: basic_streambuf >::showmanyc() vfunc[8]: Unspecified vfunc[9]: Unspecified vfunc[10]: Unspecified vfunc[11]: Unspecified vfunc[12]: Unspecified vfunc[13]: Unspecified __________________________________________________________ 9.1.15.2. Interfaces for Class __gnu_cxx::stdio_filebuf > No external methods are defined for libstdcxx - Class __gnu_cxx::stdio_filebuf > in this part of the specification. See also the relevant architecture specific part of this specification. An LSB conforming implementation shall provide the generic data interfaces for Class __gnu_cxx::stdio_filebuf > specified in Table 9-51, with the full mandatory functionality as described in the referenced underlying specification. Table 9-51. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces typeinfo for __gnu_cxx::stdio_filebuf >(GLIBCXX_3.4) [CXXABI] typeinfo name for __gnu_cxx::stdio_filebuf >(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.16. Class __gnu_cxx::stdio_filebuf> __________________________________________________________ 9.1.16.1. Class data for __gnu_cxx::stdio_filebuf > The virtual table for the __gnu_cxx::stdio_filebuf > class is described by Table 9-52 Table 9-52. Primary vtable for __gnu_cxx::stdio_sync_filebuf > Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for __gnu_cxx::stdio_sync_filebuf > vfunc[0]: Unspecified vfunc[1]: Unspecified vfunc[2]: basic_streambuf >::imbue(locale const&) vfunc[3]: See The Architecture Specific Specification vfunc[4]: Unspecified vfunc[5]: Unspecified vfunc[6]: Unspecified vfunc[7]: basic_streambuf >::showmanyc() vfunc[8]: Unspecified vfunc[9]: Unspecified vfunc[10]: Unspecified vfunc[11]: Unspecified vfunc[12]: Unspecified vfunc[13]: Unspecified __________________________________________________________ 9.1.16.2. Interfaces for Class __gnu_cxx::stdio_filebuf > No external methods are defined for libstdcxx - Class __gnu_cxx::stdio_filebuf > in this part of the specification. See also the relevant architecture specific part of this specification. An LSB conforming implementation shall provide the generic data interfaces for Class __gnu_cxx::stdio_filebuf > specified in Table 9-53, with the full mandatory functionality as described in the referenced underlying specification. Table 9-53. libstdcxx - Class __gnu_cxx::stdio_filebuf > Data Interfaces typeinfo for __gnu_cxx::stdio_filebuf >(GLIBCXX_3.4) [CXXABI] typeinfo name for __gnu_cxx::stdio_filebuf >(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.17. Class __gnu_cxx::__pool_alloc_base __________________________________________________________ 9.1.17.1. Interfaces for Class __gnu_cxx::__pool_alloc_base An LSB conforming implementation shall provide the generic methods for Class __gnu_cxx::__pool_alloc_base specified in Table 9-54, with the full mandatory functionality as described in the referenced underlying specification. Table 9-54. libstdcxx - Class __gnu_cxx::__pool_alloc_base Function Interfaces __gnu_cxx::__pool_alloc_base::_M_get_mutex()(GLIBCXX_3.4.2) [LSB] __________________________________________________________ 9.1.18. Class __gnu_cxx::stdio_sync_filebuf > __________________________________________________________ 9.1.18.1. Interfaces for Class __gnu_cxx::stdio_sync_filebuf > An LSB conforming implementation shall provide the generic methods for Class __gnu_cxx::stdio_sync_filebuf > specified in Table 9-55, with the full mandatory functionality as described in the referenced underlying specification. Table 9-55. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Function Interfaces __gnu_cxx::stdio_sync_filebuf >::file()(GLIBCXX_3.4.2) [LSB] An LSB conforming implementation shall provide the generic data interfaces for Class __gnu_cxx::stdio_sync_filebuf > specified in Table 9-56, with the full mandatory functionality as described in the referenced underlying specification. Table 9-56. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Data Interfaces typeinfo for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] typeinfo name for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] vtable for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.19. Class __gnu_cxx::stdio_sync_filebuf > __________________________________________________________ 9.1.19.1. Interfaces for Class __gnu_cxx::stdio_sync_filebuf > An LSB conforming implementation shall provide the generic methods for Class __gnu_cxx::stdio_sync_filebuf > specified in Table 9-57, with the full mandatory functionality as described in the referenced underlying specification. Table 9-57. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Function Interfaces __gnu_cxx::stdio_sync_filebuf >::file()(GLIBCXX_3.4.2) [LSB] An LSB conforming implementation shall provide the generic data interfaces for Class __gnu_cxx::stdio_sync_filebuf > specified in Table 9-58, with the full mandatory functionality as described in the referenced underlying specification. Table 9-58. libstdcxx - Class __gnu_cxx::stdio_sync_filebuf > Data Interfaces typeinfo for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] typeinfo name for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] vtable for __gnu_cxx::stdio_sync_filebuf >(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.20. Class exception __________________________________________________________ 9.1.20.1. Class data for exception The virtual table for the std::exception class is described by Table 9-59 Table 9-59. Primary vtable for exception Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for exception vfunc[0]: exception::~exception() vfunc[1]: exception::~exception() vfunc[2]: exception::what() const The Run Time Type Information for the std::exception class is described by Table 9-60 Table 9-60. typeinfo for exception Base Vtable vtable for __cxxabiv1::__class_type_info Name typeinfo name for exception __________________________________________________________ 9.1.20.2. Interfaces for Class exception An LSB conforming implementation shall provide the generic methods for Class std::exception specified in Table 9-61, with the full mandatory functionality as described in the referenced underlying specification. Table 9-61. libstdcxx - Class exception Function Interfaces exception::what() const(GLIBCXX_3.4) [ISOCXX] exception::~exception()(GLIBCXX_3.4) [ISOCXX] exception::~exception()(GLIBCXX_3.4) [ISOCXX] exception::~exception()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::exception specified in Table 9-62, with the full mandatory functionality as described in the referenced underlying specification. Table 9-62. libstdcxx - Class exception Data Interfaces typeinfo for exception(GLIBCXX_3.4) [CXXABI] typeinfo name for exception(GLIBCXX_3.4) [CXXABI] vtable for exception(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.21. Class bad_typeid __________________________________________________________ 9.1.21.1. Class data for bad_typeid The virtual table for the std::bad_typeid class is described by Table 9-63 Table 9-63. Primary vtable for bad_typeid Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for bad_typeid vfunc[0]: bad_typeid::~bad_typeid() vfunc[1]: bad_typeid::~bad_typeid() vfunc[2]: exception::what() const The Run Time Type Information for the std::bad_typeid class is described by Table 9-64 Table 9-64. typeinfo for bad_typeid Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for bad_typeid __________________________________________________________ 9.1.21.2. Interfaces for Class bad_typeid An LSB conforming implementation shall provide the generic methods for Class std::bad_typeid specified in Table 9-65, with the full mandatory functionality as described in the referenced underlying specification. Table 9-65. libstdcxx - Class bad_typeid Function Interfaces bad_typeid::~bad_typeid()(GLIBCXX_3.4) [ISOCXX] bad_typeid::~bad_typeid()(GLIBCXX_3.4) [ISOCXX] bad_typeid::~bad_typeid()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::bad_typeid specified in Table 9-66, with the full mandatory functionality as described in the referenced underlying specification. Table 9-66. libstdcxx - Class bad_typeid Data Interfaces typeinfo for bad_typeid(GLIBCXX_3.4) [CXXABI] typeinfo name for bad_typeid(GLIBCXX_3.4) [CXXABI] vtable for bad_typeid(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.22. Class logic_error __________________________________________________________ 9.1.22.1. Class data for logic_error The virtual table for the std::logic_error class is described by Table 9-67 Table 9-67. Primary vtable for logic_error Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for logic_error vfunc[0]: logic_error::~logic_error() vfunc[1]: logic_error::~logic_error() vfunc[2]: logic_error::what() const The Run Time Type Information for the std::logic_error class is described by Table 9-68 Table 9-68. typeinfo for logic_error Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for logic_error __________________________________________________________ 9.1.22.2. Interfaces for Class logic_error An LSB conforming implementation shall provide the generic methods for Class std::logic_error specified in Table 9-69, with the full mandatory functionality as described in the referenced underlying specification. Table 9-69. libstdcxx - Class logic_error Function Interfaces logic_error::what() const(GLIBCXX_3.4) [ISOCXX] logic_error::logic_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] logic_error::logic_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] logic_error::~logic_error()(GLIBCXX_3.4) [ISOCXX] logic_error::~logic_error()(GLIBCXX_3.4) [ISOCXX] logic_error::~logic_error()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::logic_error specified in Table 9-70, with the full mandatory functionality as described in the referenced underlying specification. Table 9-70. libstdcxx - Class logic_error Data Interfaces typeinfo for logic_error(GLIBCXX_3.4) [CXXABI] typeinfo name for logic_error(GLIBCXX_3.4) [CXXABI] vtable for logic_error(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.23. Class range_error __________________________________________________________ 9.1.23.1. Class data for range_error The virtual table for the std::range_error class is described by Table 9-71 Table 9-71. Primary vtable for range_error Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for range_error vfunc[0]: range_error::~range_error() vfunc[1]: range_error::~range_error() vfunc[2]: runtime_error::what() const The Run Time Type Information for the std::range_error class is described by Table 9-72 Table 9-72. typeinfo for range_error Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for range_error __________________________________________________________ 9.1.23.2. Interfaces for Class range_error An LSB conforming implementation shall provide the generic methods for Class std::range_error specified in Table 9-73, with the full mandatory functionality as described in the referenced underlying specification. Table 9-73. libstdcxx - Class range_error Function Interfaces range_error::range_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] range_error::range_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] range_error::~range_error()(GLIBCXX_3.4) [ISOCXX] range_error::~range_error()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::range_error specified in Table 9-74, with the full mandatory functionality as described in the referenced underlying specification. Table 9-74. libstdcxx - Class range_error Data Interfaces typeinfo for range_error(GLIBCXX_3.4) [CXXABI] typeinfo name for range_error(GLIBCXX_3.4) [CXXABI] vtable for range_error(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.24. Class domain_error __________________________________________________________ 9.1.24.1. Class data for domain_error The virtual table for the std::domain_error class is described by Table 9-75 Table 9-75. Primary vtable for domain_error Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for domain_error vfunc[0]: domain_error::~domain_error() vfunc[1]: domain_error::~domain_error() vfunc[2]: logic_error::what() const The Run Time Type Information for the std::domain_error class is described by Table 9-76 Table 9-76. typeinfo for domain_error Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for domain_error __________________________________________________________ 9.1.24.2. Interfaces for Class domain_error An LSB conforming implementation shall provide the generic methods for Class std::domain_error specified in Table 9-77, with the full mandatory functionality as described in the referenced underlying specification. Table 9-77. libstdcxx - Class domain_error Function Interfaces domain_error::domain_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] domain_error::domain_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] domain_error::~domain_error()(GLIBCXX_3.4) [ISOCXX] domain_error::~domain_error()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::domain_error specified in Table 9-78, with the full mandatory functionality as described in the referenced underlying specification. Table 9-78. libstdcxx - Class domain_error Data Interfaces typeinfo for domain_error(GLIBCXX_3.4) [CXXABI] typeinfo name for domain_error(GLIBCXX_3.4) [CXXABI] vtable for domain_error(GLIBCXX_3.4) [CXXABI] __________________________________________________________ 9.1.25. Class length_error __________________________________________________________ 9.1.25.1. Class data for length_error The virtual table for the std::length_error class is described by Table 9-79 Table 9-79. Primary vtable for length_error Base Offset 0 Virtual Base Offset 0 RTTI typeinfo for length_error vfunc[0]: length_error::~length_error() vfunc[1]: length_error::~length_error() vfunc[2]: logic_error::what() const The Run Time Type Information for the std::length_error class is described by Table 9-80 Table 9-80. typeinfo for length_error Base Vtable vtable for __cxxabiv1::__si_class_type_info Name typeinfo name for length_error __________________________________________________________ 9.1.25.2. Interfaces for Class length_error An LSB conforming implementation shall provide the generic methods for Class std::length_error specified in Table 9-81, with the full mandatory functionality as described in the referenced underlying specification. Table 9-81. libstdcxx - Class length_error Function Interfaces length_error::length_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] length_error::length_error(basic_string, allocator > const&)(GLIBCXX_3.4) [ISOCXX] length_error::~length_error()(GLIBCXX_3.4) [ISOCXX] length_error::~length_error()(GLIBCXX_3.4) [ISOCXX] An LSB conforming implementation shall provide the generic data interfaces for Class std::length_error specified in Table 9-82, with the full mandatory functionality