Linux Standard Base C++ Specification for AMD64 3.0Preview1

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 are 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

These excerpts are being used in accordance with their respective licenses.

Linux is a trademark of Linus Torvalds.

UNIX a registered trademark of the Open Group in the United States and other countries.

LSB is a trademark of the Free Standards Group in the USA and other countries.

AMD is a trademark of Advanced Micro Devices, Inc.

Intel and Itanium are registered trademarks and Intel386 is a trademarks of Intel 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. Base Libraries
7. Libraries
7.1. Interfaces for libstdcxx
A. GNU Free Documentation License
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 Tables
2-1. Normative References
3-1. Standard Library Names
7-1. libstdcxx Definition
7-2. libstdcxx - C++ Runtime Support Function Interfaces
7-3. libstdcxx - Class basic_string Function Interfaces
7-4. libstdcxx - Class gslice Function Interfaces
7-5. libstdcxx - Class __basic_file<char> Function Interfaces
7-6. libstdcxx - Class valarray<unsigned int> Function Interfaces
7-7. libstdcxx - Class basic_string<char, char_traits<char>, allocator<char> > Function Interfaces
7-8. Primary vtable for __cxxabiv1::__enum_type_info
7-9. typeinfo for __cxxabiv1::__enum_type_info
7-10. Primary vtable for __cxxabiv1::__array_type_info
7-11. typeinfo for __cxxabiv1::__array_type_info
7-12. Primary vtable for __cxxabiv1::__class_type_info
7-13. typeinfo for __cxxabiv1::__class_type_info
7-14. libstdcxx - Class __cxxabiv1::__class_type_info Function Interfaces
7-15. Primary vtable for __cxxabiv1::__pbase_type_info
7-16. typeinfo for __cxxabiv1::__pbase_type_info
7-17. Primary vtable for __cxxabiv1::__pointer_type_info
7-18. typeinfo for __cxxabiv1::__pointer_type_info
7-19. Primary vtable for __cxxabiv1::__function_type_info
7-20. typeinfo for __cxxabiv1::__function_type_info
7-21. Primary vtable for __cxxabiv1::__si_class_type_info
7-22. typeinfo for __cxxabiv1::__si_class_type_info
7-23. libstdcxx - Class __cxxabiv1::__si_class_type_info Function Interfaces
7-24. Primary vtable for __cxxabiv1::__vmi_class_type_info
7-25. typeinfo for __cxxabiv1::__vmi_class_type_info
7-26. libstdcxx - Class __cxxabiv1::__vmi_class_type_info Function Interfaces
7-27. Primary vtable for __cxxabiv1::__fundamental_type_info
7-28. typeinfo for __cxxabiv1::__fundamental_type_info
7-29. Primary vtable for __cxxabiv1::__pointer_to_member_type_info
7-30. typeinfo for __cxxabiv1::__pointer_to_member_type_info
7-31. Primary vtable for __gnu_cxx::stdio_sync_filebuf<char, char_traits<char> >
7-32. Primary vtable for __gnu_cxx::stdio_sync_filebuf<wchar_t, char_traits<wchar_t> >
7-33. Primary vtable for locale::facet
7-34. typeinfo for locale::facet
7-35. Primary vtable for ios_base::failure
7-36. typeinfo for ios_base::failure
7-37. Primary vtable for basic_iostream<char, char_traits<char> >
7-38. Secondary vtable for basic_iostream<char, char_traits<char> >
7-39. Secondary vtable for basic_iostream<char, char_traits<char> >
7-40. VTT for basic_iostream<char, char_traits<char> >
7-41. libstdcxx - Class _ZSdE Function Interfaces
7-42. Primary vtable for basic_istream<char, char_traits<char> >
7-43. Secondary vtable for basic_istream<char, char_traits<char> >
7-44. VTT for basic_istream<char, char_traits<char> >
7-45. libstdcxx - Class _ZSiE Function Interfaces
7-46. Primary vtable for basic_ostream<char, char_traits<char> >
7-47. Secondary vtable for basic_ostream<char, char_traits<char> >
7-48. VTT for basic_ostream<char, char_traits<char> >
7-49. libstdcxx - Class _ZSoE Function Interfaces
7-50.
7-51. Primary vtable for bad_typeid
7-52. typeinfo for bad_typeid
7-53. typeinfo for ctype_base
7-54. Primary vtable for istrstream
7-55. Secondary vtable for istrstream
7-56. VTT for istrstream
7-57. libstdcxx - Class istrstream Function Interfaces
7-58. typeinfo for money_base
7-59. Primary vtable for moneypunct<char, false>
7-60. libstdcxx - Class moneypunct<char, false> Function Interfaces
7-61. Primary vtable for moneypunct<char, true>
7-62. libstdcxx - Class moneypunct<char, true> Function Interfaces
7-63. Primary vtable for moneypunct<wchar_t, false>
7-64. libstdcxx - Class moneypunct<wchar_t, false> Function Interfaces
7-65. Primary vtable for moneypunct<wchar_t, true>
7-66. libstdcxx - Class moneypunct<wchar_t, true> Function Interfaces
7-67. Primary vtable for ostrstream
7-68. Secondary vtable for ostrstream
7-69. VTT for ostrstream
7-70. libstdcxx - Class ostrstream Function Interfaces
7-71. Primary vtable for __timepunct<char>
7-72. typeinfo for __timepunct<char>
7-73. libstdcxx - Class __timepunct<char> Function Interfaces
7-74. Primary vtable for __timepunct<wchar_t>
7-75. typeinfo for __timepunct<wchar_t>
7-76. libstdcxx - Class __timepunct<wchar_t> Function Interfaces
7-77. Primary vtable for logic_error
7-78. typeinfo for logic_error
7-79. Primary vtable for range_error
7-80. typeinfo for range_error
7-81. typeinfo for codecvt_base
7-82. Primary vtable for ctype_byname<char>
7-83. typeinfo for ctype_byname<char>
7-84. libstdcxx - Class ctype_byname<char> Function Interfaces
7-85. libstdcxx - Class ctype_byname<wchar_t> Function Interfaces
7-86. Primary vtable for domain_error
7-87. typeinfo for domain_error
7-88. Primary vtable for length_error
7-89. typeinfo for length_error
7-90. Primary vtable for out_of_range
7-91. typeinfo for out_of_range
7-92. Primary vtable for strstreambuf
7-93. typeinfo for strstreambuf
7-94. libstdcxx - Class strstreambuf Function Interfaces
7-95. Primary vtable for bad_exception
7-96. typeinfo for bad_exception
7-97. Primary vtable for basic_filebuf<char, char_traits<char> >
7-98. typeinfo for basic_filebuf<char, char_traits<char> >
7-99. libstdcxx - Class basic_filebuf<char, char_traits<char> > Function Interfaces
7-100. Primary vtable for basic_filebuf<wchar_t, char_traits<wchar_t> >
7-101. typeinfo for basic_filebuf<wchar_t, char_traits<wchar_t> >
7-102. libstdcxx - Class basic_filebuf<wchar_t, char_traits<wchar_t> > Function Interfaces
7-103. Primary vtable for basic_fstream<char, char_traits<char> >
7-104. Secondary vtable for basic_fstream<char, char_traits<char> >
7-105. Secondary vtable for basic_fstream<char, char_traits<char> >
7-106. VTT for basic_fstream<char, char_traits<char> >
7-107. libstdcxx - Class basic_fstream<char, char_traits<char> > Function Interfaces
7-108. Primary vtable for basic_fstream<wchar_t, char_traits<wchar_t> >
7-109. Secondary vtable for basic_fstream<wchar_t, char_traits<wchar_t> >
7-110. Secondary vtable for basic_fstream<wchar_t, char_traits<wchar_t> >
7-111. VTT for basic_fstream<wchar_t, char_traits<wchar_t> >
7-112. libstdcxx - Class basic_fstream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-113. Primary vtable for basic_istream<wchar_t, char_traits<wchar_t> >
7-114. Secondary vtable for basic_istream<wchar_t, char_traits<wchar_t> >
7-115. VTT for basic_istream<wchar_t, char_traits<wchar_t> >
7-116. libstdcxx - Class basic_istream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-117. Primary vtable for basic_ostream<wchar_t, char_traits<wchar_t> >
7-118. Secondary vtable for basic_ostream<wchar_t, char_traits<wchar_t> >
7-119. VTT for basic_ostream<wchar_t, char_traits<wchar_t> >
7-120. libstdcxx - Class basic_ostream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-121. typeinfo for messages_base
7-122. Primary vtable for runtime_error
7-123. typeinfo for runtime_error
7-124. Primary vtable for basic_ifstream<char, char_traits<char> >
7-125. Secondary vtable for basic_ifstream<char, char_traits<char> >
7-126. VTT for basic_ifstream<char, char_traits<char> >
7-127. libstdcxx - Class basic_ifstream<char, char_traits<char> > Function Interfaces
7-128. Primary vtable for basic_ifstream<wchar_t, char_traits<wchar_t> >
7-129. Secondary vtable for basic_ifstream<wchar_t, char_traits<wchar_t> >
7-130. VTT for basic_ifstream<wchar_t, char_traits<wchar_t> >
7-131. libstdcxx - Class basic_ifstream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-132. Primary vtable for basic_iostream<wchar_t, char_traits<wchar_t> >
7-133. Secondary vtable for basic_iostream<wchar_t, char_traits<wchar_t> >
7-134. Secondary vtable for basic_iostream<wchar_t, char_traits<wchar_t> >
7-135. VTT for basic_iostream<wchar_t, char_traits<wchar_t> >
7-136. libstdcxx - Class basic_iostream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-137. Primary vtable for basic_ofstream<char, char_traits<char> >
7-138. Secondary vtable for basic_ofstream<char, char_traits<char> >
7-139. VTT for basic_ofstream<char, char_traits<char> >
7-140. libstdcxx - Class basic_ofstream<char, char_traits<char> > Function Interfaces
7-141. Primary vtable for basic_ofstream<wchar_t, char_traits<wchar_t> >
7-142. Secondary vtable for basic_ofstream<wchar_t, char_traits<wchar_t> >
7-143. VTT for basic_ofstream<wchar_t, char_traits<wchar_t> >
7-144. libstdcxx - Class basic_ofstream<wchar_t, char_traits<wchar_t> > Function Interfaces
7-145. Primary vtable for codecvt_byname<char, char, __mbstate_t>
7-146. typeinfo for codecvt_byname<char, char, __mbstate_t>
7-147. libstdcxx - Class codecvt_byname<char, char, __mbstate_t> Function Interfaces
7-148. Primary vtable for codecvt_byname<wchar_t, char, __mbstate_t>
7-149. typeinfo for codecvt_byname<wchar_t, char, __mbstate_t>
7-150. Primary vtable for collate_byname<wchar_t>
7-151. typeinfo for collate_byname<wchar_t>
7-152. libstdcxx - Class codecvt_byname<wchar_t, char, __mbstate_t> Function Interfaces
7-153. Primary vtable for collate_byname<char>
7-154. typeinfo for collate_byname<char>
7-155. libstdcxx - Class collate_byname<char> Function Interfaces
7-156. Primary vtable for overflow_error
7-157. typeinfo for overflow_error
7-158. Primary vtable for basic_streambuf<char, char_traits<char> >
7-159. typeinfo for basic_streambuf<char, char_traits<char> >
7-160. libstdcxx - Class basic_streambuf<char, char_traits<char> > Function Interfaces
7-161. Primary vtable for basic_streambuf<wchar_t, char_traits<wchar_t> >
7-162. typeinfo for basic_streambuf<wchar_t, char_traits<wchar_t> >
7-163. libstdcxx - Class basic_streambuf<wchar_t, char_traits<wchar_t> > Function Interfaces
7-164. Primary vtable for basic_stringbuf<char, char_traits<char>, allocator<char> >
7-165. typeinfo for basic_stringbuf<char, char_traits<char>, allocator<char> >
7-166. libstdcxx - Class basic_stringbuf<char, char_traits<char>, allocator<char> > Function Interfaces
7-167. Primary vtable for basic_stringbuf<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-168. typeinfo for basic_stringbuf<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-169. libstdcxx - Class basic_stringbuf<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > Function Interfaces
7-170. Primary vtable for messages_byname<char>
7-171. typeinfo for messages_byname<char>
7-172. libstdcxx - Class messages_byname<char> Function Interfaces
7-173. Primary vtable for messages_byname<wchar_t>
7-174. typeinfo for messages_byname<wchar_t>
7-175. libstdcxx - Class messages_byname<wchar_t> Function Interfaces
7-176. Primary vtable for numpunct_byname<char>
7-177. typeinfo for numpunct_byname<char>
7-178. libstdcxx - Class numpunct_byname<char> Function Interfaces
7-179. Primary vtable for numpunct_byname<wchar_t>
7-180. typeinfo for numpunct_byname<wchar_t>
7-181. libstdcxx - Class numpunct_byname<wchar_t> Function Interfaces
7-182. Primary vtable for time_get_byname<char, istreambuf_iterator<char, char_traits<char> > >
7-183. typeinfo for time_get_byname<char, istreambuf_iterator<char, char_traits<char> > >
7-184. libstdcxx - Class time_get_byname<char, istreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-185. Primary vtable for time_get_byname<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-186. typeinfo for time_get_byname<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-187. libstdcxx - Class time_get_byname<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-188. Primary vtable for time_put_byname<char, ostreambuf_iterator<char, char_traits<char> > >
7-189. typeinfo for time_put_byname<char, ostreambuf_iterator<char, char_traits<char> > >
7-190. libstdcxx - Class time_put_byname<char, ostreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-191. Primary vtable for time_put_byname<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-192. typeinfo for time_put_byname<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-193. libstdcxx - Class time_put_byname<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-194. Primary vtable for underflow_error
7-195. typeinfo for underflow_error
7-196. Primary vtable for invalid_argument
7-197. typeinfo for invalid_argument
7-198. Primary vtable for moneypunct_byname<char, false>
7-199. typeinfo for moneypunct_byname<char, false>
7-200. libstdcxx - Class moneypunct_byname<char, false> Function Interfaces
7-201. Primary vtable for moneypunct_byname<char, true>
7-202. typeinfo for moneypunct_byname<char, true>
7-203. libstdcxx - Class moneypunct_byname<char, true> Function Interfaces
7-204. Primary vtable for moneypunct_byname<wchar_t, false>
7-205. typeinfo for moneypunct_byname<wchar_t, false>
7-206. libstdcxx - Class moneypunct_byname<wchar_t, false> Function Interfaces
7-207. Primary vtable for moneypunct_byname<wchar_t, true>
7-208. typeinfo for moneypunct_byname<wchar_t, true>
7-209. libstdcxx - Class moneypunct_byname<wchar_t, true> Function Interfaces
7-210. Primary vtable for basic_stringstream<char, char_traits<char>, allocator<char> >
7-211. Secondary vtable for basic_stringstream<char, char_traits<char>, allocator<char> >
7-212. Secondary vtable for basic_stringstream<char, char_traits<char>, allocator<char> >
7-213. VTT for basic_stringstream<char, char_traits<char>, allocator<char> >
7-214. libstdcxx - Class basic_stringstream<char, char_traits<char>, allocator<char> > Function Interfaces
7-215. Primary vtable for basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-216. Secondary vtable for basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-217. Secondary vtable for basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-218. VTT for basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-219. libstdcxx - Class basic_stringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > Function Interfaces
7-220. Primary vtable for basic_istringstream<char, char_traits<char>, allocator<char> >
7-221. Secondary vtable for basic_istringstream<char, char_traits<char>, allocator<char> >
7-222. VTT for basic_istringstream<char, char_traits<char>, allocator<char> >
7-223. libstdcxx - Class basic_istringstream<char, char_traits<char>, allocator<char> > Function Interfaces
7-224. Primary vtable for basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-225. Secondary vtable for basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-226. VTT for basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-227. libstdcxx - Class basic_istringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > Function Interfaces
7-228. Primary vtable for basic_ostringstream<char, char_traits<char>, allocator<char> >
7-229. Secondary vtable for basic_ostringstream<char, char_traits<char>, allocator<char> >
7-230. VTT for basic_ostringstream<char, char_traits<char>, allocator<char> >
7-231. libstdcxx - Class basic_ostringstream<char, char_traits<char>, allocator<char> > Function Interfaces
7-232. Primary vtable for basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-233. Secondary vtable for basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-234. VTT for basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >
7-235. libstdcxx - Class basic_ostringstream<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > Function Interfaces
7-236. Primary vtable for __ctype_abstract_base<char>
7-237. Primary vtable for __ctype_abstract_base<wchar_t>
7-238. Primary vtable for __codecvt_abstract_base<wchar_t, char, __mbstate_t>
7-239. Primary vtable for ctype<char>
7-240. libstdcxx - Class ctype<char> Function Interfaces
7-241. Primary vtable for ctype<wchar_t>
7-242. typeinfo for ctype<wchar_t>
7-243. libstdcxx - Class ctype<wchar_t> Function Interfaces
7-244. Primary vtable for codecvt<char, char, __mbstate_t>
7-245. typeinfo for codecvt<char, char, __mbstate_t>
7-246. Primary vtable for __codecvt_abstract_base<char, char, __mbstate_t>
7-247. libstdcxx - Class codecvt<char, char, __mbstate_t> Function Interfaces
7-248. Primary vtable for codecvt<wchar_t, char, __mbstate_t>
7-249. typeinfo for codecvt<wchar_t, char, __mbstate_t>
7-250. libstdcxx - Class codecvt<wchar_t, char, __mbstate_t> Function Interfaces
7-251. Primary vtable for collate<char>
7-252. typeinfo for collate<char>
7-253. libstdcxx - Class collate<char> Function Interfaces
7-254. Primary vtable for collate<wchar_t>
7-255. typeinfo for collate<wchar_t>
7-256. libstdcxx - Class collate<wchar_t> Function Interfaces
7-257. libstdcxx - Class num_get<char, istreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-258. libstdcxx - Class num_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-259. libstdcxx - Class num_put<char, ostreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-260. libstdcxx - Class num_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-261. Primary vtable for bad_cast
7-262. typeinfo for bad_cast
7-263. typeinfo for ios_base
7-264. Primary vtable for messages<char>
7-265. libstdcxx - Class messages<char> Function Interfaces
7-266. Primary vtable for messages<wchar_t>
7-267. libstdcxx - Class messages<wchar_t> Function Interfaces
7-268. Primary vtable for numpunct<char>
7-269. typeinfo for numpunct<char>
7-270. libstdcxx - Class numpunct<char> Function Interfaces
7-271. Primary vtable for numpunct<wchar_t>
7-272. typeinfo for numpunct<wchar_t>
7-273. libstdcxx - Class numpunct<wchar_t> Function Interfaces
7-274. Primary vtable for time_get<char, istreambuf_iterator<char, char_traits<char> > >
7-275. libstdcxx - Class time_get<char, istreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-276. Primary vtable for time_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-277. libstdcxx - Class time_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-278. libstdcxx - Class time_put<char, ostreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-279. libstdcxx - Class time_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-280. Primary vtable for bad_alloc
7-281. typeinfo for bad_alloc
7-282. Primary vtable for basic_ios<char, char_traits<char> >
7-283. Primary vtable for exception
7-284. typeinfo for exception
7-285. Primary vtable for money_get<char, istreambuf_iterator<char, char_traits<char> > >
7-286. typeinfo for money_get<char, istreambuf_iterator<char, char_traits<char> > >
7-287. libstdcxx - Class money_get<char, istreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-288. Primary vtable for money_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-289. typeinfo for money_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-290. libstdcxx - Class money_get<wchar_t, istreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-291. Primary vtable for money_put<char, ostreambuf_iterator<char, char_traits<char> > >
7-292. typeinfo for money_put<char, ostreambuf_iterator<char, char_traits<char> > >
7-293. libstdcxx - Class money_put<char, ostreambuf_iterator<char, char_traits<char> > > Function Interfaces
7-294. Primary vtable for money_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-295. typeinfo for money_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > >
7-296. libstdcxx - Class money_put<wchar_t, ostreambuf_iterator<wchar_t, char_traits<wchar_t> > > Function Interfaces
7-297. Primary vtable for strstream
7-298. Secondary vtable for strstream
7-299. Secondary vtable for strstream
7-300. VTT for strstream
7-301. libstdcxx - Class strstream Function Interfaces
7-302. typeinfo for time_base
7-303. Primary vtable for type_info
7-304. typeinfo for type_info

Foreword

This is version 3.0Preview1 of the Linux Standard Base C++ Specification for AMD64. An implementation of this version of the specification may not claim to be an implementation of the Linux Standard Base unless it has successfully completed the compliance process as defined by the Free Standards Group.


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:

I. Introductory Elements


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") describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific specification ("LSB-arch") describing the parts of the interface that vary by processor architecture. Together, the LSB-generic and the architecture-specific supplement for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture.

The LSB-generic document shall be used in conjunction with an architecture-specific supplement. Whenever a section of the LSB-generic specification shall be supplemented by architecture-specific information, the LSB-generic document includes a reference to the architecture supplement. Architecture supplements 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 shall provide 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

NameTitleURL
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++ LanguageISO/IEC 14882: 2003 Programming languages --C++
Itanium C++ ABIItanium C++ ABI (Revision: 1.75)http://www.codesourcery.com/cxx-abi/abi.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

LibraryRuntime Name
libstdcxxlibstdc++.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) [1]

refers to the interface named forkpty() with symbol version GLIBC_2.0 that is defined in the first of the listed references below the table.

II. Base Libraries

Table of Contents
7. Libraries

Chapter 7. 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.

Interfaces that are unique to the AMD64 platform are defined here. This section should be used in conjunction with the corresponding section in the Linux Standard Base Specification.


7.1. Interfaces for libstdcxx

Table 7-1 defines the library name and shared object name for the libstdcxx library

Table 7-1. libstdcxx Definition

Library:libstdcxx
SONAME:libstdc++.so.6

The behavior of the interfaces in this library is specified by the following specifications:

Itanium C++ ABI
ISO/IEC 14882: 2003 C++ Language


7.1.1. C++ Runtime Support


7.1.1.1. Interfaces for C++ Runtime Support

An LSB conforming implementation shall provide the architecture specific methods for C++ Runtime Support specified in Table 7-2, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-2. libstdcxx - C++ Runtime Support Function Interfaces

operator new[](unsigned long)(GLIBCXX_3.4) [1]
operator new[](unsigned long, nothrow_t const&)(GLIBCXX_3.4) [1]
operator new(unsigned long)(GLIBCXX_3.4) [1]
operator new(unsigned long, nothrow_t const&)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.2. C++ type descriptors for built-in types


7.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


7.1.3. C++ Unsorted Interfaces


7.1.3.1. Interfaces for C++ Unsorted Interfaces

No external methods are defined for libstdcxx - C++ Unsorted Interfaces


7.1.4. struct numeric_limits<long double>


7.1.4.1. Interfaces for struct numeric_limits<long double>

No external methods are defined for libstdcxx - struct numeric_limits<long double>


7.1.5. struct __numeric_limits_base


7.1.5.1. Interfaces for struct __numeric_limits_base

No external methods are defined for libstdcxx - struct __numeric_limits_base


7.1.6. struct numeric_limits<long long>


7.1.6.1. Interfaces for struct numeric_limits<long long>

No external methods are defined for libstdcxx - struct numeric_limits<long long>


7.1.7. struct numeric_limits<unsigned long long>


7.1.7.1. Interfaces for struct numeric_limits<unsigned long long>

No external methods are defined for libstdcxx - struct numeric_limits<unsigned long long>


7.1.8. struct numeric_limits<float>


7.1.8.1. Interfaces for struct numeric_limits<float>

No external methods are defined for libstdcxx - struct numeric_limits<float>


7.1.9. struct numeric_limits<double>


7.1.9.1. Interfaces for struct numeric_limits<double>

No external methods are defined for libstdcxx - struct numeric_limits<double>


7.1.10. struct numeric_limits<short>


7.1.10.1. Interfaces for struct numeric_limits<short>

No external methods are defined for libstdcxx - struct numeric_limits<short>


7.1.11. struct numeric_limits<unsigned short>


7.1.11.1. Interfaces for struct numeric_limits<unsigned short>

No external methods are defined for libstdcxx - struct numeric_limits<unsigned short>


7.1.12. struct numeric_limits<int>


7.1.12.1. Interfaces for struct numeric_limits<int>

No external methods are defined for libstdcxx - struct numeric_limits<int>


7.1.13. struct numeric_limits<unsigned int>


7.1.13.1. Interfaces for struct numeric_limits<unsigned int>

No external methods are defined for libstdcxx - struct numeric_limits<unsigned int>


7.1.14. struct numeric_limits<long>


7.1.14.1. Interfaces for struct numeric_limits<long>

No external methods are defined for libstdcxx - struct numeric_limits<long>


7.1.15. struct numeric_limits<unsigned long>


7.1.15.1. Interfaces for struct numeric_limits<unsigned long>

No external methods are defined for libstdcxx - struct numeric_limits<unsigned long>


7.1.16. struct numeric_limits<wchar_t>


7.1.16.1. Interfaces for struct numeric_limits<wchar_t>

No external methods are defined for libstdcxx - struct numeric_limits<wchar_t>


7.1.17. struct numeric_limits<unsigned char>


7.1.17.1. Interfaces for struct numeric_limits<unsigned char>

No external methods are defined for libstdcxx - struct numeric_limits<unsigned char>


7.1.18. struct numeric_limits<signed char>


7.1.18.1. Interfaces for struct numeric_limits<signed char>

No external methods are defined for libstdcxx - struct numeric_limits<signed char>


7.1.19. struct numeric_limits<char>


7.1.19.1. Interfaces for struct numeric_limits<char>

No external methods are defined for libstdcxx - struct numeric_limits<char>


7.1.20. struct numeric_limits<bool>


7.1.20.1. Interfaces for struct numeric_limits<bool>

No external methods are defined for libstdcxx - struct numeric_limits<bool>


7.1.23. facet functions


7.1.23.1. Interfaces for facet functions

No external methods are defined for libstdcxx - facet functions


7.1.24. Class basic_string


7.1.24.1. Interfaces for Class basic_string

An LSB conforming implementation shall provide the architecture specific methods for Class std::basic_string specified in Table 7-3, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-3. libstdcxx - Class basic_string Function Interfaces

basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_of(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_of(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_of(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_of(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_of(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_of(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_of(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_of(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_not_of(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_not_of(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_not_of(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_last_not_of(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_not_of(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_not_of(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_not_of(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find_first_not_of(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::at(unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::copy(wchar_t*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::find(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::rfind(wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::rfind(wchar_t const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::rfind(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::rfind(wchar_t, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::substr(unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::compare(unsigned long, unsigned long, wchar_t const*) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::compare(unsigned long, unsigned long, wchar_t const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::compare(unsigned long, unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::compare(unsigned long, unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_M_check(unsigned long, char const*) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_M_limit(unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::operator[](unsigned long) const(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_S_construct(unsigned long, wchar_t, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_M_replace_safe(unsigned long, unsigned long, wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::at(unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_Rep::_M_clone(allocator<wchar_t> const&, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_Rep::_S_create(unsigned long, unsigned long, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::erase(unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::append(wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::append(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::append(unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::assign(wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::assign(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::assign(unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(__gnu_cxx::__normal_iterator<wchar_t*, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >, unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(unsigned long, wchar_t const*)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(unsigned long, wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::insert(unsigned long, unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::resize(unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::resize(unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >, wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(__gnu_cxx::__normal_iterator<wchar_t*, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >, __gnu_cxx::__normal_iterator<wchar_t*, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > >, unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(unsigned long, unsigned long, wchar_t const*)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(unsigned long, unsigned long, wchar_t const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(unsigned long, unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(unsigned long, unsigned long, basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::replace(unsigned long, unsigned long, unsigned long, wchar_t)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::reserve(unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::_M_mutate(unsigned long, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(wchar_t const*, unsigned long, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(unsigned long, wchar_t, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(wchar_t const*, unsigned long, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > const&, unsigned long, unsigned long, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::basic_string(unsigned long, wchar_t, allocator<wchar_t> const&)(GLIBCXX_3.4) [1]
basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> >::operator[](unsigned long)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.25. Class istreambuf_iterator<wchar_t, char_traits<wchar_t> >


7.1.25.1. Interfaces for Class istreambuf_iterator<wchar_t, char_traits<wchar_t> >

No external methods are defined for libstdcxx - Class std::istreambuf_iterator<wchar_t, std::char_traits<wchar_t> >


7.1.26. Class istreambuf_iterator<char, char_traits<char> >


7.1.26.1. Interfaces for Class istreambuf_iterator<char, char_traits<char> >

No external methods are defined for libstdcxx - Class std::istreambuf_iterator<char, std::char_traits<char> >


7.1.27. Class gslice


7.1.27.2. Interfaces for Class gslice

An LSB conforming implementation shall provide the architecture specific methods for Class std::gslice specified in Table 7-4, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-4. libstdcxx - Class gslice Function Interfaces

gslice::_Indexer::_Indexer(unsigned long, valarray<unsigned long> const&, valarray<unsigned long> const&)(GLIBCXX_3.4) [1]
gslice::_Indexer::_Indexer(unsigned long, valarray<unsigned long> const&, valarray<unsigned long> const&)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.28. Class __basic_file<char>


7.1.28.2. Interfaces for Class __basic_file<char>

An LSB conforming implementation shall provide the architecture specific methods for Class std::__basic_file<char> specified in Table 7-5, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-5. libstdcxx - Class __basic_file<char> Function Interfaces

__basic_file<char>::xsgetn(char*, long)(GLIBCXX_3.4) [1]
__basic_file<char>::xsputn(char const*, long)(GLIBCXX_3.4) [1]
__basic_file<char>::seekoff(long, _Ios_Seekdir)(GLIBCXX_3.4) [1]
__basic_file<char>::xsputn_2(char const*, long, char const*, long)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.30. Class valarray<unsigned int>


7.1.30.2. Interfaces for Class valarray<unsigned int>

An LSB conforming implementation shall provide the architecture specific methods for Class std::valarray<unsigned int> specified in Table 7-6, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-6. libstdcxx - Class valarray<unsigned int> Function Interfaces

valarray<unsigned long>::size() const(GLIBCXX_3.4) [1]
valarray<unsigned long>::valarray(valarray<unsigned long> const&)(GLIBCXX_3.4) [1]
valarray<unsigned long>::valarray(unsigned long)(GLIBCXX_3.4) [1]
valarray<unsigned long>::valarray(valarray<unsigned long> const&)(GLIBCXX_3.4) [1]
valarray<unsigned long>::valarray(unsigned long)(GLIBCXX_3.4) [1]
valarray<unsigned long>::~valarray()(GLIBCXX_3.4) [1]
valarray<unsigned long>::~valarray()(GLIBCXX_3.4) [1]
valarray<unsigned long>::operator[](unsigned long)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.31. Class basic_string<char, char_traits<char>, allocator<char> >


7.1.31.1. Interfaces for Class basic_string<char, char_traits<char>, allocator<char> >

An LSB conforming implementation shall provide the architecture specific methods for Class std::basic_string<char, std::char_traits<char>, std::allocator<char> > specified in Table 7-7, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-7. libstdcxx - Class basic_string<char, char_traits<char>, allocator<char> > Function Interfaces

basic_string<char, char_traits<char>, allocator<char> >::find_last_of(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_of(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_of(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_of(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_of(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_of(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_of(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_of(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_not_of(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_not_of(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_not_of(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_last_not_of(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_not_of(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_not_of(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_not_of(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find_first_not_of(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::at(unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::copy(char*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::find(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::rfind(char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::rfind(char const*, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::rfind(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::rfind(char, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::substr(unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::compare(unsigned long, unsigned long, char const*) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::compare(unsigned long, unsigned long, char const*, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::compare(unsigned long, unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::compare(unsigned long, unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_M_check(unsigned long, char const*) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_M_limit(unsigned long, unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::operator[](unsigned long) const(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_S_construct(unsigned long, char, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_M_replace_safe(unsigned long, unsigned long, char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::at(unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_Rep::_M_clone(allocator<char> const&, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_Rep::_S_create(unsigned long, unsigned long, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::erase(unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::append(char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::append(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::append(unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::assign(char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::assign(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::assign(unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(__gnu_cxx::__normal_iterator<char*, basic_string<char, char_traits<char>, allocator<char> > >, unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(unsigned long, char const*)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(unsigned long, char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::insert(unsigned long, unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::resize(unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::resize(unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(__gnu_cxx::__normal_iterator<char*, basic_string<char, char_traits<char>, allocator<char> > >, __gnu_cxx::__normal_iterator<char*, basic_string<char, char_traits<char>, allocator<char> > >, char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(__gnu_cxx::__normal_iterator<char*, basic_string<char, char_traits<char>, allocator<char> > >, __gnu_cxx::__normal_iterator<char*, basic_string<char, char_traits<char>, allocator<char> > >, unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(unsigned long, unsigned long, char const*)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(unsigned long, unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(unsigned long, unsigned long, basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::replace(unsigned long, unsigned long, unsigned long, char)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::reserve(unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::_M_mutate(unsigned long, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(char const*, unsigned long, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(unsigned long, char, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(char const*, unsigned long, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(basic_string<char, char_traits<char>, allocator<char> > const&, unsigned long, unsigned long, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::basic_string(unsigned long, char, allocator<char> const&)(GLIBCXX_3.4) [1]
basic_string<char, char_traits<char>, allocator<char> >::operator[](unsigned long)(GLIBCXX_3.4) [1]

Referenced Specification(s)


7.1.32. Class locale


7.1.32.1. Interfaces for Class locale

No external methods are defined for libstdcxx - Class std::locale


7.1.33. Class __cxxabiv1::__enum_type_info


7.1.33.1. Class data for __cxxabiv1::__enum_type_info

The virtual table for the __cxxabiv1::__enum_type_info class is described by Table 7-8

Table 7-8. Primary vtable for __cxxabiv1::__enum_type_info

Base Offset0
Virtual Base Offset0
RTTItypeinfo 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 7-9

Table 7-9. typeinfo for __cxxabiv1::__enum_type_info

Base Vtablevtable for __cxxabiv1::__si_class_type_info
Nametypeinfo name for __cxxabiv1::__enum_type_info

7.1.33.2. Interfaces for Class __cxxabiv1::__enum_type_info

No external methods are defined for libstdcxx - Class __cxxabiv1::__enum_type_info


7.1.34. Class __cxxabiv1::__array_type_info


7.1.34.1. Class data for __cxxabiv1::__array_type_info

The virtual table for the __cxxabiv1::__array_type_info class is described by Table 7-10

Table 7-10. Primary vtable for __cxxabiv1::__array_type_info

Base Offset0
Virtual Base Offset0
RTTItypeinfo 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 7-11

Table 7-11. typeinfo for __cxxabiv1::__array_type_info

Base Vtablevtable for __cxxabiv1::__si_class_type_info
Nametypeinfo name for __cxxabiv1::__array_type_info

7.1.34.2. Interfaces for Class __cxxabiv1::__array_type_info

No external methods are defined for libstdcxx - Class __cxxabiv1::__array_type_info


7.1.35. Class __cxxabiv1::__class_type_info


7.1.35.1. Class data for __cxxabiv1::__class_type_info

The virtual table for the __cxxabiv1::__class_type_info class is described by Table 7-12

Table 7-12. Primary vtable for __cxxabiv1::__class_type_info

Base Offset0
Virtual Base Offset0
RTTItypeinfo 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
vfunc[7]:__cxxabiv1::__class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const
vfunc[8]:__cxxabiv1::__class_type_info::__do_find_public_src(long, void const*, __cxxabiv1::__class_type_info const*, void const*) const

The Run Time Type Information for the __cxxabiv1::__class_type_info class is described by Table 7-13

Table 7-13. typeinfo for __cxxabiv1::__class_type_info

Base Vtablevtable for __cxxabiv1::__si_class_type_info
Nametypeinfo name for __cxxabiv1::__class_type_info

7.1.35.2. Interfaces for Class __cxxabiv1::__class_type_info

An LSB conforming implementation shall provide the architecture specific methods for Class __cxxabiv1::__class_type_info specified in Table 7-14, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-14. libstdcxx - Class __cxxabiv1::__class_type_info Function Interfaces

__cxxabiv1::__class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const(CXXABI_1.3) [1]
__cxxabiv1::__class_type_info::__do_find_public_src(long, void const*, __cxxabiv1::__class_type_info const*, void const*) const(CXXABI_1.3) [1]

Referenced Specification(s)


7.1.36. Class __cxxabiv1::__pbase_type_info


7.1.36.1. Class data for __cxxabiv1::__pbase_type_info

The virtual table for the __cxxabiv1::__pbase_type_info class is described by Table 7-15

Table 7-15. Primary vtable for __cxxabiv1::__pbase_type_info

Base Offset0
Virtual Base Offset0
RTTItypeinfo 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::__pbase_type_info const*, void**, unsigned int) const

The Run Time Type Information for the __cxxabiv1::__pbase_type_info class is described by Table 7-16

Table 7-16. typeinfo for __cxxabiv1::__pbase_type_info

Base Vtablevtable for __cxxabiv1::__si_class_type_info
Nametypeinfo name for __cxxabiv1::__pbase_type_info

7.1.36.2. Interfaces for Class __cxxabiv1::__pbase_type_info

No external methods are defined for libstdcxx - Class __cxxabiv1::__pbase_type_info


7.1.37. Class __cxxabiv1::__pointer_type_info


7.1.37.1. Class data for __cxxabiv1::__pointer_type_info

The virtual table for the __cxxabiv1::__pointer_type_info class is described by Table 7-17

Table 7-17. Primary vtable for __cxxabiv1::__pointer_type_info

Base Offset0
Virtual Base Offset0
RTTItypeinfo 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 7-18

Table 7-18. typeinfo for __cxxabiv1::__pointer_type_info

Base Vtablevtable for __cxxabiv1::__si_class_type_info
Nametypeinfo name for __cxxabiv1::__pointer_type_info

7.1.37.2. Interfaces for Class __cxxabiv1::__pointer_type_info

No external methods are defined for libstdcxx - Class __cxxabiv1::__pointer_type_info


7.1.38. Class __cxxabiv1::__function_type_info


7.1.38.1. Class data for __cxxabiv1::__function_type_info

The virtual table for the __cxxabiv1::__function_type_info class is described by Table 7-19

Table 7-19. Primary vtable for __cxxabiv1::__function_type_info

Base Offset0</