GAS LISTING /tmp/cc3o2J9C.s 			page 1


   1              		.file	"global.cpp"
   2              		.text
   3              	.Ltext0:
   4              		.section	.text._ZN9my_structD2Ev,"axG",@progbits,_ZN9my_structD5Ev,comdat
   5              		.align 2
   6              		.weak	_ZN9my_structD2Ev
   8              	_ZN9my_structD2Ev:
   9              	.LFB1251:
  10              		.file 1 "global.cpp"
   1:global.cpp    **** #include <iostream>
   2:global.cpp    **** 
   3:global.cpp    **** using namespace std;
   4:global.cpp    **** 
   5:global.cpp    **** struct my_struct {
  11              		.loc 1 5 0
  12              		.cfi_startproc
  13              	.LVL0:
  14 0000 4883EC08 		subq	$8, %rsp
  15              		.cfi_def_cfa_offset 16
  16              	.LBB2:
  17              		.loc 1 5 0
  18 0004 4883C710 		addq	$16, %rdi
  19              	.LVL1:
  20 0008 E8000000 		call	_ZNSsD1Ev
  20      00
  21              	.LVL2:
  22              	.LBE2:
  23 000d 4883C408 		addq	$8, %rsp
  24              		.cfi_def_cfa_offset 8
  25 0011 C3       		ret
  26              		.cfi_endproc
  27              	.LFE1251:
  29              		.weak	_ZN9my_structD1Ev
  30              		.set	_ZN9my_structD1Ev,_ZN9my_structD2Ev
  31              		.text
  32              		.align 2
  33              		.globl	_ZN9my_structC2ESsi
  35              	_ZN9my_structC2ESsi:
  36              	.LFB1244:
   6:global.cpp    ****     int _x, _y, _z;
   7:global.cpp    ****     string _name;
   8:global.cpp    ****     my_struct(string name, int val);
   9:global.cpp    **** };
  10:global.cpp    **** 
  11:global.cpp    **** my_struct::my_struct(string name, int val) :
  37              		.loc 1 11 0
  38              		.cfi_startproc
  39              	.LVL3:
  40 0000 4883EC08 		subq	$8, %rsp
  41              		.cfi_def_cfa_offset 16
  42              	.LBB3:
  12:global.cpp    ****     _x(val), _y(val), _z(val), _name(name)
  43              		.loc 1 12 0
  44 0004 8917     		movl	%edx, (%rdi)
  45 0006 895704   		movl	%edx, 4(%rdi)
  46 0009 895708   		movl	%edx, 8(%rdi)
  47 000c 4883C710 		addq	$16, %rdi
GAS LISTING /tmp/cc3o2J9C.s 			page 2


  48              	.LVL4:
  49 0010 E8000000 		call	_ZNSsC1ERKSs
  49      00
  50              	.LVL5:
  51              	.LBE3:
  13:global.cpp    **** {}
  52              		.loc 1 13 0
  53 0015 4883C408 		addq	$8, %rsp
  54              		.cfi_def_cfa_offset 8
  55 0019 C3       		ret
  56              		.cfi_endproc
  57              	.LFE1244:
  59              		.globl	_ZN9my_structC1ESsi
  60              		.set	_ZN9my_structC1ESsi,_ZN9my_structC2ESsi
  61              		.section	.text._ZN9my_structC2ERKS_,"axG",@progbits,_ZN9my_structC5ERKS_,comdat
  62              		.align 2
  63              		.weak	_ZN9my_structC2ERKS_
  65              	_ZN9my_structC2ERKS_:
  66              	.LFB1248:
   5:global.cpp    ****     int _x, _y, _z;
  67              		.loc 1 5 0
  68              		.cfi_startproc
  69              	.LVL6:
  70 0000 4883EC08 		subq	$8, %rsp
  71              		.cfi_def_cfa_offset 16
  72              	.LBB4:
   5:global.cpp    ****     int _x, _y, _z;
  73              		.loc 1 5 0
  74 0004 8B06     		movl	(%rsi), %eax
  75 0006 8907     		movl	%eax, (%rdi)
  76 0008 8B4604   		movl	4(%rsi), %eax
  77 000b 894704   		movl	%eax, 4(%rdi)
  78 000e 8B4608   		movl	8(%rsi), %eax
  79 0011 894708   		movl	%eax, 8(%rdi)
  80 0014 4883C610 		addq	$16, %rsi
  81 0018 4883C710 		addq	$16, %rdi
  82              	.LVL7:
  83 001c E8000000 		call	_ZNSsC1ERKSs
  83      00
  84              	.LVL8:
  85              	.LBE4:
  86 0021 4883C408 		addq	$8, %rsp
  87              		.cfi_def_cfa_offset 8
  88 0025 C3       		ret
  89              		.cfi_endproc
  90              	.LFE1248:
  92              		.weak	_ZN9my_structC1ERKS_
  93              		.set	_ZN9my_structC1ERKS_,_ZN9my_structC2ERKS_
  94              		.section	.rodata.str1.1,"aMS",@progbits,1
  95              	.LC0:
  96 0000 676C6F62 		.string	"globalTest "
  96      616C5465 
  96      73742000 
  97              	.LC1:
  98 000c 2000     		.string	" "
  99              		.text
 100              		.globl	_Z6globalv
GAS LISTING /tmp/cc3o2J9C.s 			page 3


 102              	_Z6globalv:
 103              	.LFB1246:
  14:global.cpp    **** 
  15:global.cpp    **** // Globals.
  16:global.cpp    **** int global_int = 4;
  17:global.cpp    **** string global_string = "test";
  18:global.cpp    **** my_struct global_struct(global_string + "bob", 37);
  19:global.cpp    **** 
  20:global.cpp    **** void global() {
 104              		.loc 1 20 0
 105              		.cfi_startproc
 106              		.cfi_personality 0x3,__gxx_personality_v0
 107              		.cfi_lsda 0x3,.LLSDA1246
 108 001a 53       		pushq	%rbx
 109              		.cfi_def_cfa_offset 16
 110              		.cfi_offset 3, -16
 111 001b 4883EC30 		subq	$48, %rsp
 112              		.cfi_def_cfa_offset 64
 113              	.LBB5:
  21:global.cpp    ****     int local_int = global_int;
 114              		.loc 1 21 0
 115 001f 8B1D0000 		movl	global_int(%rip), %ebx
 115      0000
 116              	.LVL9:
  22:global.cpp    ****     string local_string(global_string);
 117              		.loc 1 22 0
 118 0025 BE000000 		movl	$global_string, %esi
 118      00
 119 002a 4889E7   		movq	%rsp, %rdi
 120              	.LEHB0:
 121 002d E8000000 		call	_ZNSsC1ERKSs
 121      00
 122              	.LEHE0:
 123              	.LVL10:
  23:global.cpp    ****     my_struct local_struct(global_struct);
 124              		.loc 1 23 0
 125 0032 BE000000 		movl	$global_struct, %esi
 125      00
 126 0037 488D7C24 		leaq	16(%rsp), %rdi
 126      10
 127              	.LEHB1:
 128 003c E8000000 		call	_ZN9my_structC1ERKS_
 128      00
 129              	.LEHE1:
 130              	.LVL11:
  24:global.cpp    ****     std::cout << "globalTest " << local_int << " " << local_string << std::endl;
 131              		.loc 1 24 0
 132 0041 BE000000 		movl	$.LC0, %esi
 132      00
 133 0046 BF000000 		movl	$_ZSt4cout, %edi
 133      00
 134              	.LEHB2:
 135 004b E8000000 		call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
 135      00
 136              	.LVL12:
 137 0050 89DE     		movl	%ebx, %esi
 138 0052 4889C7   		movq	%rax, %rdi
GAS LISTING /tmp/cc3o2J9C.s 			page 4


 139 0055 E8000000 		call	_ZNSolsEi
 139      00
 140              	.LVL13:
 141              		.loc 1 24 0 is_stmt 0 discriminator 1
 142 005a BE000000 		movl	$.LC1, %esi
 142      00
 143 005f 4889C7   		movq	%rax, %rdi
 144 0062 E8000000 		call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
 144      00
 145              	.LVL14:
 146 0067 4889E6   		movq	%rsp, %rsi
 147 006a 4889C7   		movq	%rax, %rdi
 148 006d E8000000 		call	_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E
 148      00
 149              	.LVL15:
 150 0072 BE000000 		movl	$_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_, %esi
 150      00
 151 0077 4889C7   		movq	%rax, %rdi
 152 007a E8000000 		call	_ZNSolsEPFRSoS_E
 152      00
 153              	.LEHE2:
 154              	.LVL16:
  23:global.cpp    ****     my_struct local_struct(global_struct);
 155              		.loc 1 23 0 is_stmt 1
 156 007f 488D7C24 		leaq	16(%rsp), %rdi
 156      10
 157 0084 E8000000 		call	_ZN9my_structD1Ev
 157      00
 158              	.LVL17:
 159              		.loc 1 24 0
 160 0089 4889E7   		movq	%rsp, %rdi
 161 008c E8000000 		call	_ZNSsD1Ev
 161      00
 162              	.LVL18:
 163 0091 EB22     		jmp	.L12
 164              	.L11:
 165 0093 4889C3   		movq	%rax, %rbx
 166              	.LVL19:
  23:global.cpp    ****     my_struct local_struct(global_struct);
 167              		.loc 1 23 0
 168 0096 488D7C24 		leaq	16(%rsp), %rdi
 168      10
 169 009b E8000000 		call	_ZN9my_structD1Ev
 169      00
 170              	.LVL20:
 171 00a0 EB03     		jmp	.L9
 172              	.LVL21:
 173              	.L10:
 174 00a2 4889C3   		movq	%rax, %rbx
 175              	.LVL22:
 176              	.L9:
 177              		.loc 1 24 0
 178 00a5 4889E7   		movq	%rsp, %rdi
 179 00a8 E8000000 		call	_ZNSsD1Ev
 179      00
 180              	.LVL23:
 181 00ad 4889DF   		movq	%rbx, %rdi
GAS LISTING /tmp/cc3o2J9C.s 			page 5


 182              	.LEHB3:
 183 00b0 E8000000 		call	_Unwind_Resume
 183      00
 184              	.LEHE3:
 185              	.LVL24:
 186              	.L12:
 187              	.LBE5:
  25:global.cpp    **** }
 188              		.loc 1 25 0
 189 00b5 4883C430 		addq	$48, %rsp
 190              		.cfi_def_cfa_offset 16
 191 00b9 5B       		popq	%rbx
 192              		.cfi_def_cfa_offset 8
 193              	.LVL25:
 194 00ba C3       		ret
 195              		.cfi_endproc
 196              	.LFE1246:
 197              		.globl	__gxx_personality_v0
 198              		.section	.gcc_except_table,"a",@progbits
 199              	.LLSDA1246:
 200 0000 FF       		.byte	0xff
 201 0001 FF       		.byte	0xff
 202 0002 01       		.byte	0x1
 203 0003 12       		.uleb128 .LLSDACSE1246-.LLSDACSB1246
 204              	.LLSDACSB1246:
 205 0004 13       		.uleb128 .LEHB0-.LFB1246
 206 0005 05       		.uleb128 .LEHE0-.LEHB0
 207 0006 00       		.uleb128 0
 208 0007 00       		.uleb128 0
 209 0008 22       		.uleb128 .LEHB1-.LFB1246
 210 0009 05       		.uleb128 .LEHE1-.LEHB1
 211 000a 8801     		.uleb128 .L10-.LFB1246
 212 000c 00       		.uleb128 0
 213 000d 31       		.uleb128 .LEHB2-.LFB1246
 214 000e 34       		.uleb128 .LEHE2-.LEHB2
 215 000f 79       		.uleb128 .L11-.LFB1246
 216 0010 00       		.uleb128 0
 217 0011 9601     		.uleb128 .LEHB3-.LFB1246
 218 0013 05       		.uleb128 .LEHE3-.LEHB3
 219 0014 00       		.uleb128 0
 220 0015 00       		.uleb128 0
 221              	.LLSDACSE1246:
 222              		.text
 224              		.section	.text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_,"axG",@progbits,_ZStplIcSt11
 225              		.weak	_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_
 227              	_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_:
 228              	.LFB1313:
 229              		.file 2 "/usr/include/c++/4.8/bits/basic_string.h"
   1:/usr/include/c++/4.8/bits/basic_string.h **** // Components for manipulating sequences of characters -*- C++ -*-
   2:/usr/include/c++/4.8/bits/basic_string.h **** 
   3:/usr/include/c++/4.8/bits/basic_string.h **** // Copyright (C) 1997-2013 Free Software Foundation, Inc.
   4:/usr/include/c++/4.8/bits/basic_string.h **** //
   5:/usr/include/c++/4.8/bits/basic_string.h **** // This file is part of the GNU ISO C++ Library.  This library is free
   6:/usr/include/c++/4.8/bits/basic_string.h **** // software; you can redistribute it and/or modify it under the
   7:/usr/include/c++/4.8/bits/basic_string.h **** // terms of the GNU General Public License as published by the
   8:/usr/include/c++/4.8/bits/basic_string.h **** // Free Software Foundation; either version 3, or (at your option)
   9:/usr/include/c++/4.8/bits/basic_string.h **** // any later version.
GAS LISTING /tmp/cc3o2J9C.s 			page 6


  10:/usr/include/c++/4.8/bits/basic_string.h **** 
  11:/usr/include/c++/4.8/bits/basic_string.h **** // This library is distributed in the hope that it will be useful,
  12:/usr/include/c++/4.8/bits/basic_string.h **** // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13:/usr/include/c++/4.8/bits/basic_string.h **** // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14:/usr/include/c++/4.8/bits/basic_string.h **** // GNU General Public License for more details.
  15:/usr/include/c++/4.8/bits/basic_string.h **** 
  16:/usr/include/c++/4.8/bits/basic_string.h **** // Under Section 7 of GPL version 3, you are granted additional
  17:/usr/include/c++/4.8/bits/basic_string.h **** // permissions described in the GCC Runtime Library Exception, version
  18:/usr/include/c++/4.8/bits/basic_string.h **** // 3.1, as published by the Free Software Foundation.
  19:/usr/include/c++/4.8/bits/basic_string.h **** 
  20:/usr/include/c++/4.8/bits/basic_string.h **** // You should have received a copy of the GNU General Public License and
  21:/usr/include/c++/4.8/bits/basic_string.h **** // a copy of the GCC Runtime Library Exception along with this program;
  22:/usr/include/c++/4.8/bits/basic_string.h **** // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  23:/usr/include/c++/4.8/bits/basic_string.h **** // <http://www.gnu.org/licenses/>.
  24:/usr/include/c++/4.8/bits/basic_string.h **** 
  25:/usr/include/c++/4.8/bits/basic_string.h **** /** @file bits/basic_string.h
  26:/usr/include/c++/4.8/bits/basic_string.h ****  *  This is an internal header file, included by other library headers.
  27:/usr/include/c++/4.8/bits/basic_string.h ****  *  Do not attempt to use it directly. @headername{string}
  28:/usr/include/c++/4.8/bits/basic_string.h ****  */
  29:/usr/include/c++/4.8/bits/basic_string.h **** 
  30:/usr/include/c++/4.8/bits/basic_string.h **** //
  31:/usr/include/c++/4.8/bits/basic_string.h **** // ISO C++ 14882: 21 Strings library
  32:/usr/include/c++/4.8/bits/basic_string.h **** //
  33:/usr/include/c++/4.8/bits/basic_string.h **** 
  34:/usr/include/c++/4.8/bits/basic_string.h **** #ifndef _BASIC_STRING_H
  35:/usr/include/c++/4.8/bits/basic_string.h **** #define _BASIC_STRING_H 1
  36:/usr/include/c++/4.8/bits/basic_string.h **** 
  37:/usr/include/c++/4.8/bits/basic_string.h **** #pragma GCC system_header
  38:/usr/include/c++/4.8/bits/basic_string.h **** 
  39:/usr/include/c++/4.8/bits/basic_string.h **** #include <ext/atomicity.h>
  40:/usr/include/c++/4.8/bits/basic_string.h **** #include <debug/debug.h>
  41:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
  42:/usr/include/c++/4.8/bits/basic_string.h **** #include <initializer_list>
  43:/usr/include/c++/4.8/bits/basic_string.h **** #endif
  44:/usr/include/c++/4.8/bits/basic_string.h **** 
  45:/usr/include/c++/4.8/bits/basic_string.h **** namespace std _GLIBCXX_VISIBILITY(default)
  46:/usr/include/c++/4.8/bits/basic_string.h **** {
  47:/usr/include/c++/4.8/bits/basic_string.h **** _GLIBCXX_BEGIN_NAMESPACE_VERSION
  48:/usr/include/c++/4.8/bits/basic_string.h **** 
  49:/usr/include/c++/4.8/bits/basic_string.h ****   /**
  50:/usr/include/c++/4.8/bits/basic_string.h ****    *  @class basic_string basic_string.h <string>
  51:/usr/include/c++/4.8/bits/basic_string.h ****    *  @brief  Managing sequences of characters and character-like objects.
  52:/usr/include/c++/4.8/bits/basic_string.h ****    *
  53:/usr/include/c++/4.8/bits/basic_string.h ****    *  @ingroup strings
  54:/usr/include/c++/4.8/bits/basic_string.h ****    *  @ingroup sequences
  55:/usr/include/c++/4.8/bits/basic_string.h ****    *
  56:/usr/include/c++/4.8/bits/basic_string.h ****    *  @tparam _CharT  Type of character
  57:/usr/include/c++/4.8/bits/basic_string.h ****    *  @tparam _Traits  Traits for character type, defaults to
  58:/usr/include/c++/4.8/bits/basic_string.h ****    *                   char_traits<_CharT>.
  59:/usr/include/c++/4.8/bits/basic_string.h ****    *  @tparam _Alloc  Allocator type, defaults to allocator<_CharT>.
  60:/usr/include/c++/4.8/bits/basic_string.h ****    *
  61:/usr/include/c++/4.8/bits/basic_string.h ****    *  Meets the requirements of a <a href="tables.html#65">container</a>, a
  62:/usr/include/c++/4.8/bits/basic_string.h ****    *  <a href="tables.html#66">reversible container</a>, and a
  63:/usr/include/c++/4.8/bits/basic_string.h ****    *  <a href="tables.html#67">sequence</a>.  Of the
  64:/usr/include/c++/4.8/bits/basic_string.h ****    *  <a href="tables.html#68">optional sequence requirements</a>, only
  65:/usr/include/c++/4.8/bits/basic_string.h ****    *  @c push_back, @c at, and @c %array access are supported.
  66:/usr/include/c++/4.8/bits/basic_string.h ****    *
GAS LISTING /tmp/cc3o2J9C.s 			page 7


  67:/usr/include/c++/4.8/bits/basic_string.h ****    *  @doctodo
  68:/usr/include/c++/4.8/bits/basic_string.h ****    *
  69:/usr/include/c++/4.8/bits/basic_string.h ****    *
  70:/usr/include/c++/4.8/bits/basic_string.h ****    *  Documentation?  What's that?
  71:/usr/include/c++/4.8/bits/basic_string.h ****    *  Nathan Myers <ncm@cantrip.org>.
  72:/usr/include/c++/4.8/bits/basic_string.h ****    *
  73:/usr/include/c++/4.8/bits/basic_string.h ****    *  A string looks like this:
  74:/usr/include/c++/4.8/bits/basic_string.h ****    *
  75:/usr/include/c++/4.8/bits/basic_string.h ****    *  @code
  76:/usr/include/c++/4.8/bits/basic_string.h ****    *                                        [_Rep]
  77:/usr/include/c++/4.8/bits/basic_string.h ****    *                                        _M_length
  78:/usr/include/c++/4.8/bits/basic_string.h ****    *   [basic_string<char_type>]            _M_capacity
  79:/usr/include/c++/4.8/bits/basic_string.h ****    *   _M_dataplus                          _M_refcount
  80:/usr/include/c++/4.8/bits/basic_string.h ****    *   _M_p ---------------->               unnamed array of char_type
  81:/usr/include/c++/4.8/bits/basic_string.h ****    *  @endcode
  82:/usr/include/c++/4.8/bits/basic_string.h ****    *
  83:/usr/include/c++/4.8/bits/basic_string.h ****    *  Where the _M_p points to the first character in the string, and
  84:/usr/include/c++/4.8/bits/basic_string.h ****    *  you cast it to a pointer-to-_Rep and subtract 1 to get a
  85:/usr/include/c++/4.8/bits/basic_string.h ****    *  pointer to the header.
  86:/usr/include/c++/4.8/bits/basic_string.h ****    *
  87:/usr/include/c++/4.8/bits/basic_string.h ****    *  This approach has the enormous advantage that a string object
  88:/usr/include/c++/4.8/bits/basic_string.h ****    *  requires only one allocation.  All the ugliness is confined
  89:/usr/include/c++/4.8/bits/basic_string.h ****    *  within a single %pair of inline functions, which each compile to
  90:/usr/include/c++/4.8/bits/basic_string.h ****    *  a single @a add instruction: _Rep::_M_data(), and
  91:/usr/include/c++/4.8/bits/basic_string.h ****    *  string::_M_rep(); and the allocation function which gets a
  92:/usr/include/c++/4.8/bits/basic_string.h ****    *  block of raw bytes and with room enough and constructs a _Rep
  93:/usr/include/c++/4.8/bits/basic_string.h ****    *  object at the front.
  94:/usr/include/c++/4.8/bits/basic_string.h ****    *
  95:/usr/include/c++/4.8/bits/basic_string.h ****    *  The reason you want _M_data pointing to the character %array and
  96:/usr/include/c++/4.8/bits/basic_string.h ****    *  not the _Rep is so that the debugger can see the string
  97:/usr/include/c++/4.8/bits/basic_string.h ****    *  contents. (Probably we should add a non-inline member to get
  98:/usr/include/c++/4.8/bits/basic_string.h ****    *  the _Rep for the debugger to use, so users can check the actual
  99:/usr/include/c++/4.8/bits/basic_string.h ****    *  string length.)
 100:/usr/include/c++/4.8/bits/basic_string.h ****    *
 101:/usr/include/c++/4.8/bits/basic_string.h ****    *  Note that the _Rep object is a POD so that you can have a
 102:/usr/include/c++/4.8/bits/basic_string.h ****    *  static <em>empty string</em> _Rep object already @a constructed before
 103:/usr/include/c++/4.8/bits/basic_string.h ****    *  static constructors have run.  The reference-count encoding is
 104:/usr/include/c++/4.8/bits/basic_string.h ****    *  chosen so that a 0 indicates one reference, so you never try to
 105:/usr/include/c++/4.8/bits/basic_string.h ****    *  destroy the empty-string _Rep object.
 106:/usr/include/c++/4.8/bits/basic_string.h ****    *
 107:/usr/include/c++/4.8/bits/basic_string.h ****    *  All but the last paragraph is considered pretty conventional
 108:/usr/include/c++/4.8/bits/basic_string.h ****    *  for a C++ string implementation.
 109:/usr/include/c++/4.8/bits/basic_string.h ****   */
 110:/usr/include/c++/4.8/bits/basic_string.h ****   // 21.3  Template class basic_string
 111:/usr/include/c++/4.8/bits/basic_string.h ****   template<typename _CharT, typename _Traits, typename _Alloc>
 112:/usr/include/c++/4.8/bits/basic_string.h ****     class basic_string
 113:/usr/include/c++/4.8/bits/basic_string.h ****     {
 114:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type;
 115:/usr/include/c++/4.8/bits/basic_string.h **** 
 116:/usr/include/c++/4.8/bits/basic_string.h ****       // Types:
 117:/usr/include/c++/4.8/bits/basic_string.h ****     public:
 118:/usr/include/c++/4.8/bits/basic_string.h ****       typedef _Traits					    traits_type;
 119:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _Traits::char_type		    value_type;
 120:/usr/include/c++/4.8/bits/basic_string.h ****       typedef _Alloc					    allocator_type;
 121:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::size_type	    size_type;
 122:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::difference_type   difference_type;
 123:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::reference	    reference;
GAS LISTING /tmp/cc3o2J9C.s 			page 8


 124:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::const_reference   const_reference;
 125:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::pointer	    pointer;
 126:/usr/include/c++/4.8/bits/basic_string.h ****       typedef typename _CharT_alloc_type::const_pointer	    const_pointer;
 127:/usr/include/c++/4.8/bits/basic_string.h ****       typedef __gnu_cxx::__normal_iterator<pointer, basic_string>  iterator;
 128:/usr/include/c++/4.8/bits/basic_string.h ****       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
 129:/usr/include/c++/4.8/bits/basic_string.h ****                                                             const_iterator;
 130:/usr/include/c++/4.8/bits/basic_string.h ****       typedef std::reverse_iterator<const_iterator>	const_reverse_iterator;
 131:/usr/include/c++/4.8/bits/basic_string.h ****       typedef std::reverse_iterator<iterator>		    reverse_iterator;
 132:/usr/include/c++/4.8/bits/basic_string.h **** 
 133:/usr/include/c++/4.8/bits/basic_string.h ****     private:
 134:/usr/include/c++/4.8/bits/basic_string.h ****       // _Rep: string representation
 135:/usr/include/c++/4.8/bits/basic_string.h ****       //   Invariants:
 136:/usr/include/c++/4.8/bits/basic_string.h ****       //   1. String really contains _M_length + 1 characters: due to 21.3.4
 137:/usr/include/c++/4.8/bits/basic_string.h ****       //      must be kept null-terminated.
 138:/usr/include/c++/4.8/bits/basic_string.h ****       //   2. _M_capacity >= _M_length
 139:/usr/include/c++/4.8/bits/basic_string.h ****       //      Allocated memory is always (_M_capacity + 1) * sizeof(_CharT).
 140:/usr/include/c++/4.8/bits/basic_string.h ****       //   3. _M_refcount has three states:
 141:/usr/include/c++/4.8/bits/basic_string.h ****       //      -1: leaked, one reference, no ref-copies allowed, non-const.
 142:/usr/include/c++/4.8/bits/basic_string.h ****       //       0: one reference, non-const.
 143:/usr/include/c++/4.8/bits/basic_string.h ****       //     n>0: n + 1 references, operations require a lock, const.
 144:/usr/include/c++/4.8/bits/basic_string.h ****       //   4. All fields==0 is an empty string, given the extra storage
 145:/usr/include/c++/4.8/bits/basic_string.h ****       //      beyond-the-end for a null terminator; thus, the shared
 146:/usr/include/c++/4.8/bits/basic_string.h ****       //      empty string representation needs no constructor.
 147:/usr/include/c++/4.8/bits/basic_string.h **** 
 148:/usr/include/c++/4.8/bits/basic_string.h ****       struct _Rep_base
 149:/usr/include/c++/4.8/bits/basic_string.h ****       {
 150:/usr/include/c++/4.8/bits/basic_string.h **** 	size_type		_M_length;
 151:/usr/include/c++/4.8/bits/basic_string.h **** 	size_type		_M_capacity;
 152:/usr/include/c++/4.8/bits/basic_string.h **** 	_Atomic_word		_M_refcount;
 153:/usr/include/c++/4.8/bits/basic_string.h ****       };
 154:/usr/include/c++/4.8/bits/basic_string.h **** 
 155:/usr/include/c++/4.8/bits/basic_string.h ****       struct _Rep : _Rep_base
 156:/usr/include/c++/4.8/bits/basic_string.h ****       {
 157:/usr/include/c++/4.8/bits/basic_string.h **** 	// Types:
 158:/usr/include/c++/4.8/bits/basic_string.h **** 	typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc;
 159:/usr/include/c++/4.8/bits/basic_string.h **** 
 160:/usr/include/c++/4.8/bits/basic_string.h **** 	// (Public) Data members:
 161:/usr/include/c++/4.8/bits/basic_string.h **** 
 162:/usr/include/c++/4.8/bits/basic_string.h **** 	// The maximum number of individual char_type elements of an
 163:/usr/include/c++/4.8/bits/basic_string.h **** 	// individual string is determined by _S_max_size. This is the
 164:/usr/include/c++/4.8/bits/basic_string.h **** 	// value that will be returned by max_size().  (Whereas npos
 165:/usr/include/c++/4.8/bits/basic_string.h **** 	// is the maximum number of bytes the allocator can allocate.)
 166:/usr/include/c++/4.8/bits/basic_string.h **** 	// If one was to divvy up the theoretical largest size string,
 167:/usr/include/c++/4.8/bits/basic_string.h **** 	// with a terminating character and m _CharT elements, it'd
 168:/usr/include/c++/4.8/bits/basic_string.h **** 	// look like this:
 169:/usr/include/c++/4.8/bits/basic_string.h **** 	// npos = sizeof(_Rep) + (m * sizeof(_CharT)) + sizeof(_CharT)
 170:/usr/include/c++/4.8/bits/basic_string.h **** 	// Solving for m:
 171:/usr/include/c++/4.8/bits/basic_string.h **** 	// m = ((npos - sizeof(_Rep))/sizeof(CharT)) - 1
 172:/usr/include/c++/4.8/bits/basic_string.h **** 	// In addition, this implementation quarters this amount.
 173:/usr/include/c++/4.8/bits/basic_string.h **** 	static const size_type	_S_max_size;
 174:/usr/include/c++/4.8/bits/basic_string.h **** 	static const _CharT	_S_terminal;
 175:/usr/include/c++/4.8/bits/basic_string.h **** 
 176:/usr/include/c++/4.8/bits/basic_string.h **** 	// The following storage is init'd to 0 by the linker, resulting
 177:/usr/include/c++/4.8/bits/basic_string.h ****         // (carefully) in an empty string with one reference.
 178:/usr/include/c++/4.8/bits/basic_string.h ****         static size_type _S_empty_rep_storage[];
 179:/usr/include/c++/4.8/bits/basic_string.h **** 
 180:/usr/include/c++/4.8/bits/basic_string.h ****         static _Rep&
GAS LISTING /tmp/cc3o2J9C.s 			page 9


 181:/usr/include/c++/4.8/bits/basic_string.h ****         _S_empty_rep()
 182:/usr/include/c++/4.8/bits/basic_string.h ****         { 
 183:/usr/include/c++/4.8/bits/basic_string.h **** 	  // NB: Mild hack to avoid strict-aliasing warnings.  Note that
 184:/usr/include/c++/4.8/bits/basic_string.h **** 	  // _S_empty_rep_storage is never modified and the punning should
 185:/usr/include/c++/4.8/bits/basic_string.h **** 	  // be reasonably safe in this case.
 186:/usr/include/c++/4.8/bits/basic_string.h **** 	  void* __p = reinterpret_cast<void*>(&_S_empty_rep_storage);
 187:/usr/include/c++/4.8/bits/basic_string.h **** 	  return *reinterpret_cast<_Rep*>(__p);
 188:/usr/include/c++/4.8/bits/basic_string.h **** 	}
 189:/usr/include/c++/4.8/bits/basic_string.h **** 
 190:/usr/include/c++/4.8/bits/basic_string.h ****         bool
 191:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_is_leaked() const
 192:/usr/include/c++/4.8/bits/basic_string.h ****         { return this->_M_refcount < 0; }
 193:/usr/include/c++/4.8/bits/basic_string.h **** 
 194:/usr/include/c++/4.8/bits/basic_string.h ****         bool
 195:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_is_shared() const
 196:/usr/include/c++/4.8/bits/basic_string.h ****         { return this->_M_refcount > 0; }
 197:/usr/include/c++/4.8/bits/basic_string.h **** 
 198:/usr/include/c++/4.8/bits/basic_string.h ****         void
 199:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_set_leaked()
 200:/usr/include/c++/4.8/bits/basic_string.h ****         { this->_M_refcount = -1; }
 201:/usr/include/c++/4.8/bits/basic_string.h **** 
 202:/usr/include/c++/4.8/bits/basic_string.h ****         void
 203:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_set_sharable()
 204:/usr/include/c++/4.8/bits/basic_string.h ****         { this->_M_refcount = 0; }
 205:/usr/include/c++/4.8/bits/basic_string.h **** 
 206:/usr/include/c++/4.8/bits/basic_string.h **** 	void
 207:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_set_length_and_sharable(size_type __n)
 208:/usr/include/c++/4.8/bits/basic_string.h **** 	{
 209:/usr/include/c++/4.8/bits/basic_string.h **** #if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
 210:/usr/include/c++/4.8/bits/basic_string.h **** 	  if (__builtin_expect(this != &_S_empty_rep(), false))
 211:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 212:/usr/include/c++/4.8/bits/basic_string.h **** 	    {
 213:/usr/include/c++/4.8/bits/basic_string.h **** 	      this->_M_set_sharable();  // One reference.
 214:/usr/include/c++/4.8/bits/basic_string.h **** 	      this->_M_length = __n;
 215:/usr/include/c++/4.8/bits/basic_string.h **** 	      traits_type::assign(this->_M_refdata()[__n], _S_terminal);
 216:/usr/include/c++/4.8/bits/basic_string.h **** 	      // grrr. (per 21.3.4)
 217:/usr/include/c++/4.8/bits/basic_string.h **** 	      // You cannot leave those LWG people alone for a second.
 218:/usr/include/c++/4.8/bits/basic_string.h **** 	    }
 219:/usr/include/c++/4.8/bits/basic_string.h **** 	}
 220:/usr/include/c++/4.8/bits/basic_string.h **** 
 221:/usr/include/c++/4.8/bits/basic_string.h **** 	_CharT*
 222:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_refdata() throw()
 223:/usr/include/c++/4.8/bits/basic_string.h **** 	{ return reinterpret_cast<_CharT*>(this + 1); }
 224:/usr/include/c++/4.8/bits/basic_string.h **** 
 225:/usr/include/c++/4.8/bits/basic_string.h **** 	_CharT*
 226:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2)
 227:/usr/include/c++/4.8/bits/basic_string.h **** 	{
 228:/usr/include/c++/4.8/bits/basic_string.h **** 	  return (!_M_is_leaked() && __alloc1 == __alloc2)
 229:/usr/include/c++/4.8/bits/basic_string.h **** 	          ? _M_refcopy() : _M_clone(__alloc1);
 230:/usr/include/c++/4.8/bits/basic_string.h **** 	}
 231:/usr/include/c++/4.8/bits/basic_string.h **** 
 232:/usr/include/c++/4.8/bits/basic_string.h **** 	// Create & Destroy
 233:/usr/include/c++/4.8/bits/basic_string.h **** 	static _Rep*
 234:/usr/include/c++/4.8/bits/basic_string.h **** 	_S_create(size_type, size_type, const _Alloc&);
 235:/usr/include/c++/4.8/bits/basic_string.h **** 
 236:/usr/include/c++/4.8/bits/basic_string.h **** 	void
 237:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_dispose(const _Alloc& __a)
GAS LISTING /tmp/cc3o2J9C.s 			page 10


 238:/usr/include/c++/4.8/bits/basic_string.h **** 	{
 239:/usr/include/c++/4.8/bits/basic_string.h **** #if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
 240:/usr/include/c++/4.8/bits/basic_string.h **** 	  if (__builtin_expect(this != &_S_empty_rep(), false))
 241:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 242:/usr/include/c++/4.8/bits/basic_string.h **** 	    {
 243:/usr/include/c++/4.8/bits/basic_string.h **** 	      // Be race-detector-friendly.  For more info see bits/c++config.
 244:/usr/include/c++/4.8/bits/basic_string.h **** 	      _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&this->_M_refcount);
 245:/usr/include/c++/4.8/bits/basic_string.h **** 	      if (__gnu_cxx::__exchange_and_add_dispatch(&this->_M_refcount,
 246:/usr/include/c++/4.8/bits/basic_string.h **** 							 -1) <= 0)
 247:/usr/include/c++/4.8/bits/basic_string.h **** 		{
 248:/usr/include/c++/4.8/bits/basic_string.h **** 		  _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&this->_M_refcount);
 249:/usr/include/c++/4.8/bits/basic_string.h **** 		  _M_destroy(__a);
 250:/usr/include/c++/4.8/bits/basic_string.h **** 		}
 251:/usr/include/c++/4.8/bits/basic_string.h **** 	    }
 252:/usr/include/c++/4.8/bits/basic_string.h **** 	}  // XXX MT
 253:/usr/include/c++/4.8/bits/basic_string.h **** 
 254:/usr/include/c++/4.8/bits/basic_string.h **** 	void
 255:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_destroy(const _Alloc&) throw();
 256:/usr/include/c++/4.8/bits/basic_string.h **** 
 257:/usr/include/c++/4.8/bits/basic_string.h **** 	_CharT*
 258:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_refcopy() throw()
 259:/usr/include/c++/4.8/bits/basic_string.h **** 	{
 260:/usr/include/c++/4.8/bits/basic_string.h **** #if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
 261:/usr/include/c++/4.8/bits/basic_string.h **** 	  if (__builtin_expect(this != &_S_empty_rep(), false))
 262:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 263:/usr/include/c++/4.8/bits/basic_string.h ****             __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 1);
 264:/usr/include/c++/4.8/bits/basic_string.h **** 	  return _M_refdata();
 265:/usr/include/c++/4.8/bits/basic_string.h **** 	}  // XXX MT
 266:/usr/include/c++/4.8/bits/basic_string.h **** 
 267:/usr/include/c++/4.8/bits/basic_string.h **** 	_CharT*
 268:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_clone(const _Alloc&, size_type __res = 0);
 269:/usr/include/c++/4.8/bits/basic_string.h ****       };
 270:/usr/include/c++/4.8/bits/basic_string.h **** 
 271:/usr/include/c++/4.8/bits/basic_string.h ****       // Use empty-base optimization: http://www.cantrip.org/emptyopt.html
 272:/usr/include/c++/4.8/bits/basic_string.h ****       struct _Alloc_hider : _Alloc
 273:/usr/include/c++/4.8/bits/basic_string.h ****       {
 274:/usr/include/c++/4.8/bits/basic_string.h **** 	_Alloc_hider(_CharT* __dat, const _Alloc& __a)
 275:/usr/include/c++/4.8/bits/basic_string.h **** 	: _Alloc(__a), _M_p(__dat) { }
 276:/usr/include/c++/4.8/bits/basic_string.h **** 
 277:/usr/include/c++/4.8/bits/basic_string.h **** 	_CharT* _M_p; // The actual data.
 278:/usr/include/c++/4.8/bits/basic_string.h ****       };
 279:/usr/include/c++/4.8/bits/basic_string.h **** 
 280:/usr/include/c++/4.8/bits/basic_string.h ****     public:
 281:/usr/include/c++/4.8/bits/basic_string.h ****       // Data Members (public):
 282:/usr/include/c++/4.8/bits/basic_string.h ****       // NB: This is an unsigned type, and thus represents the maximum
 283:/usr/include/c++/4.8/bits/basic_string.h ****       // size that the allocator can hold.
 284:/usr/include/c++/4.8/bits/basic_string.h ****       ///  Value returned by various member functions when they fail.
 285:/usr/include/c++/4.8/bits/basic_string.h ****       static const size_type	npos = static_cast<size_type>(-1);
 286:/usr/include/c++/4.8/bits/basic_string.h **** 
 287:/usr/include/c++/4.8/bits/basic_string.h ****     private:
 288:/usr/include/c++/4.8/bits/basic_string.h ****       // Data Members (private):
 289:/usr/include/c++/4.8/bits/basic_string.h ****       mutable _Alloc_hider	_M_dataplus;
 290:/usr/include/c++/4.8/bits/basic_string.h **** 
 291:/usr/include/c++/4.8/bits/basic_string.h ****       _CharT*
 292:/usr/include/c++/4.8/bits/basic_string.h ****       _M_data() const
 293:/usr/include/c++/4.8/bits/basic_string.h ****       { return  _M_dataplus._M_p; }
 294:/usr/include/c++/4.8/bits/basic_string.h **** 
GAS LISTING /tmp/cc3o2J9C.s 			page 11


 295:/usr/include/c++/4.8/bits/basic_string.h ****       _CharT*
 296:/usr/include/c++/4.8/bits/basic_string.h ****       _M_data(_CharT* __p)
 297:/usr/include/c++/4.8/bits/basic_string.h ****       { return (_M_dataplus._M_p = __p); }
 298:/usr/include/c++/4.8/bits/basic_string.h **** 
 299:/usr/include/c++/4.8/bits/basic_string.h ****       _Rep*
 300:/usr/include/c++/4.8/bits/basic_string.h ****       _M_rep() const
 301:/usr/include/c++/4.8/bits/basic_string.h ****       { return &((reinterpret_cast<_Rep*> (_M_data()))[-1]); }
 302:/usr/include/c++/4.8/bits/basic_string.h **** 
 303:/usr/include/c++/4.8/bits/basic_string.h ****       // For the internal use we have functions similar to `begin'/`end'
 304:/usr/include/c++/4.8/bits/basic_string.h ****       // but they do not call _M_leak.
 305:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
 306:/usr/include/c++/4.8/bits/basic_string.h ****       _M_ibegin() const
 307:/usr/include/c++/4.8/bits/basic_string.h ****       { return iterator(_M_data()); }
 308:/usr/include/c++/4.8/bits/basic_string.h **** 
 309:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
 310:/usr/include/c++/4.8/bits/basic_string.h ****       _M_iend() const
 311:/usr/include/c++/4.8/bits/basic_string.h ****       { return iterator(_M_data() + this->size()); }
 312:/usr/include/c++/4.8/bits/basic_string.h **** 
 313:/usr/include/c++/4.8/bits/basic_string.h ****       void
 314:/usr/include/c++/4.8/bits/basic_string.h ****       _M_leak()    // for use in begin() & non-const op[]
 315:/usr/include/c++/4.8/bits/basic_string.h ****       {
 316:/usr/include/c++/4.8/bits/basic_string.h **** 	if (!_M_rep()->_M_is_leaked())
 317:/usr/include/c++/4.8/bits/basic_string.h **** 	  _M_leak_hard();
 318:/usr/include/c++/4.8/bits/basic_string.h ****       }
 319:/usr/include/c++/4.8/bits/basic_string.h **** 
 320:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 321:/usr/include/c++/4.8/bits/basic_string.h ****       _M_check(size_type __pos, const char* __s) const
 322:/usr/include/c++/4.8/bits/basic_string.h ****       {
 323:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__pos > this->size())
 324:/usr/include/c++/4.8/bits/basic_string.h **** 	  __throw_out_of_range(__N(__s));
 325:/usr/include/c++/4.8/bits/basic_string.h **** 	return __pos;
 326:/usr/include/c++/4.8/bits/basic_string.h ****       }
 327:/usr/include/c++/4.8/bits/basic_string.h **** 
 328:/usr/include/c++/4.8/bits/basic_string.h ****       void
 329:/usr/include/c++/4.8/bits/basic_string.h ****       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
 330:/usr/include/c++/4.8/bits/basic_string.h ****       {
 331:/usr/include/c++/4.8/bits/basic_string.h **** 	if (this->max_size() - (this->size() - __n1) < __n2)
 332:/usr/include/c++/4.8/bits/basic_string.h **** 	  __throw_length_error(__N(__s));
 333:/usr/include/c++/4.8/bits/basic_string.h ****       }
 334:/usr/include/c++/4.8/bits/basic_string.h **** 
 335:/usr/include/c++/4.8/bits/basic_string.h ****       // NB: _M_limit doesn't check for a bad __pos value.
 336:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 337:/usr/include/c++/4.8/bits/basic_string.h ****       _M_limit(size_type __pos, size_type __off) const
 338:/usr/include/c++/4.8/bits/basic_string.h ****       {
 339:/usr/include/c++/4.8/bits/basic_string.h **** 	const bool __testoff =  __off < this->size() - __pos;
 340:/usr/include/c++/4.8/bits/basic_string.h **** 	return __testoff ? __off : this->size() - __pos;
 341:/usr/include/c++/4.8/bits/basic_string.h ****       }
 342:/usr/include/c++/4.8/bits/basic_string.h **** 
 343:/usr/include/c++/4.8/bits/basic_string.h ****       // True if _Rep and source do not overlap.
 344:/usr/include/c++/4.8/bits/basic_string.h ****       bool
 345:/usr/include/c++/4.8/bits/basic_string.h ****       _M_disjunct(const _CharT* __s) const
 346:/usr/include/c++/4.8/bits/basic_string.h ****       {
 347:/usr/include/c++/4.8/bits/basic_string.h **** 	return (less<const _CharT*>()(__s, _M_data())
 348:/usr/include/c++/4.8/bits/basic_string.h **** 		|| less<const _CharT*>()(_M_data() + this->size(), __s));
 349:/usr/include/c++/4.8/bits/basic_string.h ****       }
 350:/usr/include/c++/4.8/bits/basic_string.h **** 
 351:/usr/include/c++/4.8/bits/basic_string.h ****       // When __n = 1 way faster than the general multichar
GAS LISTING /tmp/cc3o2J9C.s 			page 12


 352:/usr/include/c++/4.8/bits/basic_string.h ****       // traits_type::copy/move/assign.
 353:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 354:/usr/include/c++/4.8/bits/basic_string.h ****       _M_copy(_CharT* __d, const _CharT* __s, size_type __n)
 355:/usr/include/c++/4.8/bits/basic_string.h ****       {
 356:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__n == 1)
 357:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::assign(*__d, *__s);
 358:/usr/include/c++/4.8/bits/basic_string.h **** 	else
 359:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::copy(__d, __s, __n);
 360:/usr/include/c++/4.8/bits/basic_string.h ****       }
 361:/usr/include/c++/4.8/bits/basic_string.h **** 
 362:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 363:/usr/include/c++/4.8/bits/basic_string.h ****       _M_move(_CharT* __d, const _CharT* __s, size_type __n)
 364:/usr/include/c++/4.8/bits/basic_string.h ****       {
 365:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__n == 1)
 366:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::assign(*__d, *__s);
 367:/usr/include/c++/4.8/bits/basic_string.h **** 	else
 368:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::move(__d, __s, __n);	  
 369:/usr/include/c++/4.8/bits/basic_string.h ****       }
 370:/usr/include/c++/4.8/bits/basic_string.h **** 
 371:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 372:/usr/include/c++/4.8/bits/basic_string.h ****       _M_assign(_CharT* __d, size_type __n, _CharT __c)
 373:/usr/include/c++/4.8/bits/basic_string.h ****       {
 374:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__n == 1)
 375:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::assign(*__d, __c);
 376:/usr/include/c++/4.8/bits/basic_string.h **** 	else
 377:/usr/include/c++/4.8/bits/basic_string.h **** 	  traits_type::assign(__d, __n, __c);	  
 378:/usr/include/c++/4.8/bits/basic_string.h ****       }
 379:/usr/include/c++/4.8/bits/basic_string.h **** 
 380:/usr/include/c++/4.8/bits/basic_string.h ****       // _S_copy_chars is a separate template to permit specialization
 381:/usr/include/c++/4.8/bits/basic_string.h ****       // to optimize for the common case of pointers as iterators.
 382:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _Iterator>
 383:/usr/include/c++/4.8/bits/basic_string.h ****         static void
 384:/usr/include/c++/4.8/bits/basic_string.h ****         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
 385:/usr/include/c++/4.8/bits/basic_string.h ****         {
 386:/usr/include/c++/4.8/bits/basic_string.h **** 	  for (; __k1 != __k2; ++__k1, ++__p)
 387:/usr/include/c++/4.8/bits/basic_string.h **** 	    traits_type::assign(*__p, *__k1); // These types are off.
 388:/usr/include/c++/4.8/bits/basic_string.h **** 	}
 389:/usr/include/c++/4.8/bits/basic_string.h **** 
 390:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 391:/usr/include/c++/4.8/bits/basic_string.h ****       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2)
 392:/usr/include/c++/4.8/bits/basic_string.h ****       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
 393:/usr/include/c++/4.8/bits/basic_string.h **** 
 394:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 395:/usr/include/c++/4.8/bits/basic_string.h ****       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
 396:/usr/include/c++/4.8/bits/basic_string.h ****       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
 397:/usr/include/c++/4.8/bits/basic_string.h **** 
 398:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 399:/usr/include/c++/4.8/bits/basic_string.h ****       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2)
 400:/usr/include/c++/4.8/bits/basic_string.h ****       { _M_copy(__p, __k1, __k2 - __k1); }
 401:/usr/include/c++/4.8/bits/basic_string.h **** 
 402:/usr/include/c++/4.8/bits/basic_string.h ****       static void
 403:/usr/include/c++/4.8/bits/basic_string.h ****       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
 404:/usr/include/c++/4.8/bits/basic_string.h ****       { _M_copy(__p, __k1, __k2 - __k1); }
 405:/usr/include/c++/4.8/bits/basic_string.h **** 
 406:/usr/include/c++/4.8/bits/basic_string.h ****       static int
 407:/usr/include/c++/4.8/bits/basic_string.h ****       _S_compare(size_type __n1, size_type __n2)
 408:/usr/include/c++/4.8/bits/basic_string.h ****       {
GAS LISTING /tmp/cc3o2J9C.s 			page 13


 409:/usr/include/c++/4.8/bits/basic_string.h **** 	const difference_type __d = difference_type(__n1 - __n2);
 410:/usr/include/c++/4.8/bits/basic_string.h **** 
 411:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__d > __gnu_cxx::__numeric_traits<int>::__max)
 412:/usr/include/c++/4.8/bits/basic_string.h **** 	  return __gnu_cxx::__numeric_traits<int>::__max;
 413:/usr/include/c++/4.8/bits/basic_string.h **** 	else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
 414:/usr/include/c++/4.8/bits/basic_string.h **** 	  return __gnu_cxx::__numeric_traits<int>::__min;
 415:/usr/include/c++/4.8/bits/basic_string.h **** 	else
 416:/usr/include/c++/4.8/bits/basic_string.h **** 	  return int(__d);
 417:/usr/include/c++/4.8/bits/basic_string.h ****       }
 418:/usr/include/c++/4.8/bits/basic_string.h **** 
 419:/usr/include/c++/4.8/bits/basic_string.h ****       void
 420:/usr/include/c++/4.8/bits/basic_string.h ****       _M_mutate(size_type __pos, size_type __len1, size_type __len2);
 421:/usr/include/c++/4.8/bits/basic_string.h **** 
 422:/usr/include/c++/4.8/bits/basic_string.h ****       void
 423:/usr/include/c++/4.8/bits/basic_string.h ****       _M_leak_hard();
 424:/usr/include/c++/4.8/bits/basic_string.h **** 
 425:/usr/include/c++/4.8/bits/basic_string.h ****       static _Rep&
 426:/usr/include/c++/4.8/bits/basic_string.h ****       _S_empty_rep()
 427:/usr/include/c++/4.8/bits/basic_string.h ****       { return _Rep::_S_empty_rep(); }
 428:/usr/include/c++/4.8/bits/basic_string.h **** 
 429:/usr/include/c++/4.8/bits/basic_string.h ****     public:
 430:/usr/include/c++/4.8/bits/basic_string.h ****       // Construct/copy/destroy:
 431:/usr/include/c++/4.8/bits/basic_string.h ****       // NB: We overload ctors in some cases instead of using default
 432:/usr/include/c++/4.8/bits/basic_string.h ****       // arguments, per 17.4.4.4 para. 2 item 2.
 433:/usr/include/c++/4.8/bits/basic_string.h **** 
 434:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 435:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Default constructor creates an empty string.
 436:/usr/include/c++/4.8/bits/basic_string.h ****        */
 437:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string()
 438:/usr/include/c++/4.8/bits/basic_string.h **** #if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
 439:/usr/include/c++/4.8/bits/basic_string.h ****       : _M_dataplus(_S_empty_rep()._M_refdata(), _Alloc()) { }
 440:/usr/include/c++/4.8/bits/basic_string.h **** #else
 441:/usr/include/c++/4.8/bits/basic_string.h ****       : _M_dataplus(_S_construct(size_type(), _CharT(), _Alloc()), _Alloc()){ }
 442:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 443:/usr/include/c++/4.8/bits/basic_string.h **** 
 444:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 445:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct an empty string using allocator @a a.
 446:/usr/include/c++/4.8/bits/basic_string.h ****        */
 447:/usr/include/c++/4.8/bits/basic_string.h ****       explicit
 448:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const _Alloc& __a);
 449:/usr/include/c++/4.8/bits/basic_string.h **** 
 450:/usr/include/c++/4.8/bits/basic_string.h ****       // NB: per LWG issue 42, semantics different from IS:
 451:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 452:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string with copy of value of @a str.
 453:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 454:/usr/include/c++/4.8/bits/basic_string.h ****        */
 455:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const basic_string& __str);
 456:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 457:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string as copy of a substring.
 458:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 459:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __pos  Index of first character to copy from.
 460:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters to copy (default remainder).
 461:/usr/include/c++/4.8/bits/basic_string.h ****        */
 462:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const basic_string& __str, size_type __pos,
 463:/usr/include/c++/4.8/bits/basic_string.h **** 		   size_type __n = npos);
 464:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 465:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string as copy of a substring.
GAS LISTING /tmp/cc3o2J9C.s 			page 14


 466:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 467:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __pos  Index of first character to copy from.
 468:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters to copy.
 469:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use.
 470:/usr/include/c++/4.8/bits/basic_string.h ****        */
 471:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const basic_string& __str, size_type __pos,
 472:/usr/include/c++/4.8/bits/basic_string.h **** 		   size_type __n, const _Alloc& __a);
 473:/usr/include/c++/4.8/bits/basic_string.h **** 
 474:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 475:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string initialized by a character %array.
 476:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __s  Source character %array.
 477:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters to copy.
 478:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use (default is default allocator).
 479:/usr/include/c++/4.8/bits/basic_string.h ****        *
 480:/usr/include/c++/4.8/bits/basic_string.h ****        *  NB: @a __s must have at least @a __n characters, &apos;\\0&apos;
 481:/usr/include/c++/4.8/bits/basic_string.h ****        *  has no special meaning.
 482:/usr/include/c++/4.8/bits/basic_string.h ****        */
 483:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const _CharT* __s, size_type __n,
 484:/usr/include/c++/4.8/bits/basic_string.h **** 		   const _Alloc& __a = _Alloc());
 485:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 486:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string as copy of a C string.
 487:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __s  Source C string.
 488:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use (default is default allocator).
 489:/usr/include/c++/4.8/bits/basic_string.h ****        */
 490:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc());
 491:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 492:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string as multiple characters.
 493:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters.
 494:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __c  Character to use.
 495:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use (default is default allocator).
 496:/usr/include/c++/4.8/bits/basic_string.h ****        */
 497:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc());
 498:/usr/include/c++/4.8/bits/basic_string.h **** 
 499:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 500:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 501:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Move construct string.
 502:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 503:/usr/include/c++/4.8/bits/basic_string.h ****        *
 504:/usr/include/c++/4.8/bits/basic_string.h ****        *  The newly-created string contains the exact contents of @a __str.
 505:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __str is a valid, but unspecified string.
 506:/usr/include/c++/4.8/bits/basic_string.h ****        **/
 507:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(basic_string&& __str) noexcept
 508:/usr/include/c++/4.8/bits/basic_string.h ****       : _M_dataplus(__str._M_dataplus)
 509:/usr/include/c++/4.8/bits/basic_string.h ****       {
 510:/usr/include/c++/4.8/bits/basic_string.h **** #if _GLIBCXX_FULLY_DYNAMIC_STRING == 0
 511:/usr/include/c++/4.8/bits/basic_string.h **** 	__str._M_data(_S_empty_rep()._M_refdata());
 512:/usr/include/c++/4.8/bits/basic_string.h **** #else
 513:/usr/include/c++/4.8/bits/basic_string.h **** 	__str._M_data(_S_construct(size_type(), _CharT(), get_allocator()));
 514:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 515:/usr/include/c++/4.8/bits/basic_string.h ****       }
 516:/usr/include/c++/4.8/bits/basic_string.h **** 
 517:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 518:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string from an initializer %list.
 519:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __l  std::initializer_list of characters.
 520:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use (default is default allocator).
 521:/usr/include/c++/4.8/bits/basic_string.h ****        */
 522:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc());
GAS LISTING /tmp/cc3o2J9C.s 			page 15


 523:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
 524:/usr/include/c++/4.8/bits/basic_string.h **** 
 525:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 526:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Construct string as copy of a range.
 527:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __beg  Start of range.
 528:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __end  End of range.
 529:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __a  Allocator to use (default is default allocator).
 530:/usr/include/c++/4.8/bits/basic_string.h ****        */
 531:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
 532:/usr/include/c++/4.8/bits/basic_string.h ****         basic_string(_InputIterator __beg, _InputIterator __end,
 533:/usr/include/c++/4.8/bits/basic_string.h **** 		     const _Alloc& __a = _Alloc());
 534:/usr/include/c++/4.8/bits/basic_string.h **** 
 535:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 536:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Destroy the string instance.
 537:/usr/include/c++/4.8/bits/basic_string.h ****        */
 538:/usr/include/c++/4.8/bits/basic_string.h ****       ~basic_string() _GLIBCXX_NOEXCEPT
 539:/usr/include/c++/4.8/bits/basic_string.h ****       { _M_rep()->_M_dispose(this->get_allocator()); }
 540:/usr/include/c++/4.8/bits/basic_string.h **** 
 541:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 542:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Assign the value of @a str to this string.
 543:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 544:/usr/include/c++/4.8/bits/basic_string.h ****        */
 545:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 546:/usr/include/c++/4.8/bits/basic_string.h ****       operator=(const basic_string& __str) 
 547:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->assign(__str); }
 548:/usr/include/c++/4.8/bits/basic_string.h **** 
 549:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 550:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Copy contents of @a s into this string.
 551:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __s  Source null-terminated string.
 552:/usr/include/c++/4.8/bits/basic_string.h ****        */
 553:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 554:/usr/include/c++/4.8/bits/basic_string.h ****       operator=(const _CharT* __s) 
 555:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->assign(__s); }
 556:/usr/include/c++/4.8/bits/basic_string.h **** 
 557:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 558:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to string of length 1.
 559:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __c  Source character.
 560:/usr/include/c++/4.8/bits/basic_string.h ****        *
 561:/usr/include/c++/4.8/bits/basic_string.h ****        *  Assigning to a character makes this string length 1 and
 562:/usr/include/c++/4.8/bits/basic_string.h ****        *  (*this)[0] == @a c.
 563:/usr/include/c++/4.8/bits/basic_string.h ****        */
 564:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 565:/usr/include/c++/4.8/bits/basic_string.h ****       operator=(_CharT __c) 
 566:/usr/include/c++/4.8/bits/basic_string.h ****       { 
 567:/usr/include/c++/4.8/bits/basic_string.h **** 	this->assign(1, __c); 
 568:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
 569:/usr/include/c++/4.8/bits/basic_string.h ****       }
 570:/usr/include/c++/4.8/bits/basic_string.h **** 
 571:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 572:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 573:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Move assign the value of @a str to this string.
 574:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string.
 575:/usr/include/c++/4.8/bits/basic_string.h ****        *
 576:/usr/include/c++/4.8/bits/basic_string.h ****        *  The contents of @a str are moved into this string (without copying).
 577:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a str is a valid, but unspecified string.
 578:/usr/include/c++/4.8/bits/basic_string.h ****        **/
 579:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
GAS LISTING /tmp/cc3o2J9C.s 			page 16


 580:/usr/include/c++/4.8/bits/basic_string.h ****       operator=(basic_string&& __str)
 581:/usr/include/c++/4.8/bits/basic_string.h ****       {
 582:/usr/include/c++/4.8/bits/basic_string.h **** 	// NB: DR 1204.
 583:/usr/include/c++/4.8/bits/basic_string.h **** 	this->swap(__str);
 584:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
 585:/usr/include/c++/4.8/bits/basic_string.h ****       }
 586:/usr/include/c++/4.8/bits/basic_string.h **** 
 587:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 588:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to string constructed from initializer %list.
 589:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __l  std::initializer_list.
 590:/usr/include/c++/4.8/bits/basic_string.h ****        */
 591:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 592:/usr/include/c++/4.8/bits/basic_string.h ****       operator=(initializer_list<_CharT> __l)
 593:/usr/include/c++/4.8/bits/basic_string.h ****       {
 594:/usr/include/c++/4.8/bits/basic_string.h **** 	this->assign(__l.begin(), __l.size());
 595:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
 596:/usr/include/c++/4.8/bits/basic_string.h ****       }
 597:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
 598:/usr/include/c++/4.8/bits/basic_string.h **** 
 599:/usr/include/c++/4.8/bits/basic_string.h ****       // Iterators:
 600:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 601:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write iterator that points to the first character in
 602:/usr/include/c++/4.8/bits/basic_string.h ****        *  the %string.  Unshares the string.
 603:/usr/include/c++/4.8/bits/basic_string.h ****        */
 604:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
 605:/usr/include/c++/4.8/bits/basic_string.h ****       begin() _GLIBCXX_NOEXCEPT
 606:/usr/include/c++/4.8/bits/basic_string.h ****       {
 607:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_leak();
 608:/usr/include/c++/4.8/bits/basic_string.h **** 	return iterator(_M_data());
 609:/usr/include/c++/4.8/bits/basic_string.h ****       }
 610:/usr/include/c++/4.8/bits/basic_string.h **** 
 611:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 612:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) iterator that points to the first
 613:/usr/include/c++/4.8/bits/basic_string.h ****        *  character in the %string.
 614:/usr/include/c++/4.8/bits/basic_string.h ****        */
 615:/usr/include/c++/4.8/bits/basic_string.h ****       const_iterator
 616:/usr/include/c++/4.8/bits/basic_string.h ****       begin() const _GLIBCXX_NOEXCEPT
 617:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_iterator(_M_data()); }
 618:/usr/include/c++/4.8/bits/basic_string.h **** 
 619:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 620:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write iterator that points one past the last
 621:/usr/include/c++/4.8/bits/basic_string.h ****        *  character in the %string.  Unshares the string.
 622:/usr/include/c++/4.8/bits/basic_string.h ****        */
 623:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
 624:/usr/include/c++/4.8/bits/basic_string.h ****       end() _GLIBCXX_NOEXCEPT
 625:/usr/include/c++/4.8/bits/basic_string.h ****       {
 626:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_leak();
 627:/usr/include/c++/4.8/bits/basic_string.h **** 	return iterator(_M_data() + this->size());
 628:/usr/include/c++/4.8/bits/basic_string.h ****       }
 629:/usr/include/c++/4.8/bits/basic_string.h **** 
 630:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 631:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) iterator that points one past the
 632:/usr/include/c++/4.8/bits/basic_string.h ****        *  last character in the %string.
 633:/usr/include/c++/4.8/bits/basic_string.h ****        */
 634:/usr/include/c++/4.8/bits/basic_string.h ****       const_iterator
 635:/usr/include/c++/4.8/bits/basic_string.h ****       end() const _GLIBCXX_NOEXCEPT
 636:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_iterator(_M_data() + this->size()); }
GAS LISTING /tmp/cc3o2J9C.s 			page 17


 637:/usr/include/c++/4.8/bits/basic_string.h **** 
 638:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 639:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write reverse iterator that points to the last
 640:/usr/include/c++/4.8/bits/basic_string.h ****        *  character in the %string.  Iteration is done in reverse element
 641:/usr/include/c++/4.8/bits/basic_string.h ****        *  order.  Unshares the string.
 642:/usr/include/c++/4.8/bits/basic_string.h ****        */
 643:/usr/include/c++/4.8/bits/basic_string.h ****       reverse_iterator
 644:/usr/include/c++/4.8/bits/basic_string.h ****       rbegin() _GLIBCXX_NOEXCEPT
 645:/usr/include/c++/4.8/bits/basic_string.h ****       { return reverse_iterator(this->end()); }
 646:/usr/include/c++/4.8/bits/basic_string.h **** 
 647:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 648:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reverse iterator that points
 649:/usr/include/c++/4.8/bits/basic_string.h ****        *  to the last character in the %string.  Iteration is done in
 650:/usr/include/c++/4.8/bits/basic_string.h ****        *  reverse element order.
 651:/usr/include/c++/4.8/bits/basic_string.h ****        */
 652:/usr/include/c++/4.8/bits/basic_string.h ****       const_reverse_iterator
 653:/usr/include/c++/4.8/bits/basic_string.h ****       rbegin() const _GLIBCXX_NOEXCEPT
 654:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_reverse_iterator(this->end()); }
 655:/usr/include/c++/4.8/bits/basic_string.h **** 
 656:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 657:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write reverse iterator that points to one before the
 658:/usr/include/c++/4.8/bits/basic_string.h ****        *  first character in the %string.  Iteration is done in reverse
 659:/usr/include/c++/4.8/bits/basic_string.h ****        *  element order.  Unshares the string.
 660:/usr/include/c++/4.8/bits/basic_string.h ****        */
 661:/usr/include/c++/4.8/bits/basic_string.h ****       reverse_iterator
 662:/usr/include/c++/4.8/bits/basic_string.h ****       rend() _GLIBCXX_NOEXCEPT
 663:/usr/include/c++/4.8/bits/basic_string.h ****       { return reverse_iterator(this->begin()); }
 664:/usr/include/c++/4.8/bits/basic_string.h **** 
 665:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 666:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reverse iterator that points
 667:/usr/include/c++/4.8/bits/basic_string.h ****        *  to one before the first character in the %string.  Iteration
 668:/usr/include/c++/4.8/bits/basic_string.h ****        *  is done in reverse element order.
 669:/usr/include/c++/4.8/bits/basic_string.h ****        */
 670:/usr/include/c++/4.8/bits/basic_string.h ****       const_reverse_iterator
 671:/usr/include/c++/4.8/bits/basic_string.h ****       rend() const _GLIBCXX_NOEXCEPT
 672:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_reverse_iterator(this->begin()); }
 673:/usr/include/c++/4.8/bits/basic_string.h **** 
 674:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 675:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 676:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) iterator that points to the first
 677:/usr/include/c++/4.8/bits/basic_string.h ****        *  character in the %string.
 678:/usr/include/c++/4.8/bits/basic_string.h ****        */
 679:/usr/include/c++/4.8/bits/basic_string.h ****       const_iterator
 680:/usr/include/c++/4.8/bits/basic_string.h ****       cbegin() const noexcept
 681:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_iterator(this->_M_data()); }
 682:/usr/include/c++/4.8/bits/basic_string.h **** 
 683:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 684:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) iterator that points one past the
 685:/usr/include/c++/4.8/bits/basic_string.h ****        *  last character in the %string.
 686:/usr/include/c++/4.8/bits/basic_string.h ****        */
 687:/usr/include/c++/4.8/bits/basic_string.h ****       const_iterator
 688:/usr/include/c++/4.8/bits/basic_string.h ****       cend() const noexcept
 689:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_iterator(this->_M_data() + this->size()); }
 690:/usr/include/c++/4.8/bits/basic_string.h **** 
 691:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 692:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reverse iterator that points
 693:/usr/include/c++/4.8/bits/basic_string.h ****        *  to the last character in the %string.  Iteration is done in
GAS LISTING /tmp/cc3o2J9C.s 			page 18


 694:/usr/include/c++/4.8/bits/basic_string.h ****        *  reverse element order.
 695:/usr/include/c++/4.8/bits/basic_string.h ****        */
 696:/usr/include/c++/4.8/bits/basic_string.h ****       const_reverse_iterator
 697:/usr/include/c++/4.8/bits/basic_string.h ****       crbegin() const noexcept
 698:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_reverse_iterator(this->end()); }
 699:/usr/include/c++/4.8/bits/basic_string.h **** 
 700:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 701:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reverse iterator that points
 702:/usr/include/c++/4.8/bits/basic_string.h ****        *  to one before the first character in the %string.  Iteration
 703:/usr/include/c++/4.8/bits/basic_string.h ****        *  is done in reverse element order.
 704:/usr/include/c++/4.8/bits/basic_string.h ****        */
 705:/usr/include/c++/4.8/bits/basic_string.h ****       const_reverse_iterator
 706:/usr/include/c++/4.8/bits/basic_string.h ****       crend() const noexcept
 707:/usr/include/c++/4.8/bits/basic_string.h ****       { return const_reverse_iterator(this->begin()); }
 708:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 709:/usr/include/c++/4.8/bits/basic_string.h **** 
 710:/usr/include/c++/4.8/bits/basic_string.h ****     public:
 711:/usr/include/c++/4.8/bits/basic_string.h ****       // Capacity:
 712:/usr/include/c++/4.8/bits/basic_string.h ****       ///  Returns the number of characters in the string, not including any
 713:/usr/include/c++/4.8/bits/basic_string.h ****       ///  null-termination.
 714:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 715:/usr/include/c++/4.8/bits/basic_string.h ****       size() const _GLIBCXX_NOEXCEPT
 716:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_rep()->_M_length; }
 717:/usr/include/c++/4.8/bits/basic_string.h **** 
 718:/usr/include/c++/4.8/bits/basic_string.h ****       ///  Returns the number of characters in the string, not including any
 719:/usr/include/c++/4.8/bits/basic_string.h ****       ///  null-termination.
 720:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 721:/usr/include/c++/4.8/bits/basic_string.h ****       length() const _GLIBCXX_NOEXCEPT
 722:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_rep()->_M_length; }
 723:/usr/include/c++/4.8/bits/basic_string.h **** 
 724:/usr/include/c++/4.8/bits/basic_string.h ****       ///  Returns the size() of the largest possible %string.
 725:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 726:/usr/include/c++/4.8/bits/basic_string.h ****       max_size() const _GLIBCXX_NOEXCEPT
 727:/usr/include/c++/4.8/bits/basic_string.h ****       { return _Rep::_S_max_size; }
 728:/usr/include/c++/4.8/bits/basic_string.h **** 
 729:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 730:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Resizes the %string to the specified number of characters.
 731:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters the %string should contain.
 732:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __c  Character to fill any new elements.
 733:/usr/include/c++/4.8/bits/basic_string.h ****        *
 734:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function will %resize the %string to the specified
 735:/usr/include/c++/4.8/bits/basic_string.h ****        *  number of characters.  If the number is smaller than the
 736:/usr/include/c++/4.8/bits/basic_string.h ****        *  %string's current size the %string is truncated, otherwise
 737:/usr/include/c++/4.8/bits/basic_string.h ****        *  the %string is extended and new elements are %set to @a __c.
 738:/usr/include/c++/4.8/bits/basic_string.h ****        */
 739:/usr/include/c++/4.8/bits/basic_string.h ****       void
 740:/usr/include/c++/4.8/bits/basic_string.h ****       resize(size_type __n, _CharT __c);
 741:/usr/include/c++/4.8/bits/basic_string.h **** 
 742:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 743:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Resizes the %string to the specified number of characters.
 744:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __n  Number of characters the %string should contain.
 745:/usr/include/c++/4.8/bits/basic_string.h ****        *
 746:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function will resize the %string to the specified length.  If
 747:/usr/include/c++/4.8/bits/basic_string.h ****        *  the new size is smaller than the %string's current size the %string
 748:/usr/include/c++/4.8/bits/basic_string.h ****        *  is truncated, otherwise the %string is extended and new characters
 749:/usr/include/c++/4.8/bits/basic_string.h ****        *  are default-constructed.  For basic types such as char, this means
 750:/usr/include/c++/4.8/bits/basic_string.h ****        *  setting them to 0.
GAS LISTING /tmp/cc3o2J9C.s 			page 19


 751:/usr/include/c++/4.8/bits/basic_string.h ****        */
 752:/usr/include/c++/4.8/bits/basic_string.h ****       void
 753:/usr/include/c++/4.8/bits/basic_string.h ****       resize(size_type __n)
 754:/usr/include/c++/4.8/bits/basic_string.h ****       { this->resize(__n, _CharT()); }
 755:/usr/include/c++/4.8/bits/basic_string.h **** 
 756:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 757:/usr/include/c++/4.8/bits/basic_string.h ****       ///  A non-binding request to reduce capacity() to size().
 758:/usr/include/c++/4.8/bits/basic_string.h ****       void
 759:/usr/include/c++/4.8/bits/basic_string.h ****       shrink_to_fit()
 760:/usr/include/c++/4.8/bits/basic_string.h ****       {
 761:/usr/include/c++/4.8/bits/basic_string.h **** 	if (capacity() > size())
 762:/usr/include/c++/4.8/bits/basic_string.h **** 	  {
 763:/usr/include/c++/4.8/bits/basic_string.h **** 	    __try
 764:/usr/include/c++/4.8/bits/basic_string.h **** 	      { reserve(0); }
 765:/usr/include/c++/4.8/bits/basic_string.h **** 	    __catch(...)
 766:/usr/include/c++/4.8/bits/basic_string.h **** 	      { }
 767:/usr/include/c++/4.8/bits/basic_string.h **** 	  }
 768:/usr/include/c++/4.8/bits/basic_string.h ****       }
 769:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 770:/usr/include/c++/4.8/bits/basic_string.h **** 
 771:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 772:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns the total number of characters that the %string can hold
 773:/usr/include/c++/4.8/bits/basic_string.h ****        *  before needing to allocate more memory.
 774:/usr/include/c++/4.8/bits/basic_string.h ****        */
 775:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
 776:/usr/include/c++/4.8/bits/basic_string.h ****       capacity() const _GLIBCXX_NOEXCEPT
 777:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_rep()->_M_capacity; }
 778:/usr/include/c++/4.8/bits/basic_string.h **** 
 779:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 780:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Attempt to preallocate enough memory for specified number of
 781:/usr/include/c++/4.8/bits/basic_string.h ****        *          characters.
 782:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __res_arg  Number of characters required.
 783:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If @a __res_arg exceeds @c max_size().
 784:/usr/include/c++/4.8/bits/basic_string.h ****        *
 785:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function attempts to reserve enough memory for the
 786:/usr/include/c++/4.8/bits/basic_string.h ****        *  %string to hold the specified number of characters.  If the
 787:/usr/include/c++/4.8/bits/basic_string.h ****        *  number requested is more than max_size(), length_error is
 788:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.
 789:/usr/include/c++/4.8/bits/basic_string.h ****        *
 790:/usr/include/c++/4.8/bits/basic_string.h ****        *  The advantage of this function is that if optimal code is a
 791:/usr/include/c++/4.8/bits/basic_string.h ****        *  necessity and the user can determine the string length that will be
 792:/usr/include/c++/4.8/bits/basic_string.h ****        *  required, the user can reserve the memory in %advance, and thus
 793:/usr/include/c++/4.8/bits/basic_string.h ****        *  prevent a possible reallocation of memory and copying of %string
 794:/usr/include/c++/4.8/bits/basic_string.h ****        *  data.
 795:/usr/include/c++/4.8/bits/basic_string.h ****        */
 796:/usr/include/c++/4.8/bits/basic_string.h ****       void
 797:/usr/include/c++/4.8/bits/basic_string.h ****       reserve(size_type __res_arg = 0);
 798:/usr/include/c++/4.8/bits/basic_string.h **** 
 799:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 800:/usr/include/c++/4.8/bits/basic_string.h ****        *  Erases the string, making it empty.
 801:/usr/include/c++/4.8/bits/basic_string.h ****        */
 802:/usr/include/c++/4.8/bits/basic_string.h ****       void
 803:/usr/include/c++/4.8/bits/basic_string.h ****       clear() _GLIBCXX_NOEXCEPT
 804:/usr/include/c++/4.8/bits/basic_string.h ****       { _M_mutate(0, this->size(), 0); }
 805:/usr/include/c++/4.8/bits/basic_string.h **** 
 806:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 807:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns true if the %string is empty.  Equivalent to 
GAS LISTING /tmp/cc3o2J9C.s 			page 20


 808:/usr/include/c++/4.8/bits/basic_string.h ****        *  <code>*this == ""</code>.
 809:/usr/include/c++/4.8/bits/basic_string.h ****        */
 810:/usr/include/c++/4.8/bits/basic_string.h ****       bool
 811:/usr/include/c++/4.8/bits/basic_string.h ****       empty() const _GLIBCXX_NOEXCEPT
 812:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->size() == 0; }
 813:/usr/include/c++/4.8/bits/basic_string.h **** 
 814:/usr/include/c++/4.8/bits/basic_string.h ****       // Element access:
 815:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 816:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Subscript access to the data contained in the %string.
 817:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __pos  The index of the character to access.
 818:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Read-only (constant) reference to the character.
 819:/usr/include/c++/4.8/bits/basic_string.h ****        *
 820:/usr/include/c++/4.8/bits/basic_string.h ****        *  This operator allows for easy, array-style, data access.
 821:/usr/include/c++/4.8/bits/basic_string.h ****        *  Note that data access with this operator is unchecked and
 822:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range lookups are not defined. (For checked lookups
 823:/usr/include/c++/4.8/bits/basic_string.h ****        *  see at().)
 824:/usr/include/c++/4.8/bits/basic_string.h ****        */
 825:/usr/include/c++/4.8/bits/basic_string.h ****       const_reference
 826:/usr/include/c++/4.8/bits/basic_string.h ****       operator[] (size_type __pos) const
 827:/usr/include/c++/4.8/bits/basic_string.h ****       {
 828:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_ASSERT(__pos <= size());
 829:/usr/include/c++/4.8/bits/basic_string.h **** 	return _M_data()[__pos];
 830:/usr/include/c++/4.8/bits/basic_string.h ****       }
 831:/usr/include/c++/4.8/bits/basic_string.h **** 
 832:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 833:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Subscript access to the data contained in the %string.
 834:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __pos  The index of the character to access.
 835:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Read/write reference to the character.
 836:/usr/include/c++/4.8/bits/basic_string.h ****        *
 837:/usr/include/c++/4.8/bits/basic_string.h ****        *  This operator allows for easy, array-style, data access.
 838:/usr/include/c++/4.8/bits/basic_string.h ****        *  Note that data access with this operator is unchecked and
 839:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range lookups are not defined. (For checked lookups
 840:/usr/include/c++/4.8/bits/basic_string.h ****        *  see at().)  Unshares the string.
 841:/usr/include/c++/4.8/bits/basic_string.h ****        */
 842:/usr/include/c++/4.8/bits/basic_string.h ****       reference
 843:/usr/include/c++/4.8/bits/basic_string.h ****       operator[](size_type __pos)
 844:/usr/include/c++/4.8/bits/basic_string.h ****       {
 845:/usr/include/c++/4.8/bits/basic_string.h ****         // allow pos == size() as v3 extension:
 846:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_ASSERT(__pos <= size());
 847:/usr/include/c++/4.8/bits/basic_string.h ****         // but be strict in pedantic mode:
 848:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(__pos < size());
 849:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_leak();
 850:/usr/include/c++/4.8/bits/basic_string.h **** 	return _M_data()[__pos];
 851:/usr/include/c++/4.8/bits/basic_string.h ****       }
 852:/usr/include/c++/4.8/bits/basic_string.h **** 
 853:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 854:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Provides access to the data contained in the %string.
 855:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n The index of the character to access.
 856:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Read-only (const) reference to the character.
 857:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a n is an invalid index.
 858:/usr/include/c++/4.8/bits/basic_string.h ****        *
 859:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function provides for safer data access.  The parameter is
 860:/usr/include/c++/4.8/bits/basic_string.h ****        *  first checked that it is in the range of the string.  The function
 861:/usr/include/c++/4.8/bits/basic_string.h ****        *  throws out_of_range if the check fails.
 862:/usr/include/c++/4.8/bits/basic_string.h ****        */
 863:/usr/include/c++/4.8/bits/basic_string.h ****       const_reference
 864:/usr/include/c++/4.8/bits/basic_string.h ****       at(size_type __n) const
GAS LISTING /tmp/cc3o2J9C.s 			page 21


 865:/usr/include/c++/4.8/bits/basic_string.h ****       {
 866:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__n >= this->size())
 867:/usr/include/c++/4.8/bits/basic_string.h **** 	  __throw_out_of_range(__N("basic_string::at"));
 868:/usr/include/c++/4.8/bits/basic_string.h **** 	return _M_data()[__n];
 869:/usr/include/c++/4.8/bits/basic_string.h ****       }
 870:/usr/include/c++/4.8/bits/basic_string.h **** 
 871:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 872:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Provides access to the data contained in the %string.
 873:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n The index of the character to access.
 874:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Read/write reference to the character.
 875:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a n is an invalid index.
 876:/usr/include/c++/4.8/bits/basic_string.h ****        *
 877:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function provides for safer data access.  The parameter is
 878:/usr/include/c++/4.8/bits/basic_string.h ****        *  first checked that it is in the range of the string.  The function
 879:/usr/include/c++/4.8/bits/basic_string.h ****        *  throws out_of_range if the check fails.  Success results in
 880:/usr/include/c++/4.8/bits/basic_string.h ****        *  unsharing the string.
 881:/usr/include/c++/4.8/bits/basic_string.h ****        */
 882:/usr/include/c++/4.8/bits/basic_string.h ****       reference
 883:/usr/include/c++/4.8/bits/basic_string.h ****       at(size_type __n)
 884:/usr/include/c++/4.8/bits/basic_string.h ****       {
 885:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__n >= size())
 886:/usr/include/c++/4.8/bits/basic_string.h **** 	  __throw_out_of_range(__N("basic_string::at"));
 887:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_leak();
 888:/usr/include/c++/4.8/bits/basic_string.h **** 	return _M_data()[__n];
 889:/usr/include/c++/4.8/bits/basic_string.h ****       }
 890:/usr/include/c++/4.8/bits/basic_string.h **** 
 891:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 892:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 893:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write reference to the data at the first
 894:/usr/include/c++/4.8/bits/basic_string.h ****        *  element of the %string.
 895:/usr/include/c++/4.8/bits/basic_string.h ****        */
 896:/usr/include/c++/4.8/bits/basic_string.h ****       reference
 897:/usr/include/c++/4.8/bits/basic_string.h ****       front()
 898:/usr/include/c++/4.8/bits/basic_string.h ****       { return operator[](0); }
 899:/usr/include/c++/4.8/bits/basic_string.h **** 
 900:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 901:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reference to the data at the first
 902:/usr/include/c++/4.8/bits/basic_string.h ****        *  element of the %string.
 903:/usr/include/c++/4.8/bits/basic_string.h ****        */
 904:/usr/include/c++/4.8/bits/basic_string.h ****       const_reference
 905:/usr/include/c++/4.8/bits/basic_string.h ****       front() const
 906:/usr/include/c++/4.8/bits/basic_string.h ****       { return operator[](0); }
 907:/usr/include/c++/4.8/bits/basic_string.h **** 
 908:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 909:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read/write reference to the data at the last
 910:/usr/include/c++/4.8/bits/basic_string.h ****        *  element of the %string.
 911:/usr/include/c++/4.8/bits/basic_string.h ****        */
 912:/usr/include/c++/4.8/bits/basic_string.h ****       reference
 913:/usr/include/c++/4.8/bits/basic_string.h ****       back()
 914:/usr/include/c++/4.8/bits/basic_string.h ****       { return operator[](this->size() - 1); }
 915:/usr/include/c++/4.8/bits/basic_string.h **** 
 916:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 917:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns a read-only (constant) reference to the data at the
 918:/usr/include/c++/4.8/bits/basic_string.h ****        *  last element of the %string.
 919:/usr/include/c++/4.8/bits/basic_string.h ****        */
 920:/usr/include/c++/4.8/bits/basic_string.h ****       const_reference
 921:/usr/include/c++/4.8/bits/basic_string.h ****       back() const
GAS LISTING /tmp/cc3o2J9C.s 			page 22


 922:/usr/include/c++/4.8/bits/basic_string.h ****       { return operator[](this->size() - 1); }
 923:/usr/include/c++/4.8/bits/basic_string.h **** #endif
 924:/usr/include/c++/4.8/bits/basic_string.h **** 
 925:/usr/include/c++/4.8/bits/basic_string.h ****       // Modifiers:
 926:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 927:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a string to this string.
 928:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to append.
 929:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 930:/usr/include/c++/4.8/bits/basic_string.h ****        */
 931:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 932:/usr/include/c++/4.8/bits/basic_string.h ****       operator+=(const basic_string& __str)
 933:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->append(__str); }
 934:/usr/include/c++/4.8/bits/basic_string.h **** 
 935:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 936:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a C string.
 937:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to append.
 938:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 939:/usr/include/c++/4.8/bits/basic_string.h ****        */
 940:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 941:/usr/include/c++/4.8/bits/basic_string.h ****       operator+=(const _CharT* __s)
 942:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->append(__s); }
 943:/usr/include/c++/4.8/bits/basic_string.h **** 
 944:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 945:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a character.
 946:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to append.
 947:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 948:/usr/include/c++/4.8/bits/basic_string.h ****        */
 949:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 950:/usr/include/c++/4.8/bits/basic_string.h ****       operator+=(_CharT __c)
 951:/usr/include/c++/4.8/bits/basic_string.h ****       { 
 952:/usr/include/c++/4.8/bits/basic_string.h **** 	this->push_back(__c);
 953:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
 954:/usr/include/c++/4.8/bits/basic_string.h ****       }
 955:/usr/include/c++/4.8/bits/basic_string.h **** 
 956:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
 957:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 958:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append an initializer_list of characters.
 959:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __l  The initializer_list of characters to be appended.
 960:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 961:/usr/include/c++/4.8/bits/basic_string.h ****        */
 962:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 963:/usr/include/c++/4.8/bits/basic_string.h ****       operator+=(initializer_list<_CharT> __l)
 964:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->append(__l.begin(), __l.size()); }
 965:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
 966:/usr/include/c++/4.8/bits/basic_string.h **** 
 967:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 968:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a string to this string.
 969:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to append.
 970:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 971:/usr/include/c++/4.8/bits/basic_string.h ****        */
 972:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 973:/usr/include/c++/4.8/bits/basic_string.h ****       append(const basic_string& __str);
 974:/usr/include/c++/4.8/bits/basic_string.h **** 
 975:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 976:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a substring.
 977:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to append.
 978:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of the first character of str to append.
GAS LISTING /tmp/cc3o2J9C.s 			page 23


 979:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  The number of characters to append.
 980:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 981:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range if @a __pos is not a valid index.
 982:/usr/include/c++/4.8/bits/basic_string.h ****        *
 983:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function appends @a __n characters from @a __str
 984:/usr/include/c++/4.8/bits/basic_string.h ****        *  starting at @a __pos to this string.  If @a __n is is larger
 985:/usr/include/c++/4.8/bits/basic_string.h ****        *  than the number of available characters in @a __str, the
 986:/usr/include/c++/4.8/bits/basic_string.h ****        *  remainder of @a __str is appended.
 987:/usr/include/c++/4.8/bits/basic_string.h ****        */
 988:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 989:/usr/include/c++/4.8/bits/basic_string.h ****       append(const basic_string& __str, size_type __pos, size_type __n);
 990:/usr/include/c++/4.8/bits/basic_string.h **** 
 991:/usr/include/c++/4.8/bits/basic_string.h ****       /**
 992:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a C substring.
 993:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to append.
 994:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  The number of characters to append.
 995:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
 996:/usr/include/c++/4.8/bits/basic_string.h ****        */
 997:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
 998:/usr/include/c++/4.8/bits/basic_string.h ****       append(const _CharT* __s, size_type __n);
 999:/usr/include/c++/4.8/bits/basic_string.h **** 
1000:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1001:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a C string.
1002:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to append.
1003:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1004:/usr/include/c++/4.8/bits/basic_string.h ****        */
1005:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1006:/usr/include/c++/4.8/bits/basic_string.h ****       append(const _CharT* __s)
1007:/usr/include/c++/4.8/bits/basic_string.h ****       {
1008:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1009:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->append(__s, traits_type::length(__s));
1010:/usr/include/c++/4.8/bits/basic_string.h ****       }
1011:/usr/include/c++/4.8/bits/basic_string.h **** 
1012:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1013:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append multiple characters.
1014:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  The number of characters to append.
1015:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to use.
1016:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1017:/usr/include/c++/4.8/bits/basic_string.h ****        *
1018:/usr/include/c++/4.8/bits/basic_string.h ****        *  Appends __n copies of __c to this string.
1019:/usr/include/c++/4.8/bits/basic_string.h ****        */
1020:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1021:/usr/include/c++/4.8/bits/basic_string.h ****       append(size_type __n, _CharT __c);
1022:/usr/include/c++/4.8/bits/basic_string.h **** 
1023:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1024:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1025:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append an initializer_list of characters.
1026:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __l  The initializer_list of characters to append.
1027:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1028:/usr/include/c++/4.8/bits/basic_string.h ****        */
1029:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1030:/usr/include/c++/4.8/bits/basic_string.h ****       append(initializer_list<_CharT> __l)
1031:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->append(__l.begin(), __l.size()); }
1032:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1033:/usr/include/c++/4.8/bits/basic_string.h **** 
1034:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1035:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a range of characters.
GAS LISTING /tmp/cc3o2J9C.s 			page 24


1036:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __first  Iterator referencing the first character to append.
1037:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __last  Iterator marking the end of the range.
1038:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1039:/usr/include/c++/4.8/bits/basic_string.h ****        *
1040:/usr/include/c++/4.8/bits/basic_string.h ****        *  Appends characters in the range [__first,__last) to this string.
1041:/usr/include/c++/4.8/bits/basic_string.h ****        */
1042:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
1043:/usr/include/c++/4.8/bits/basic_string.h ****         basic_string&
1044:/usr/include/c++/4.8/bits/basic_string.h ****         append(_InputIterator __first, _InputIterator __last)
1045:/usr/include/c++/4.8/bits/basic_string.h ****         { return this->replace(_M_iend(), _M_iend(), __first, __last); }
1046:/usr/include/c++/4.8/bits/basic_string.h **** 
1047:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1048:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Append a single character.
1049:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to append.
1050:/usr/include/c++/4.8/bits/basic_string.h ****        */
1051:/usr/include/c++/4.8/bits/basic_string.h ****       void
1052:/usr/include/c++/4.8/bits/basic_string.h ****       push_back(_CharT __c)
1053:/usr/include/c++/4.8/bits/basic_string.h ****       { 
1054:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __len = 1 + this->size();
1055:/usr/include/c++/4.8/bits/basic_string.h **** 	if (__len > this->capacity() || _M_rep()->_M_is_shared())
1056:/usr/include/c++/4.8/bits/basic_string.h **** 	  this->reserve(__len);
1057:/usr/include/c++/4.8/bits/basic_string.h **** 	traits_type::assign(_M_data()[this->size()], __c);
1058:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_rep()->_M_set_length_and_sharable(__len);
1059:/usr/include/c++/4.8/bits/basic_string.h ****       }
1060:/usr/include/c++/4.8/bits/basic_string.h **** 
1061:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1062:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to contents of another string.
1063:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string to use.
1064:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1065:/usr/include/c++/4.8/bits/basic_string.h ****        */
1066:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1067:/usr/include/c++/4.8/bits/basic_string.h ****       assign(const basic_string& __str);
1068:/usr/include/c++/4.8/bits/basic_string.h **** 
1069:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1070:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1071:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to contents of another string.
1072:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param  __str  Source string to use.
1073:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1074:/usr/include/c++/4.8/bits/basic_string.h ****        *
1075:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function sets this string to the exact contents of @a __str.
1076:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __str is a valid, but unspecified string.
1077:/usr/include/c++/4.8/bits/basic_string.h ****        */
1078:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1079:/usr/include/c++/4.8/bits/basic_string.h ****       assign(basic_string&& __str)
1080:/usr/include/c++/4.8/bits/basic_string.h ****       {
1081:/usr/include/c++/4.8/bits/basic_string.h **** 	this->swap(__str);
1082:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
1083:/usr/include/c++/4.8/bits/basic_string.h ****       }
1084:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1085:/usr/include/c++/4.8/bits/basic_string.h **** 
1086:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1087:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to a substring of a string.
1088:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to use.
1089:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of the first character of str.
1090:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to use.
1091:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1092:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range if @a pos is not a valid index.
GAS LISTING /tmp/cc3o2J9C.s 			page 25


1093:/usr/include/c++/4.8/bits/basic_string.h ****        *
1094:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function sets this string to the substring of @a __str
1095:/usr/include/c++/4.8/bits/basic_string.h ****        *  consisting of @a __n characters at @a __pos.  If @a __n is
1096:/usr/include/c++/4.8/bits/basic_string.h ****        *  is larger than the number of available characters in @a
1097:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str, the remainder of @a __str is used.
1098:/usr/include/c++/4.8/bits/basic_string.h ****        */
1099:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1100:/usr/include/c++/4.8/bits/basic_string.h ****       assign(const basic_string& __str, size_type __pos, size_type __n)
1101:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->assign(__str._M_data()
1102:/usr/include/c++/4.8/bits/basic_string.h **** 			    + __str._M_check(__pos, "basic_string::assign"),
1103:/usr/include/c++/4.8/bits/basic_string.h **** 			    __str._M_limit(__pos, __n)); }
1104:/usr/include/c++/4.8/bits/basic_string.h **** 
1105:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1106:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to a C substring.
1107:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to use.
1108:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to use.
1109:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1110:/usr/include/c++/4.8/bits/basic_string.h ****        *
1111:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function sets the value of this string to the first @a __n
1112:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters of @a __s.  If @a __n is is larger than the number of
1113:/usr/include/c++/4.8/bits/basic_string.h ****        *  available characters in @a __s, the remainder of @a __s is used.
1114:/usr/include/c++/4.8/bits/basic_string.h ****        */
1115:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1116:/usr/include/c++/4.8/bits/basic_string.h ****       assign(const _CharT* __s, size_type __n);
1117:/usr/include/c++/4.8/bits/basic_string.h **** 
1118:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1119:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to contents of a C string.
1120:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to use.
1121:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1122:/usr/include/c++/4.8/bits/basic_string.h ****        *
1123:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function sets the value of this string to the value of @a __s.
1124:/usr/include/c++/4.8/bits/basic_string.h ****        *  The data is copied, so there is no dependence on @a __s once the
1125:/usr/include/c++/4.8/bits/basic_string.h ****        *  function returns.
1126:/usr/include/c++/4.8/bits/basic_string.h ****        */
1127:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1128:/usr/include/c++/4.8/bits/basic_string.h ****       assign(const _CharT* __s)
1129:/usr/include/c++/4.8/bits/basic_string.h ****       {
1130:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1131:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->assign(__s, traits_type::length(__s));
1132:/usr/include/c++/4.8/bits/basic_string.h ****       }
1133:/usr/include/c++/4.8/bits/basic_string.h **** 
1134:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1135:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to multiple characters.
1136:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Length of the resulting string.
1137:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to use.
1138:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1139:/usr/include/c++/4.8/bits/basic_string.h ****        *
1140:/usr/include/c++/4.8/bits/basic_string.h ****        *  This function sets the value of this string to @a __n copies of
1141:/usr/include/c++/4.8/bits/basic_string.h ****        *  character @a __c.
1142:/usr/include/c++/4.8/bits/basic_string.h ****        */
1143:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1144:/usr/include/c++/4.8/bits/basic_string.h ****       assign(size_type __n, _CharT __c)
1145:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
1146:/usr/include/c++/4.8/bits/basic_string.h **** 
1147:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1148:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to a range of characters.
1149:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __first  Iterator referencing the first character to append.
GAS LISTING /tmp/cc3o2J9C.s 			page 26


1150:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __last  Iterator marking the end of the range.
1151:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1152:/usr/include/c++/4.8/bits/basic_string.h ****        *
1153:/usr/include/c++/4.8/bits/basic_string.h ****        *  Sets value of string to characters in the range [__first,__last).
1154:/usr/include/c++/4.8/bits/basic_string.h ****       */
1155:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
1156:/usr/include/c++/4.8/bits/basic_string.h ****         basic_string&
1157:/usr/include/c++/4.8/bits/basic_string.h ****         assign(_InputIterator __first, _InputIterator __last)
1158:/usr/include/c++/4.8/bits/basic_string.h ****         { return this->replace(_M_ibegin(), _M_iend(), __first, __last); }
1159:/usr/include/c++/4.8/bits/basic_string.h **** 
1160:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1161:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1162:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Set value to an initializer_list of characters.
1163:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __l  The initializer_list of characters to assign.
1164:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1165:/usr/include/c++/4.8/bits/basic_string.h ****        */
1166:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1167:/usr/include/c++/4.8/bits/basic_string.h ****       assign(initializer_list<_CharT> __l)
1168:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->assign(__l.begin(), __l.size()); }
1169:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1170:/usr/include/c++/4.8/bits/basic_string.h **** 
1171:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1172:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert multiple characters.
1173:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __p  Iterator referencing location in string to insert at.
1174:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to insert
1175:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to insert.
1176:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1177:/usr/include/c++/4.8/bits/basic_string.h ****        *
1178:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts @a __n copies of character @a __c starting at the
1179:/usr/include/c++/4.8/bits/basic_string.h ****        *  position referenced by iterator @a __p.  If adding
1180:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters causes the length to exceed max_size(),
1181:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  The value of the string doesn't
1182:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1183:/usr/include/c++/4.8/bits/basic_string.h ****       */
1184:/usr/include/c++/4.8/bits/basic_string.h ****       void
1185:/usr/include/c++/4.8/bits/basic_string.h ****       insert(iterator __p, size_type __n, _CharT __c)
1186:/usr/include/c++/4.8/bits/basic_string.h ****       {	this->replace(__p, __p, __n, __c);  }
1187:/usr/include/c++/4.8/bits/basic_string.h **** 
1188:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1189:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert a range of characters.
1190:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __p  Iterator referencing location in string to insert at.
1191:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __beg  Start of range.
1192:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __end  End of range.
1193:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1194:/usr/include/c++/4.8/bits/basic_string.h ****        *
1195:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts characters in range [__beg,__end).  If adding
1196:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters causes the length to exceed max_size(),
1197:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  The value of the string doesn't
1198:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1199:/usr/include/c++/4.8/bits/basic_string.h ****       */
1200:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
1201:/usr/include/c++/4.8/bits/basic_string.h ****         void
1202:/usr/include/c++/4.8/bits/basic_string.h ****         insert(iterator __p, _InputIterator __beg, _InputIterator __end)
1203:/usr/include/c++/4.8/bits/basic_string.h ****         { this->replace(__p, __p, __beg, __end); }
1204:/usr/include/c++/4.8/bits/basic_string.h **** 
1205:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1206:/usr/include/c++/4.8/bits/basic_string.h ****       /**
GAS LISTING /tmp/cc3o2J9C.s 			page 27


1207:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert an initializer_list of characters.
1208:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __p  Iterator referencing location in string to insert at.
1209:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __l  The initializer_list of characters to insert.
1210:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1211:/usr/include/c++/4.8/bits/basic_string.h ****        */
1212:/usr/include/c++/4.8/bits/basic_string.h ****       void
1213:/usr/include/c++/4.8/bits/basic_string.h ****       insert(iterator __p, initializer_list<_CharT> __l)
1214:/usr/include/c++/4.8/bits/basic_string.h ****       {
1215:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(__p >= _M_ibegin() && __p <= _M_iend());
1216:/usr/include/c++/4.8/bits/basic_string.h **** 	this->insert(__p - _M_ibegin(), __l.begin(), __l.size());
1217:/usr/include/c++/4.8/bits/basic_string.h ****       }
1218:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1219:/usr/include/c++/4.8/bits/basic_string.h **** 
1220:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1221:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert value of a string.
1222:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos1  Iterator referencing location in string to insert at.
1223:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to insert.
1224:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1225:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1226:/usr/include/c++/4.8/bits/basic_string.h ****        *
1227:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts value of @a __str starting at @a __pos1.  If adding
1228:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters causes the length to exceed max_size(),
1229:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  The value of the string doesn't
1230:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1231:/usr/include/c++/4.8/bits/basic_string.h ****       */
1232:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1233:/usr/include/c++/4.8/bits/basic_string.h ****       insert(size_type __pos1, const basic_string& __str)
1234:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->insert(__pos1, __str, size_type(0), __str.size()); }
1235:/usr/include/c++/4.8/bits/basic_string.h **** 
1236:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1237:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert a substring.
1238:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos1  Iterator referencing location in string to insert at.
1239:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  The string to insert.
1240:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos2  Start of characters in str to insert.
1241:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to insert.
1242:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1243:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1244:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos1 > size() or
1245:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __pos2 > @a str.size().
1246:/usr/include/c++/4.8/bits/basic_string.h ****        *
1247:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting at @a pos1, insert @a __n character of @a __str
1248:/usr/include/c++/4.8/bits/basic_string.h ****        *  beginning with @a __pos2.  If adding characters causes the
1249:/usr/include/c++/4.8/bits/basic_string.h ****        *  length to exceed max_size(), length_error is thrown.  If @a
1250:/usr/include/c++/4.8/bits/basic_string.h ****        *  __pos1 is beyond the end of this string or @a __pos2 is
1251:/usr/include/c++/4.8/bits/basic_string.h ****        *  beyond the end of @a __str, out_of_range is thrown.  The
1252:/usr/include/c++/4.8/bits/basic_string.h ****        *  value of the string doesn't change if an error is thrown.
1253:/usr/include/c++/4.8/bits/basic_string.h ****       */
1254:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1255:/usr/include/c++/4.8/bits/basic_string.h ****       insert(size_type __pos1, const basic_string& __str,
1256:/usr/include/c++/4.8/bits/basic_string.h **** 	     size_type __pos2, size_type __n)
1257:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->insert(__pos1, __str._M_data()
1258:/usr/include/c++/4.8/bits/basic_string.h **** 			    + __str._M_check(__pos2, "basic_string::insert"),
1259:/usr/include/c++/4.8/bits/basic_string.h **** 			    __str._M_limit(__pos2, __n)); }
1260:/usr/include/c++/4.8/bits/basic_string.h **** 
1261:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1262:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert a C substring.
1263:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Iterator referencing location in string to insert at.
GAS LISTING /tmp/cc3o2J9C.s 			page 28


1264:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to insert.
1265:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  The number of characters to insert.
1266:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1267:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1268:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a __pos is beyond the end of this
1269:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.
1270:/usr/include/c++/4.8/bits/basic_string.h ****        *
1271:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts the first @a __n characters of @a __s starting at @a
1272:/usr/include/c++/4.8/bits/basic_string.h ****        *  __pos.  If adding characters causes the length to exceed
1273:/usr/include/c++/4.8/bits/basic_string.h ****        *  max_size(), length_error is thrown.  If @a __pos is beyond
1274:/usr/include/c++/4.8/bits/basic_string.h ****        *  end(), out_of_range is thrown.  The value of the string
1275:/usr/include/c++/4.8/bits/basic_string.h ****        *  doesn't change if an error is thrown.
1276:/usr/include/c++/4.8/bits/basic_string.h ****       */
1277:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1278:/usr/include/c++/4.8/bits/basic_string.h ****       insert(size_type __pos, const _CharT* __s, size_type __n);
1279:/usr/include/c++/4.8/bits/basic_string.h **** 
1280:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1281:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert a C string.
1282:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Iterator referencing location in string to insert at.
1283:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  The C string to insert.
1284:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1285:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1286:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos is beyond the end of this
1287:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.
1288:/usr/include/c++/4.8/bits/basic_string.h ****        *
1289:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts the first @a n characters of @a __s starting at @a __pos.  If
1290:/usr/include/c++/4.8/bits/basic_string.h ****        *  adding characters causes the length to exceed max_size(),
1291:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  If @a __pos is beyond end(), out_of_range is
1292:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.  The value of the string doesn't change if an error is
1293:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.
1294:/usr/include/c++/4.8/bits/basic_string.h ****       */
1295:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1296:/usr/include/c++/4.8/bits/basic_string.h ****       insert(size_type __pos, const _CharT* __s)
1297:/usr/include/c++/4.8/bits/basic_string.h ****       {
1298:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1299:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->insert(__pos, __s, traits_type::length(__s));
1300:/usr/include/c++/4.8/bits/basic_string.h ****       }
1301:/usr/include/c++/4.8/bits/basic_string.h **** 
1302:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1303:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert multiple characters.
1304:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index in string to insert at.
1305:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to insert
1306:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to insert.
1307:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1308:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1309:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a __pos is beyond the end of this
1310:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.
1311:/usr/include/c++/4.8/bits/basic_string.h ****        *
1312:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts @a __n copies of character @a __c starting at index
1313:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __pos.  If adding characters causes the length to exceed
1314:/usr/include/c++/4.8/bits/basic_string.h ****        *  max_size(), length_error is thrown.  If @a __pos > length(),
1315:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range is thrown.  The value of the string doesn't
1316:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1317:/usr/include/c++/4.8/bits/basic_string.h ****       */
1318:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1319:/usr/include/c++/4.8/bits/basic_string.h ****       insert(size_type __pos, size_type __n, _CharT __c)
1320:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
GAS LISTING /tmp/cc3o2J9C.s 			page 29


1321:/usr/include/c++/4.8/bits/basic_string.h **** 			      size_type(0), __n, __c); }
1322:/usr/include/c++/4.8/bits/basic_string.h **** 
1323:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1324:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Insert one character.
1325:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __p  Iterator referencing position in string to insert at.
1326:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  The character to insert.
1327:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Iterator referencing newly inserted char.
1328:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1329:/usr/include/c++/4.8/bits/basic_string.h ****        *
1330:/usr/include/c++/4.8/bits/basic_string.h ****        *  Inserts character @a __c at position referenced by @a __p.
1331:/usr/include/c++/4.8/bits/basic_string.h ****        *  If adding character causes the length to exceed max_size(),
1332:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  If @a __p is beyond end of string,
1333:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range is thrown.  The value of the string doesn't
1334:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1335:/usr/include/c++/4.8/bits/basic_string.h ****       */
1336:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
1337:/usr/include/c++/4.8/bits/basic_string.h ****       insert(iterator __p, _CharT __c)
1338:/usr/include/c++/4.8/bits/basic_string.h ****       {
1339:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(__p >= _M_ibegin() && __p <= _M_iend());
1340:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __pos = __p - _M_ibegin();
1341:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_replace_aux(__pos, size_type(0), size_type(1), __c);
1342:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_rep()->_M_set_leaked();
1343:/usr/include/c++/4.8/bits/basic_string.h **** 	return iterator(_M_data() + __pos);
1344:/usr/include/c++/4.8/bits/basic_string.h ****       }
1345:/usr/include/c++/4.8/bits/basic_string.h **** 
1346:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1347:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Remove characters.
1348:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to remove (default 0).
1349:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to remove (default remainder).
1350:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1351:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos is beyond the end of this
1352:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.
1353:/usr/include/c++/4.8/bits/basic_string.h ****        *
1354:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes @a __n characters from this string starting at @a
1355:/usr/include/c++/4.8/bits/basic_string.h ****        *  __pos.  The length of the string is reduced by @a __n.  If
1356:/usr/include/c++/4.8/bits/basic_string.h ****        *  there are < @a __n characters to remove, the remainder of
1357:/usr/include/c++/4.8/bits/basic_string.h ****        *  the string is truncated.  If @a __p is beyond end of string,
1358:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range is thrown.  The value of the string doesn't
1359:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1360:/usr/include/c++/4.8/bits/basic_string.h ****       */
1361:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1362:/usr/include/c++/4.8/bits/basic_string.h ****       erase(size_type __pos = 0, size_type __n = npos)
1363:/usr/include/c++/4.8/bits/basic_string.h ****       { 
1364:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_mutate(_M_check(__pos, "basic_string::erase"),
1365:/usr/include/c++/4.8/bits/basic_string.h **** 		  _M_limit(__pos, __n), size_type(0));
1366:/usr/include/c++/4.8/bits/basic_string.h **** 	return *this;
1367:/usr/include/c++/4.8/bits/basic_string.h ****       }
1368:/usr/include/c++/4.8/bits/basic_string.h **** 
1369:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1370:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Remove one character.
1371:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __position  Iterator referencing the character to remove.
1372:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  iterator referencing same location after removal.
1373:/usr/include/c++/4.8/bits/basic_string.h ****        *
1374:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the character at @a __position from this string. The value
1375:/usr/include/c++/4.8/bits/basic_string.h ****        *  of the string doesn't change if an error is thrown.
1376:/usr/include/c++/4.8/bits/basic_string.h ****       */
1377:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
GAS LISTING /tmp/cc3o2J9C.s 			page 30


1378:/usr/include/c++/4.8/bits/basic_string.h ****       erase(iterator __position)
1379:/usr/include/c++/4.8/bits/basic_string.h ****       {
1380:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(__position >= _M_ibegin()
1381:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __position < _M_iend());
1382:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __pos = __position - _M_ibegin();
1383:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_mutate(__pos, size_type(1), size_type(0));
1384:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_rep()->_M_set_leaked();
1385:/usr/include/c++/4.8/bits/basic_string.h **** 	return iterator(_M_data() + __pos);
1386:/usr/include/c++/4.8/bits/basic_string.h ****       }
1387:/usr/include/c++/4.8/bits/basic_string.h **** 
1388:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1389:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Remove a range of characters.
1390:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __first  Iterator referencing the first character to remove.
1391:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __last  Iterator referencing the end of the range.
1392:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Iterator referencing location of first after removal.
1393:/usr/include/c++/4.8/bits/basic_string.h ****        *
1394:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [first,last) from this string.
1395:/usr/include/c++/4.8/bits/basic_string.h ****        *  The value of the string doesn't change if an error is thrown.
1396:/usr/include/c++/4.8/bits/basic_string.h ****       */
1397:/usr/include/c++/4.8/bits/basic_string.h ****       iterator
1398:/usr/include/c++/4.8/bits/basic_string.h ****       erase(iterator __first, iterator __last);
1399:/usr/include/c++/4.8/bits/basic_string.h ****  
1400:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1401:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1402:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Remove the last character.
1403:/usr/include/c++/4.8/bits/basic_string.h ****        *
1404:/usr/include/c++/4.8/bits/basic_string.h ****        *  The string must be non-empty.
1405:/usr/include/c++/4.8/bits/basic_string.h ****        */
1406:/usr/include/c++/4.8/bits/basic_string.h ****       void
1407:/usr/include/c++/4.8/bits/basic_string.h ****       pop_back()
1408:/usr/include/c++/4.8/bits/basic_string.h ****       { erase(size()-1, 1); }
1409:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1410:/usr/include/c++/4.8/bits/basic_string.h **** 
1411:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1412:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace characters with value from another string.
1413:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to replace.
1414:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to be replaced.
1415:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to insert.
1416:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1417:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos is beyond the end of this
1418:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.
1419:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1420:/usr/include/c++/4.8/bits/basic_string.h ****        *
1421:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__pos,__pos+__n) from
1422:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  In place, the value of @a __str is inserted.
1423:/usr/include/c++/4.8/bits/basic_string.h ****        *  If @a __pos is beyond end of string, out_of_range is thrown.
1424:/usr/include/c++/4.8/bits/basic_string.h ****        *  If the length of the result exceeds max_size(), length_error
1425:/usr/include/c++/4.8/bits/basic_string.h ****        *  is thrown.  The value of the string doesn't change if an
1426:/usr/include/c++/4.8/bits/basic_string.h ****        *  error is thrown.
1427:/usr/include/c++/4.8/bits/basic_string.h ****       */
1428:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1429:/usr/include/c++/4.8/bits/basic_string.h ****       replace(size_type __pos, size_type __n, const basic_string& __str)
1430:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
1431:/usr/include/c++/4.8/bits/basic_string.h **** 
1432:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1433:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace characters with value from another string.
1434:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos1  Index of first character to replace.
GAS LISTING /tmp/cc3o2J9C.s 			page 31


1435:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters to be replaced.
1436:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to insert.
1437:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos2  Index of first character of str to use.
1438:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n2  Number of characters from str to use.
1439:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1440:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a __pos1 > size() or @a __pos2 >
1441:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str.size().
1442:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1443:/usr/include/c++/4.8/bits/basic_string.h ****        *
1444:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__pos1,__pos1 + n) from this
1445:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.  In place, the value of @a __str is inserted.  If @a __pos is
1446:/usr/include/c++/4.8/bits/basic_string.h ****        *  beyond end of string, out_of_range is thrown.  If the length of the
1447:/usr/include/c++/4.8/bits/basic_string.h ****        *  result exceeds max_size(), length_error is thrown.  The value of the
1448:/usr/include/c++/4.8/bits/basic_string.h ****        *  string doesn't change if an error is thrown.
1449:/usr/include/c++/4.8/bits/basic_string.h ****       */
1450:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1451:/usr/include/c++/4.8/bits/basic_string.h ****       replace(size_type __pos1, size_type __n1, const basic_string& __str,
1452:/usr/include/c++/4.8/bits/basic_string.h **** 	      size_type __pos2, size_type __n2)
1453:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->replace(__pos1, __n1, __str._M_data()
1454:/usr/include/c++/4.8/bits/basic_string.h **** 			     + __str._M_check(__pos2, "basic_string::replace"),
1455:/usr/include/c++/4.8/bits/basic_string.h **** 			     __str._M_limit(__pos2, __n2)); }
1456:/usr/include/c++/4.8/bits/basic_string.h **** 
1457:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1458:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace characters with value of a C substring.
1459:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to replace.
1460:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters to be replaced.
1461:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to insert.
1462:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n2  Number of characters from @a s to use.
1463:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1464:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos1 > size().
1465:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1466:/usr/include/c++/4.8/bits/basic_string.h ****        *
1467:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__pos,__pos + __n1)
1468:/usr/include/c++/4.8/bits/basic_string.h ****        *  from this string.  In place, the first @a __n2 characters of
1469:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __s are inserted, or all of @a __s if @a __n2 is too large.  If
1470:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __pos is beyond end of string, out_of_range is thrown.  If
1471:/usr/include/c++/4.8/bits/basic_string.h ****        *  the length of result exceeds max_size(), length_error is
1472:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.  The value of the string doesn't change if an error
1473:/usr/include/c++/4.8/bits/basic_string.h ****        *  is thrown.
1474:/usr/include/c++/4.8/bits/basic_string.h ****       */
1475:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1476:/usr/include/c++/4.8/bits/basic_string.h ****       replace(size_type __pos, size_type __n1, const _CharT* __s,
1477:/usr/include/c++/4.8/bits/basic_string.h **** 	      size_type __n2);
1478:/usr/include/c++/4.8/bits/basic_string.h **** 
1479:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1480:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace characters with value of a C string.
1481:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to replace.
1482:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters to be replaced.
1483:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to insert.
1484:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1485:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a pos > size().
1486:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1487:/usr/include/c++/4.8/bits/basic_string.h ****        *
1488:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__pos,__pos + __n1)
1489:/usr/include/c++/4.8/bits/basic_string.h ****        *  from this string.  In place, the characters of @a __s are
1490:/usr/include/c++/4.8/bits/basic_string.h ****        *  inserted.  If @a __pos is beyond end of string, out_of_range
1491:/usr/include/c++/4.8/bits/basic_string.h ****        *  is thrown.  If the length of result exceeds max_size(),
GAS LISTING /tmp/cc3o2J9C.s 			page 32


1492:/usr/include/c++/4.8/bits/basic_string.h ****        *  length_error is thrown.  The value of the string doesn't
1493:/usr/include/c++/4.8/bits/basic_string.h ****        *  change if an error is thrown.
1494:/usr/include/c++/4.8/bits/basic_string.h ****       */
1495:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1496:/usr/include/c++/4.8/bits/basic_string.h ****       replace(size_type __pos, size_type __n1, const _CharT* __s)
1497:/usr/include/c++/4.8/bits/basic_string.h ****       {
1498:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1499:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__pos, __n1, __s, traits_type::length(__s));
1500:/usr/include/c++/4.8/bits/basic_string.h ****       }
1501:/usr/include/c++/4.8/bits/basic_string.h **** 
1502:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1503:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace characters with multiple characters.
1504:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to replace.
1505:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters to be replaced.
1506:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n2  Number of characters to insert.
1507:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to insert.
1508:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1509:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If @a __pos > size().
1510:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1511:/usr/include/c++/4.8/bits/basic_string.h ****        *
1512:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [pos,pos + n1) from this
1513:/usr/include/c++/4.8/bits/basic_string.h ****        *  string.  In place, @a __n2 copies of @a __c are inserted.
1514:/usr/include/c++/4.8/bits/basic_string.h ****        *  If @a __pos is beyond end of string, out_of_range is thrown.
1515:/usr/include/c++/4.8/bits/basic_string.h ****        *  If the length of result exceeds max_size(), length_error is
1516:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.  The value of the string doesn't change if an error
1517:/usr/include/c++/4.8/bits/basic_string.h ****        *  is thrown.
1518:/usr/include/c++/4.8/bits/basic_string.h ****       */
1519:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1520:/usr/include/c++/4.8/bits/basic_string.h ****       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
1521:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
1522:/usr/include/c++/4.8/bits/basic_string.h **** 			      _M_limit(__pos, __n1), __n2, __c); }
1523:/usr/include/c++/4.8/bits/basic_string.h **** 
1524:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1525:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with string.
1526:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1527:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1528:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String value to insert.
1529:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1530:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1531:/usr/include/c++/4.8/bits/basic_string.h ****        *
1532:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1533:/usr/include/c++/4.8/bits/basic_string.h ****        *  the value of @a __str is inserted.  If the length of result
1534:/usr/include/c++/4.8/bits/basic_string.h ****        *  exceeds max_size(), length_error is thrown.  The value of
1535:/usr/include/c++/4.8/bits/basic_string.h ****        *  the string doesn't change if an error is thrown.
1536:/usr/include/c++/4.8/bits/basic_string.h ****       */
1537:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1538:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, const basic_string& __str)
1539:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
1540:/usr/include/c++/4.8/bits/basic_string.h **** 
1541:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1542:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with C substring.
1543:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1544:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1545:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string value to insert.
1546:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from s to insert.
1547:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1548:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
GAS LISTING /tmp/cc3o2J9C.s 			page 33


1549:/usr/include/c++/4.8/bits/basic_string.h ****        *
1550:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1551:/usr/include/c++/4.8/bits/basic_string.h ****        *  the first @a __n characters of @a __s are inserted.  If the
1552:/usr/include/c++/4.8/bits/basic_string.h ****        *  length of result exceeds max_size(), length_error is thrown.
1553:/usr/include/c++/4.8/bits/basic_string.h ****        *  The value of the string doesn't change if an error is
1554:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.
1555:/usr/include/c++/4.8/bits/basic_string.h ****       */
1556:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1557:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, const _CharT* __s, size_type __n)
1558:/usr/include/c++/4.8/bits/basic_string.h ****       {
1559:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1560:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1561:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1 - _M_ibegin(), __i2 - __i1, __s, __n);
1562:/usr/include/c++/4.8/bits/basic_string.h ****       }
1563:/usr/include/c++/4.8/bits/basic_string.h **** 
1564:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1565:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with C string.
1566:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1567:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1568:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string value to insert.
1569:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1570:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1571:/usr/include/c++/4.8/bits/basic_string.h ****        *
1572:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1573:/usr/include/c++/4.8/bits/basic_string.h ****        *  the characters of @a __s are inserted.  If the length of
1574:/usr/include/c++/4.8/bits/basic_string.h ****        *  result exceeds max_size(), length_error is thrown.  The
1575:/usr/include/c++/4.8/bits/basic_string.h ****        *  value of the string doesn't change if an error is thrown.
1576:/usr/include/c++/4.8/bits/basic_string.h ****       */
1577:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1578:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, const _CharT* __s)
1579:/usr/include/c++/4.8/bits/basic_string.h ****       {
1580:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1581:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1, __i2, __s, traits_type::length(__s));
1582:/usr/include/c++/4.8/bits/basic_string.h ****       }
1583:/usr/include/c++/4.8/bits/basic_string.h **** 
1584:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1585:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with multiple characters
1586:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1587:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1588:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to insert.
1589:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to insert.
1590:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1591:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1592:/usr/include/c++/4.8/bits/basic_string.h ****        *
1593:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1594:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __n copies of @a __c are inserted.  If the length of
1595:/usr/include/c++/4.8/bits/basic_string.h ****        *  result exceeds max_size(), length_error is thrown.  The
1596:/usr/include/c++/4.8/bits/basic_string.h ****        *  value of the string doesn't change if an error is thrown.
1597:/usr/include/c++/4.8/bits/basic_string.h ****       */
1598:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1599:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, size_type __n, _CharT __c)
1600:/usr/include/c++/4.8/bits/basic_string.h ****       {
1601:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1602:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1603:/usr/include/c++/4.8/bits/basic_string.h **** 	return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __c);
1604:/usr/include/c++/4.8/bits/basic_string.h ****       }
1605:/usr/include/c++/4.8/bits/basic_string.h **** 
GAS LISTING /tmp/cc3o2J9C.s 			page 34


1606:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1607:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with range.
1608:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1609:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1610:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __k1  Iterator referencing start of range to insert.
1611:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __k2  Iterator referencing end of range to insert.
1612:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1613:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1614:/usr/include/c++/4.8/bits/basic_string.h ****        *
1615:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1616:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters in the range [__k1,__k2) are inserted.  If the
1617:/usr/include/c++/4.8/bits/basic_string.h ****        *  length of result exceeds max_size(), length_error is thrown.
1618:/usr/include/c++/4.8/bits/basic_string.h ****        *  The value of the string doesn't change if an error is
1619:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.
1620:/usr/include/c++/4.8/bits/basic_string.h ****       */
1621:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
1622:/usr/include/c++/4.8/bits/basic_string.h ****         basic_string&
1623:/usr/include/c++/4.8/bits/basic_string.h ****         replace(iterator __i1, iterator __i2,
1624:/usr/include/c++/4.8/bits/basic_string.h **** 		_InputIterator __k1, _InputIterator __k2)
1625:/usr/include/c++/4.8/bits/basic_string.h ****         {
1626:/usr/include/c++/4.8/bits/basic_string.h **** 	  _GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1627:/usr/include/c++/4.8/bits/basic_string.h **** 				   && __i2 <= _M_iend());
1628:/usr/include/c++/4.8/bits/basic_string.h **** 	  __glibcxx_requires_valid_range(__k1, __k2);
1629:/usr/include/c++/4.8/bits/basic_string.h **** 	  typedef typename std::__is_integer<_InputIterator>::__type _Integral;
1630:/usr/include/c++/4.8/bits/basic_string.h **** 	  return _M_replace_dispatch(__i1, __i2, __k1, __k2, _Integral());
1631:/usr/include/c++/4.8/bits/basic_string.h **** 	}
1632:/usr/include/c++/4.8/bits/basic_string.h **** 
1633:/usr/include/c++/4.8/bits/basic_string.h ****       // Specializations for the common case of pointer and iterator:
1634:/usr/include/c++/4.8/bits/basic_string.h ****       // useful to avoid the overhead of temporary buffering in _M_replace.
1635:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1636:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, _CharT* __k1, _CharT* __k2)
1637:/usr/include/c++/4.8/bits/basic_string.h ****       {
1638:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1639:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1640:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_valid_range(__k1, __k2);
1641:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
1642:/usr/include/c++/4.8/bits/basic_string.h **** 			     __k1, __k2 - __k1);
1643:/usr/include/c++/4.8/bits/basic_string.h ****       }
1644:/usr/include/c++/4.8/bits/basic_string.h **** 
1645:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1646:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2,
1647:/usr/include/c++/4.8/bits/basic_string.h **** 	      const _CharT* __k1, const _CharT* __k2)
1648:/usr/include/c++/4.8/bits/basic_string.h ****       {
1649:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1650:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1651:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_valid_range(__k1, __k2);
1652:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
1653:/usr/include/c++/4.8/bits/basic_string.h **** 			     __k1, __k2 - __k1);
1654:/usr/include/c++/4.8/bits/basic_string.h ****       }
1655:/usr/include/c++/4.8/bits/basic_string.h **** 
1656:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1657:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2, iterator __k1, iterator __k2)
1658:/usr/include/c++/4.8/bits/basic_string.h ****       {
1659:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1660:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1661:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_valid_range(__k1, __k2);
1662:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
GAS LISTING /tmp/cc3o2J9C.s 			page 35


1663:/usr/include/c++/4.8/bits/basic_string.h **** 			     __k1.base(), __k2 - __k1);
1664:/usr/include/c++/4.8/bits/basic_string.h ****       }
1665:/usr/include/c++/4.8/bits/basic_string.h **** 
1666:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1667:/usr/include/c++/4.8/bits/basic_string.h ****       replace(iterator __i1, iterator __i2,
1668:/usr/include/c++/4.8/bits/basic_string.h **** 	      const_iterator __k1, const_iterator __k2)
1669:/usr/include/c++/4.8/bits/basic_string.h ****       {
1670:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_DEBUG_PEDASSERT(_M_ibegin() <= __i1 && __i1 <= __i2
1671:/usr/include/c++/4.8/bits/basic_string.h **** 				 && __i2 <= _M_iend());
1672:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_valid_range(__k1, __k2);
1673:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->replace(__i1 - _M_ibegin(), __i2 - __i1,
1674:/usr/include/c++/4.8/bits/basic_string.h **** 			     __k1.base(), __k2 - __k1);
1675:/usr/include/c++/4.8/bits/basic_string.h ****       }
1676:/usr/include/c++/4.8/bits/basic_string.h ****       
1677:/usr/include/c++/4.8/bits/basic_string.h **** #if __cplusplus >= 201103L
1678:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1679:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Replace range of characters with initializer_list.
1680:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i1  Iterator referencing start of range to replace.
1681:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __i2  Iterator referencing end of range to replace.
1682:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __l  The initializer_list of characters to insert.
1683:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Reference to this string.
1684:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::length_error  If new length exceeds @c max_size().
1685:/usr/include/c++/4.8/bits/basic_string.h ****        *
1686:/usr/include/c++/4.8/bits/basic_string.h ****        *  Removes the characters in the range [__i1,__i2).  In place,
1687:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters in the range [__k1,__k2) are inserted.  If the
1688:/usr/include/c++/4.8/bits/basic_string.h ****        *  length of result exceeds max_size(), length_error is thrown.
1689:/usr/include/c++/4.8/bits/basic_string.h ****        *  The value of the string doesn't change if an error is
1690:/usr/include/c++/4.8/bits/basic_string.h ****        *  thrown.
1691:/usr/include/c++/4.8/bits/basic_string.h ****       */
1692:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string& replace(iterator __i1, iterator __i2,
1693:/usr/include/c++/4.8/bits/basic_string.h **** 			    initializer_list<_CharT> __l)
1694:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->replace(__i1, __i2, __l.begin(), __l.end()); }
1695:/usr/include/c++/4.8/bits/basic_string.h **** #endif // C++11
1696:/usr/include/c++/4.8/bits/basic_string.h **** 
1697:/usr/include/c++/4.8/bits/basic_string.h ****     private:
1698:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _Integer>
1699:/usr/include/c++/4.8/bits/basic_string.h **** 	basic_string&
1700:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_replace_dispatch(iterator __i1, iterator __i2, _Integer __n,
1701:/usr/include/c++/4.8/bits/basic_string.h **** 			    _Integer __val, __true_type)
1702:/usr/include/c++/4.8/bits/basic_string.h ****         { return _M_replace_aux(__i1 - _M_ibegin(), __i2 - __i1, __n, __val); }
1703:/usr/include/c++/4.8/bits/basic_string.h **** 
1704:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InputIterator>
1705:/usr/include/c++/4.8/bits/basic_string.h **** 	basic_string&
1706:/usr/include/c++/4.8/bits/basic_string.h **** 	_M_replace_dispatch(iterator __i1, iterator __i2, _InputIterator __k1,
1707:/usr/include/c++/4.8/bits/basic_string.h **** 			    _InputIterator __k2, __false_type);
1708:/usr/include/c++/4.8/bits/basic_string.h **** 
1709:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1710:/usr/include/c++/4.8/bits/basic_string.h ****       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
1711:/usr/include/c++/4.8/bits/basic_string.h **** 		     _CharT __c);
1712:/usr/include/c++/4.8/bits/basic_string.h **** 
1713:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string&
1714:/usr/include/c++/4.8/bits/basic_string.h ****       _M_replace_safe(size_type __pos1, size_type __n1, const _CharT* __s,
1715:/usr/include/c++/4.8/bits/basic_string.h **** 		      size_type __n2);
1716:/usr/include/c++/4.8/bits/basic_string.h **** 
1717:/usr/include/c++/4.8/bits/basic_string.h ****       // _S_construct_aux is used to implement the 21.3.1 para 15 which
1718:/usr/include/c++/4.8/bits/basic_string.h ****       // requires special behaviour if _InIter is an integral type
1719:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InIterator>
GAS LISTING /tmp/cc3o2J9C.s 			page 36


1720:/usr/include/c++/4.8/bits/basic_string.h ****         static _CharT*
1721:/usr/include/c++/4.8/bits/basic_string.h ****         _S_construct_aux(_InIterator __beg, _InIterator __end,
1722:/usr/include/c++/4.8/bits/basic_string.h **** 			 const _Alloc& __a, __false_type)
1723:/usr/include/c++/4.8/bits/basic_string.h **** 	{
1724:/usr/include/c++/4.8/bits/basic_string.h ****           typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
1725:/usr/include/c++/4.8/bits/basic_string.h ****           return _S_construct(__beg, __end, __a, _Tag());
1726:/usr/include/c++/4.8/bits/basic_string.h **** 	}
1727:/usr/include/c++/4.8/bits/basic_string.h **** 
1728:/usr/include/c++/4.8/bits/basic_string.h ****       // _GLIBCXX_RESOLVE_LIB_DEFECTS
1729:/usr/include/c++/4.8/bits/basic_string.h ****       // 438. Ambiguity in the "do the right thing" clause
1730:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _Integer>
1731:/usr/include/c++/4.8/bits/basic_string.h ****         static _CharT*
1732:/usr/include/c++/4.8/bits/basic_string.h ****         _S_construct_aux(_Integer __beg, _Integer __end,
1733:/usr/include/c++/4.8/bits/basic_string.h **** 			 const _Alloc& __a, __true_type)
1734:/usr/include/c++/4.8/bits/basic_string.h ****         { return _S_construct_aux_2(static_cast<size_type>(__beg),
1735:/usr/include/c++/4.8/bits/basic_string.h **** 				    __end, __a); }
1736:/usr/include/c++/4.8/bits/basic_string.h **** 
1737:/usr/include/c++/4.8/bits/basic_string.h ****       static _CharT*
1738:/usr/include/c++/4.8/bits/basic_string.h ****       _S_construct_aux_2(size_type __req, _CharT __c, const _Alloc& __a)
1739:/usr/include/c++/4.8/bits/basic_string.h ****       { return _S_construct(__req, __c, __a); }
1740:/usr/include/c++/4.8/bits/basic_string.h **** 
1741:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InIterator>
1742:/usr/include/c++/4.8/bits/basic_string.h ****         static _CharT*
1743:/usr/include/c++/4.8/bits/basic_string.h ****         _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a)
1744:/usr/include/c++/4.8/bits/basic_string.h **** 	{
1745:/usr/include/c++/4.8/bits/basic_string.h **** 	  typedef typename std::__is_integer<_InIterator>::__type _Integral;
1746:/usr/include/c++/4.8/bits/basic_string.h **** 	  return _S_construct_aux(__beg, __end, __a, _Integral());
1747:/usr/include/c++/4.8/bits/basic_string.h ****         }
1748:/usr/include/c++/4.8/bits/basic_string.h **** 
1749:/usr/include/c++/4.8/bits/basic_string.h ****       // For Input Iterators, used in istreambuf_iterators, etc.
1750:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _InIterator>
1751:/usr/include/c++/4.8/bits/basic_string.h ****         static _CharT*
1752:/usr/include/c++/4.8/bits/basic_string.h ****          _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a,
1753:/usr/include/c++/4.8/bits/basic_string.h **** 		      input_iterator_tag);
1754:/usr/include/c++/4.8/bits/basic_string.h **** 
1755:/usr/include/c++/4.8/bits/basic_string.h ****       // For forward_iterators up to random_access_iterators, used for
1756:/usr/include/c++/4.8/bits/basic_string.h ****       // string::iterator, _CharT*, etc.
1757:/usr/include/c++/4.8/bits/basic_string.h ****       template<class _FwdIterator>
1758:/usr/include/c++/4.8/bits/basic_string.h ****         static _CharT*
1759:/usr/include/c++/4.8/bits/basic_string.h ****         _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a,
1760:/usr/include/c++/4.8/bits/basic_string.h **** 		     forward_iterator_tag);
1761:/usr/include/c++/4.8/bits/basic_string.h **** 
1762:/usr/include/c++/4.8/bits/basic_string.h ****       static _CharT*
1763:/usr/include/c++/4.8/bits/basic_string.h ****       _S_construct(size_type __req, _CharT __c, const _Alloc& __a);
1764:/usr/include/c++/4.8/bits/basic_string.h **** 
1765:/usr/include/c++/4.8/bits/basic_string.h ****     public:
1766:/usr/include/c++/4.8/bits/basic_string.h **** 
1767:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1768:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Copy substring into C string.
1769:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to copy value into.
1770:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters to copy.
1771:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character to copy.
1772:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Number of characters actually copied
1773:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If __pos > size().
1774:/usr/include/c++/4.8/bits/basic_string.h ****        *
1775:/usr/include/c++/4.8/bits/basic_string.h ****        *  Copies up to @a __n characters starting at @a __pos into the
1776:/usr/include/c++/4.8/bits/basic_string.h ****        *  C string @a __s.  If @a __pos is %greater than size(),
GAS LISTING /tmp/cc3o2J9C.s 			page 37


1777:/usr/include/c++/4.8/bits/basic_string.h ****        *  out_of_range is thrown.
1778:/usr/include/c++/4.8/bits/basic_string.h ****       */
1779:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1780:/usr/include/c++/4.8/bits/basic_string.h ****       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
1781:/usr/include/c++/4.8/bits/basic_string.h **** 
1782:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1783:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Swap contents with another string.
1784:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  String to swap with.
1785:/usr/include/c++/4.8/bits/basic_string.h ****        *
1786:/usr/include/c++/4.8/bits/basic_string.h ****        *  Exchanges the contents of this string with that of @a __s in constant
1787:/usr/include/c++/4.8/bits/basic_string.h ****        *  time.
1788:/usr/include/c++/4.8/bits/basic_string.h ****       */
1789:/usr/include/c++/4.8/bits/basic_string.h ****       void
1790:/usr/include/c++/4.8/bits/basic_string.h ****       swap(basic_string& __s);
1791:/usr/include/c++/4.8/bits/basic_string.h **** 
1792:/usr/include/c++/4.8/bits/basic_string.h ****       // String operations:
1793:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1794:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Return const pointer to null-terminated contents.
1795:/usr/include/c++/4.8/bits/basic_string.h ****        *
1796:/usr/include/c++/4.8/bits/basic_string.h ****        *  This is a handle to internal data.  Do not modify or dire things may
1797:/usr/include/c++/4.8/bits/basic_string.h ****        *  happen.
1798:/usr/include/c++/4.8/bits/basic_string.h ****       */
1799:/usr/include/c++/4.8/bits/basic_string.h ****       const _CharT*
1800:/usr/include/c++/4.8/bits/basic_string.h ****       c_str() const _GLIBCXX_NOEXCEPT
1801:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_data(); }
1802:/usr/include/c++/4.8/bits/basic_string.h **** 
1803:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1804:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Return const pointer to contents.
1805:/usr/include/c++/4.8/bits/basic_string.h ****        *
1806:/usr/include/c++/4.8/bits/basic_string.h ****        *  This is a handle to internal data.  Do not modify or dire things may
1807:/usr/include/c++/4.8/bits/basic_string.h ****        *  happen.
1808:/usr/include/c++/4.8/bits/basic_string.h ****       */
1809:/usr/include/c++/4.8/bits/basic_string.h ****       const _CharT*
1810:/usr/include/c++/4.8/bits/basic_string.h ****       data() const _GLIBCXX_NOEXCEPT
1811:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_data(); }
1812:/usr/include/c++/4.8/bits/basic_string.h **** 
1813:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1814:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Return copy of allocator used to construct this string.
1815:/usr/include/c++/4.8/bits/basic_string.h ****       */
1816:/usr/include/c++/4.8/bits/basic_string.h ****       allocator_type
1817:/usr/include/c++/4.8/bits/basic_string.h ****       get_allocator() const _GLIBCXX_NOEXCEPT
1818:/usr/include/c++/4.8/bits/basic_string.h ****       { return _M_dataplus; }
1819:/usr/include/c++/4.8/bits/basic_string.h **** 
1820:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1821:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a C substring.
1822:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to locate.
1823:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from.
1824:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from @a s to search for.
1825:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of first occurrence.
1826:/usr/include/c++/4.8/bits/basic_string.h ****        *
1827:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for the first @a
1828:/usr/include/c++/4.8/bits/basic_string.h ****        *  __n characters in @a __s within this string.  If found,
1829:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it begins.  If not found, returns
1830:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
1831:/usr/include/c++/4.8/bits/basic_string.h ****       */
1832:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1833:/usr/include/c++/4.8/bits/basic_string.h ****       find(const _CharT* __s, size_type __pos, size_type __n) const;
GAS LISTING /tmp/cc3o2J9C.s 			page 38


1834:/usr/include/c++/4.8/bits/basic_string.h **** 
1835:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1836:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a string.
1837:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to locate.
1838:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1839:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of first occurrence.
1840:/usr/include/c++/4.8/bits/basic_string.h ****        *
1841:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for value of @a __str within
1842:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  If found, returns the index where it begins.  If not
1843:/usr/include/c++/4.8/bits/basic_string.h ****        *  found, returns npos.
1844:/usr/include/c++/4.8/bits/basic_string.h ****       */
1845:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1846:/usr/include/c++/4.8/bits/basic_string.h ****       find(const basic_string& __str, size_type __pos = 0) const
1847:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
1848:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find(__str.data(), __pos, __str.size()); }
1849:/usr/include/c++/4.8/bits/basic_string.h **** 
1850:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1851:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a C string.
1852:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to locate.
1853:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1854:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of first occurrence.
1855:/usr/include/c++/4.8/bits/basic_string.h ****        *
1856:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for the value of @a
1857:/usr/include/c++/4.8/bits/basic_string.h ****        *  __s within this string.  If found, returns the index where
1858:/usr/include/c++/4.8/bits/basic_string.h ****        *  it begins.  If not found, returns npos.
1859:/usr/include/c++/4.8/bits/basic_string.h ****       */
1860:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1861:/usr/include/c++/4.8/bits/basic_string.h ****       find(const _CharT* __s, size_type __pos = 0) const
1862:/usr/include/c++/4.8/bits/basic_string.h ****       {
1863:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1864:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->find(__s, __pos, traits_type::length(__s));
1865:/usr/include/c++/4.8/bits/basic_string.h ****       }
1866:/usr/include/c++/4.8/bits/basic_string.h **** 
1867:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1868:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character.
1869:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to locate.
1870:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1871:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
1872:/usr/include/c++/4.8/bits/basic_string.h ****        *
1873:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for @a __c within
1874:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  If found, returns the index where it was
1875:/usr/include/c++/4.8/bits/basic_string.h ****        *  found.  If not found, returns npos.
1876:/usr/include/c++/4.8/bits/basic_string.h ****       */
1877:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1878:/usr/include/c++/4.8/bits/basic_string.h ****       find(_CharT __c, size_type __pos = 0) const _GLIBCXX_NOEXCEPT;
1879:/usr/include/c++/4.8/bits/basic_string.h **** 
1880:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1881:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a string.
1882:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to locate.
1883:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
1884:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of last occurrence.
1885:/usr/include/c++/4.8/bits/basic_string.h ****        *
1886:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for value of @a
1887:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str within this string.  If found, returns the index where
1888:/usr/include/c++/4.8/bits/basic_string.h ****        *  it begins.  If not found, returns npos.
1889:/usr/include/c++/4.8/bits/basic_string.h ****       */
1890:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
GAS LISTING /tmp/cc3o2J9C.s 			page 39


1891:/usr/include/c++/4.8/bits/basic_string.h ****       rfind(const basic_string& __str, size_type __pos = npos) const
1892:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
1893:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->rfind(__str.data(), __pos, __str.size()); }
1894:/usr/include/c++/4.8/bits/basic_string.h **** 
1895:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1896:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a C substring.
1897:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to locate.
1898:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from.
1899:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from s to search for.
1900:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of last occurrence.
1901:/usr/include/c++/4.8/bits/basic_string.h ****        *
1902:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for the first @a
1903:/usr/include/c++/4.8/bits/basic_string.h ****        *  __n characters in @a __s within this string.  If found,
1904:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it begins.  If not found, returns
1905:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
1906:/usr/include/c++/4.8/bits/basic_string.h ****       */
1907:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1908:/usr/include/c++/4.8/bits/basic_string.h ****       rfind(const _CharT* __s, size_type __pos, size_type __n) const;
1909:/usr/include/c++/4.8/bits/basic_string.h **** 
1910:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1911:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a C string.
1912:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to locate.
1913:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to start search at (default end).
1914:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of start of  last occurrence.
1915:/usr/include/c++/4.8/bits/basic_string.h ****        *
1916:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for the value of
1917:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __s within this string.  If found, returns the index
1918:/usr/include/c++/4.8/bits/basic_string.h ****        *  where it begins.  If not found, returns npos.
1919:/usr/include/c++/4.8/bits/basic_string.h ****       */
1920:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1921:/usr/include/c++/4.8/bits/basic_string.h ****       rfind(const _CharT* __s, size_type __pos = npos) const
1922:/usr/include/c++/4.8/bits/basic_string.h ****       {
1923:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1924:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->rfind(__s, __pos, traits_type::length(__s));
1925:/usr/include/c++/4.8/bits/basic_string.h ****       }
1926:/usr/include/c++/4.8/bits/basic_string.h **** 
1927:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1928:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character.
1929:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to locate.
1930:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
1931:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
1932:/usr/include/c++/4.8/bits/basic_string.h ****        *
1933:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for @a __c within
1934:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  If found, returns the index where it was
1935:/usr/include/c++/4.8/bits/basic_string.h ****        *  found.  If not found, returns npos.
1936:/usr/include/c++/4.8/bits/basic_string.h ****       */
1937:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1938:/usr/include/c++/4.8/bits/basic_string.h ****       rfind(_CharT __c, size_type __pos = npos) const _GLIBCXX_NOEXCEPT;
1939:/usr/include/c++/4.8/bits/basic_string.h **** 
1940:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1941:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character of string.
1942:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String containing characters to locate.
1943:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1944:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
1945:/usr/include/c++/4.8/bits/basic_string.h ****        *
1946:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for one of the
1947:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters of @a __str within this string.  If found,
GAS LISTING /tmp/cc3o2J9C.s 			page 40


1948:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it was found.  If not found, returns
1949:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
1950:/usr/include/c++/4.8/bits/basic_string.h ****       */
1951:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1952:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_of(const basic_string& __str, size_type __pos = 0) const
1953:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
1954:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find_first_of(__str.data(), __pos, __str.size()); }
1955:/usr/include/c++/4.8/bits/basic_string.h **** 
1956:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1957:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character of C substring.
1958:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  String containing characters to locate.
1959:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from.
1960:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from s to search for.
1961:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
1962:/usr/include/c++/4.8/bits/basic_string.h ****        *
1963:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for one of the
1964:/usr/include/c++/4.8/bits/basic_string.h ****        *  first @a __n characters of @a __s within this string.  If
1965:/usr/include/c++/4.8/bits/basic_string.h ****        *  found, returns the index where it was found.  If not found,
1966:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns npos.
1967:/usr/include/c++/4.8/bits/basic_string.h ****       */
1968:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1969:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const;
1970:/usr/include/c++/4.8/bits/basic_string.h **** 
1971:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1972:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character of C string.
1973:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  String containing characters to locate.
1974:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1975:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
1976:/usr/include/c++/4.8/bits/basic_string.h ****        *
1977:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for one of the
1978:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters of @a __s within this string.  If found, returns
1979:/usr/include/c++/4.8/bits/basic_string.h ****        *  the index where it was found.  If not found, returns npos.
1980:/usr/include/c++/4.8/bits/basic_string.h ****       */
1981:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
1982:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_of(const _CharT* __s, size_type __pos = 0) const
1983:/usr/include/c++/4.8/bits/basic_string.h ****       {
1984:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
1985:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->find_first_of(__s, __pos, traits_type::length(__s));
1986:/usr/include/c++/4.8/bits/basic_string.h ****       }
1987:/usr/include/c++/4.8/bits/basic_string.h **** 
1988:/usr/include/c++/4.8/bits/basic_string.h ****       /**
1989:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character.
1990:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to locate.
1991:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
1992:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
1993:/usr/include/c++/4.8/bits/basic_string.h ****        *
1994:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for the character
1995:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __c within this string.  If found, returns the index
1996:/usr/include/c++/4.8/bits/basic_string.h ****        *  where it was found.  If not found, returns npos.
1997:/usr/include/c++/4.8/bits/basic_string.h ****        *
1998:/usr/include/c++/4.8/bits/basic_string.h ****        *  Note: equivalent to find(__c, __pos).
1999:/usr/include/c++/4.8/bits/basic_string.h ****       */
2000:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2001:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_of(_CharT __c, size_type __pos = 0) const _GLIBCXX_NOEXCEPT
2002:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find(__c, __pos); }
2003:/usr/include/c++/4.8/bits/basic_string.h **** 
2004:/usr/include/c++/4.8/bits/basic_string.h ****       /**
GAS LISTING /tmp/cc3o2J9C.s 			page 41


2005:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character of string.
2006:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String containing characters to locate.
2007:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2008:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2009:/usr/include/c++/4.8/bits/basic_string.h ****        *
2010:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for one of the
2011:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters of @a __str within this string.  If found,
2012:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it was found.  If not found, returns
2013:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
2014:/usr/include/c++/4.8/bits/basic_string.h ****       */
2015:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2016:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_of(const basic_string& __str, size_type __pos = npos) const
2017:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
2018:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find_last_of(__str.data(), __pos, __str.size()); }
2019:/usr/include/c++/4.8/bits/basic_string.h **** 
2020:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2021:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character of C substring.
2022:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to locate.
2023:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from.
2024:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from s to search for.
2025:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2026:/usr/include/c++/4.8/bits/basic_string.h ****        *
2027:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for one of the
2028:/usr/include/c++/4.8/bits/basic_string.h ****        *  first @a __n characters of @a __s within this string.  If
2029:/usr/include/c++/4.8/bits/basic_string.h ****        *  found, returns the index where it was found.  If not found,
2030:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns npos.
2031:/usr/include/c++/4.8/bits/basic_string.h ****       */
2032:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2033:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const;
2034:/usr/include/c++/4.8/bits/basic_string.h **** 
2035:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2036:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character of C string.
2037:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to locate.
2038:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2039:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2040:/usr/include/c++/4.8/bits/basic_string.h ****        *
2041:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for one of the
2042:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters of @a __s within this string.  If found, returns
2043:/usr/include/c++/4.8/bits/basic_string.h ****        *  the index where it was found.  If not found, returns npos.
2044:/usr/include/c++/4.8/bits/basic_string.h ****       */
2045:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2046:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_of(const _CharT* __s, size_type __pos = npos) const
2047:/usr/include/c++/4.8/bits/basic_string.h ****       {
2048:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
2049:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->find_last_of(__s, __pos, traits_type::length(__s));
2050:/usr/include/c++/4.8/bits/basic_string.h ****       }
2051:/usr/include/c++/4.8/bits/basic_string.h **** 
2052:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2053:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character.
2054:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to locate.
2055:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2056:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2057:/usr/include/c++/4.8/bits/basic_string.h ****        *
2058:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for @a __c within
2059:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  If found, returns the index where it was
2060:/usr/include/c++/4.8/bits/basic_string.h ****        *  found.  If not found, returns npos.
2061:/usr/include/c++/4.8/bits/basic_string.h ****        *
GAS LISTING /tmp/cc3o2J9C.s 			page 42


2062:/usr/include/c++/4.8/bits/basic_string.h ****        *  Note: equivalent to rfind(__c, __pos).
2063:/usr/include/c++/4.8/bits/basic_string.h ****       */
2064:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2065:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_of(_CharT __c, size_type __pos = npos) const _GLIBCXX_NOEXCEPT
2066:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->rfind(__c, __pos); }
2067:/usr/include/c++/4.8/bits/basic_string.h **** 
2068:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2069:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character not in string.
2070:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String containing characters to avoid.
2071:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
2072:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
2073:/usr/include/c++/4.8/bits/basic_string.h ****        *
2074:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for a character not contained
2075:/usr/include/c++/4.8/bits/basic_string.h ****        *  in @a __str within this string.  If found, returns the index where it
2076:/usr/include/c++/4.8/bits/basic_string.h ****        *  was found.  If not found, returns npos.
2077:/usr/include/c++/4.8/bits/basic_string.h ****       */
2078:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2079:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
2080:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
2081:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
2082:/usr/include/c++/4.8/bits/basic_string.h **** 
2083:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2084:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character not in C substring.
2085:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to avoid.
2086:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from.
2087:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from __s to consider.
2088:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
2089:/usr/include/c++/4.8/bits/basic_string.h ****        *
2090:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for a character not
2091:/usr/include/c++/4.8/bits/basic_string.h ****        *  contained in the first @a __n characters of @a __s within
2092:/usr/include/c++/4.8/bits/basic_string.h ****        *  this string.  If found, returns the index where it was
2093:/usr/include/c++/4.8/bits/basic_string.h ****        *  found.  If not found, returns npos.
2094:/usr/include/c++/4.8/bits/basic_string.h ****       */
2095:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2096:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_not_of(const _CharT* __s, size_type __pos,
2097:/usr/include/c++/4.8/bits/basic_string.h **** 			size_type __n) const;
2098:/usr/include/c++/4.8/bits/basic_string.h **** 
2099:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2100:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a character not in C string.
2101:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to avoid.
2102:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
2103:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
2104:/usr/include/c++/4.8/bits/basic_string.h ****        *
2105:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for a character not
2106:/usr/include/c++/4.8/bits/basic_string.h ****        *  contained in @a __s within this string.  If found, returns
2107:/usr/include/c++/4.8/bits/basic_string.h ****        *  the index where it was found.  If not found, returns npos.
2108:/usr/include/c++/4.8/bits/basic_string.h ****       */
2109:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2110:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
2111:/usr/include/c++/4.8/bits/basic_string.h ****       {
2112:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
2113:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->find_first_not_of(__s, __pos, traits_type::length(__s));
2114:/usr/include/c++/4.8/bits/basic_string.h ****       }
2115:/usr/include/c++/4.8/bits/basic_string.h **** 
2116:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2117:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find position of a different character.
2118:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to avoid.
GAS LISTING /tmp/cc3o2J9C.s 			page 43


2119:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search from (default 0).
2120:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of first occurrence.
2121:/usr/include/c++/4.8/bits/basic_string.h ****        *
2122:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches forward for a character
2123:/usr/include/c++/4.8/bits/basic_string.h ****        *  other than @a __c within this string.  If found, returns the
2124:/usr/include/c++/4.8/bits/basic_string.h ****        *  index where it was found.  If not found, returns npos.
2125:/usr/include/c++/4.8/bits/basic_string.h ****       */
2126:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2127:/usr/include/c++/4.8/bits/basic_string.h ****       find_first_not_of(_CharT __c, size_type __pos = 0) const
2128:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT;
2129:/usr/include/c++/4.8/bits/basic_string.h **** 
2130:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2131:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character not in string.
2132:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String containing characters to avoid.
2133:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2134:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2135:/usr/include/c++/4.8/bits/basic_string.h ****        *
2136:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for a character
2137:/usr/include/c++/4.8/bits/basic_string.h ****        *  not contained in @a __str within this string.  If found,
2138:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it was found.  If not found, returns
2139:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
2140:/usr/include/c++/4.8/bits/basic_string.h ****       */
2141:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2142:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
2143:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT
2144:/usr/include/c++/4.8/bits/basic_string.h ****       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
2145:/usr/include/c++/4.8/bits/basic_string.h **** 
2146:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2147:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character not in C substring.
2148:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to avoid.
2149:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from.
2150:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters from s to consider.
2151:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2152:/usr/include/c++/4.8/bits/basic_string.h ****        *
2153:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for a character not
2154:/usr/include/c++/4.8/bits/basic_string.h ****        *  contained in the first @a __n characters of @a __s within this string.
2155:/usr/include/c++/4.8/bits/basic_string.h ****        *  If found, returns the index where it was found.  If not found,
2156:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns npos.
2157:/usr/include/c++/4.8/bits/basic_string.h ****       */
2158:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2159:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_not_of(const _CharT* __s, size_type __pos,
2160:/usr/include/c++/4.8/bits/basic_string.h **** 		       size_type __n) const;
2161:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2162:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a character not in C string.
2163:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string containing characters to avoid.
2164:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2165:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2166:/usr/include/c++/4.8/bits/basic_string.h ****        *
2167:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for a character
2168:/usr/include/c++/4.8/bits/basic_string.h ****        *  not contained in @a __s within this string.  If found,
2169:/usr/include/c++/4.8/bits/basic_string.h ****        *  returns the index where it was found.  If not found, returns
2170:/usr/include/c++/4.8/bits/basic_string.h ****        *  npos.
2171:/usr/include/c++/4.8/bits/basic_string.h ****       */
2172:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2173:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
2174:/usr/include/c++/4.8/bits/basic_string.h ****       {
2175:/usr/include/c++/4.8/bits/basic_string.h **** 	__glibcxx_requires_string(__s);
GAS LISTING /tmp/cc3o2J9C.s 			page 44


2176:/usr/include/c++/4.8/bits/basic_string.h **** 	return this->find_last_not_of(__s, __pos, traits_type::length(__s));
2177:/usr/include/c++/4.8/bits/basic_string.h ****       }
2178:/usr/include/c++/4.8/bits/basic_string.h **** 
2179:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2180:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Find last position of a different character.
2181:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __c  Character to avoid.
2182:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of character to search back from (default end).
2183:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Index of last occurrence.
2184:/usr/include/c++/4.8/bits/basic_string.h ****        *
2185:/usr/include/c++/4.8/bits/basic_string.h ****        *  Starting from @a __pos, searches backward for a character other than
2186:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __c within this string.  If found, returns the index where it was
2187:/usr/include/c++/4.8/bits/basic_string.h ****        *  found.  If not found, returns npos.
2188:/usr/include/c++/4.8/bits/basic_string.h ****       */
2189:/usr/include/c++/4.8/bits/basic_string.h ****       size_type
2190:/usr/include/c++/4.8/bits/basic_string.h ****       find_last_not_of(_CharT __c, size_type __pos = npos) const
2191:/usr/include/c++/4.8/bits/basic_string.h **** 	_GLIBCXX_NOEXCEPT;
2192:/usr/include/c++/4.8/bits/basic_string.h **** 
2193:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2194:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Get a substring.
2195:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character (default 0).
2196:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters in substring (default remainder).
2197:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  The new string.
2198:/usr/include/c++/4.8/bits/basic_string.h ****        *  @throw  std::out_of_range  If __pos > size().
2199:/usr/include/c++/4.8/bits/basic_string.h ****        *
2200:/usr/include/c++/4.8/bits/basic_string.h ****        *  Construct and return a new string using the @a __n
2201:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters starting at @a __pos.  If the string is too
2202:/usr/include/c++/4.8/bits/basic_string.h ****        *  short, use the remainder of the characters.  If @a __pos is
2203:/usr/include/c++/4.8/bits/basic_string.h ****        *  beyond the end of the string, out_of_range is thrown.
2204:/usr/include/c++/4.8/bits/basic_string.h ****       */
2205:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string
2206:/usr/include/c++/4.8/bits/basic_string.h ****       substr(size_type __pos = 0, size_type __n = npos) const
2207:/usr/include/c++/4.8/bits/basic_string.h ****       { return basic_string(*this,
2208:/usr/include/c++/4.8/bits/basic_string.h **** 			    _M_check(__pos, "basic_string::substr"), __n); }
2209:/usr/include/c++/4.8/bits/basic_string.h **** 
2210:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2211:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare to a string.
2212:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to compare against.
2213:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
2214:/usr/include/c++/4.8/bits/basic_string.h ****        *
2215:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns an integer < 0 if this string is ordered before @a
2216:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str, 0 if their values are equivalent, or > 0 if this
2217:/usr/include/c++/4.8/bits/basic_string.h ****        *  string is ordered after @a __str.  Determines the effective
2218:/usr/include/c++/4.8/bits/basic_string.h ****        *  length rlen of the strings to compare as the smallest of
2219:/usr/include/c++/4.8/bits/basic_string.h ****        *  size() and str.size().  The function then compares the two
2220:/usr/include/c++/4.8/bits/basic_string.h ****        *  strings by calling traits::compare(data(), str.data(),rlen).
2221:/usr/include/c++/4.8/bits/basic_string.h ****        *  If the result of the comparison is nonzero returns it,
2222:/usr/include/c++/4.8/bits/basic_string.h ****        *  otherwise the shorter one is ordered first.
2223:/usr/include/c++/4.8/bits/basic_string.h ****       */
2224:/usr/include/c++/4.8/bits/basic_string.h ****       int
2225:/usr/include/c++/4.8/bits/basic_string.h ****       compare(const basic_string& __str) const
2226:/usr/include/c++/4.8/bits/basic_string.h ****       {
2227:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __size = this->size();
2228:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __osize = __str.size();
2229:/usr/include/c++/4.8/bits/basic_string.h **** 	const size_type __len = std::min(__size, __osize);
2230:/usr/include/c++/4.8/bits/basic_string.h **** 
2231:/usr/include/c++/4.8/bits/basic_string.h **** 	int __r = traits_type::compare(_M_data(), __str.data(), __len);
2232:/usr/include/c++/4.8/bits/basic_string.h **** 	if (!__r)
GAS LISTING /tmp/cc3o2J9C.s 			page 45


2233:/usr/include/c++/4.8/bits/basic_string.h **** 	  __r = _S_compare(__size, __osize);
2234:/usr/include/c++/4.8/bits/basic_string.h **** 	return __r;
2235:/usr/include/c++/4.8/bits/basic_string.h ****       }
2236:/usr/include/c++/4.8/bits/basic_string.h **** 
2237:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2238:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare substring to a string.
2239:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character of substring.
2240:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n  Number of characters in substring.
2241:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to compare against.
2242:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
2243:/usr/include/c++/4.8/bits/basic_string.h ****        *
2244:/usr/include/c++/4.8/bits/basic_string.h ****        *  Form the substring of this string from the @a __n characters
2245:/usr/include/c++/4.8/bits/basic_string.h ****        *  starting at @a __pos.  Returns an integer < 0 if the
2246:/usr/include/c++/4.8/bits/basic_string.h ****        *  substring is ordered before @a __str, 0 if their values are
2247:/usr/include/c++/4.8/bits/basic_string.h ****        *  equivalent, or > 0 if the substring is ordered after @a
2248:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str.  Determines the effective length rlen of the strings
2249:/usr/include/c++/4.8/bits/basic_string.h ****        *  to compare as the smallest of the length of the substring
2250:/usr/include/c++/4.8/bits/basic_string.h ****        *  and @a __str.size().  The function then compares the two
2251:/usr/include/c++/4.8/bits/basic_string.h ****        *  strings by calling
2252:/usr/include/c++/4.8/bits/basic_string.h ****        *  traits::compare(substring.data(),str.data(),rlen).  If the
2253:/usr/include/c++/4.8/bits/basic_string.h ****        *  result of the comparison is nonzero returns it, otherwise
2254:/usr/include/c++/4.8/bits/basic_string.h ****        *  the shorter one is ordered first.
2255:/usr/include/c++/4.8/bits/basic_string.h ****       */
2256:/usr/include/c++/4.8/bits/basic_string.h ****       int
2257:/usr/include/c++/4.8/bits/basic_string.h ****       compare(size_type __pos, size_type __n, const basic_string& __str) const;
2258:/usr/include/c++/4.8/bits/basic_string.h **** 
2259:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2260:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare substring to a substring.
2261:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos1  Index of first character of substring.
2262:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters in substring.
2263:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __str  String to compare against.
2264:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos2  Index of first character of substring of str.
2265:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n2  Number of characters in substring of str.
2266:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
2267:/usr/include/c++/4.8/bits/basic_string.h ****        *
2268:/usr/include/c++/4.8/bits/basic_string.h ****        *  Form the substring of this string from the @a __n1
2269:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters starting at @a __pos1.  Form the substring of @a
2270:/usr/include/c++/4.8/bits/basic_string.h ****        *  __str from the @a __n2 characters starting at @a __pos2.
2271:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns an integer < 0 if this substring is ordered before
2272:/usr/include/c++/4.8/bits/basic_string.h ****        *  the substring of @a __str, 0 if their values are equivalent,
2273:/usr/include/c++/4.8/bits/basic_string.h ****        *  or > 0 if this substring is ordered after the substring of
2274:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __str.  Determines the effective length rlen of the
2275:/usr/include/c++/4.8/bits/basic_string.h ****        *  strings to compare as the smallest of the lengths of the
2276:/usr/include/c++/4.8/bits/basic_string.h ****        *  substrings.  The function then compares the two strings by
2277:/usr/include/c++/4.8/bits/basic_string.h ****        *  calling
2278:/usr/include/c++/4.8/bits/basic_string.h ****        *  traits::compare(substring.data(),str.substr(pos2,n2).data(),rlen).
2279:/usr/include/c++/4.8/bits/basic_string.h ****        *  If the result of the comparison is nonzero returns it,
2280:/usr/include/c++/4.8/bits/basic_string.h ****        *  otherwise the shorter one is ordered first.
2281:/usr/include/c++/4.8/bits/basic_string.h ****       */
2282:/usr/include/c++/4.8/bits/basic_string.h ****       int
2283:/usr/include/c++/4.8/bits/basic_string.h ****       compare(size_type __pos1, size_type __n1, const basic_string& __str,
2284:/usr/include/c++/4.8/bits/basic_string.h **** 	      size_type __pos2, size_type __n2) const;
2285:/usr/include/c++/4.8/bits/basic_string.h **** 
2286:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2287:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare to a C string.
2288:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to compare against.
2289:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
GAS LISTING /tmp/cc3o2J9C.s 			page 46


2290:/usr/include/c++/4.8/bits/basic_string.h ****        *
2291:/usr/include/c++/4.8/bits/basic_string.h ****        *  Returns an integer < 0 if this string is ordered before @a __s, 0 if
2292:/usr/include/c++/4.8/bits/basic_string.h ****        *  their values are equivalent, or > 0 if this string is ordered after
2293:/usr/include/c++/4.8/bits/basic_string.h ****        *  @a __s.  Determines the effective length rlen of the strings to
2294:/usr/include/c++/4.8/bits/basic_string.h ****        *  compare as the smallest of size() and the length of a string
2295:/usr/include/c++/4.8/bits/basic_string.h ****        *  constructed from @a __s.  The function then compares the two strings
2296:/usr/include/c++/4.8/bits/basic_string.h ****        *  by calling traits::compare(data(),s,rlen).  If the result of the
2297:/usr/include/c++/4.8/bits/basic_string.h ****        *  comparison is nonzero returns it, otherwise the shorter one is
2298:/usr/include/c++/4.8/bits/basic_string.h ****        *  ordered first.
2299:/usr/include/c++/4.8/bits/basic_string.h ****       */
2300:/usr/include/c++/4.8/bits/basic_string.h ****       int
2301:/usr/include/c++/4.8/bits/basic_string.h ****       compare(const _CharT* __s) const;
2302:/usr/include/c++/4.8/bits/basic_string.h **** 
2303:/usr/include/c++/4.8/bits/basic_string.h ****       // _GLIBCXX_RESOLVE_LIB_DEFECTS
2304:/usr/include/c++/4.8/bits/basic_string.h ****       // 5 String::compare specification questionable
2305:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2306:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare substring to a C string.
2307:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character of substring.
2308:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters in substring.
2309:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  C string to compare against.
2310:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
2311:/usr/include/c++/4.8/bits/basic_string.h ****        *
2312:/usr/include/c++/4.8/bits/basic_string.h ****        *  Form the substring of this string from the @a __n1
2313:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters starting at @a pos.  Returns an integer < 0 if
2314:/usr/include/c++/4.8/bits/basic_string.h ****        *  the substring is ordered before @a __s, 0 if their values
2315:/usr/include/c++/4.8/bits/basic_string.h ****        *  are equivalent, or > 0 if the substring is ordered after @a
2316:/usr/include/c++/4.8/bits/basic_string.h ****        *  __s.  Determines the effective length rlen of the strings to
2317:/usr/include/c++/4.8/bits/basic_string.h ****        *  compare as the smallest of the length of the substring and
2318:/usr/include/c++/4.8/bits/basic_string.h ****        *  the length of a string constructed from @a __s.  The
2319:/usr/include/c++/4.8/bits/basic_string.h ****        *  function then compares the two string by calling
2320:/usr/include/c++/4.8/bits/basic_string.h ****        *  traits::compare(substring.data(),__s,rlen).  If the result of
2321:/usr/include/c++/4.8/bits/basic_string.h ****        *  the comparison is nonzero returns it, otherwise the shorter
2322:/usr/include/c++/4.8/bits/basic_string.h ****        *  one is ordered first.
2323:/usr/include/c++/4.8/bits/basic_string.h ****       */
2324:/usr/include/c++/4.8/bits/basic_string.h ****       int
2325:/usr/include/c++/4.8/bits/basic_string.h ****       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
2326:/usr/include/c++/4.8/bits/basic_string.h **** 
2327:/usr/include/c++/4.8/bits/basic_string.h ****       /**
2328:/usr/include/c++/4.8/bits/basic_string.h ****        *  @brief  Compare substring against a character %array.
2329:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __pos  Index of first character of substring.
2330:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n1  Number of characters in substring.
2331:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __s  character %array to compare against.
2332:/usr/include/c++/4.8/bits/basic_string.h ****        *  @param __n2  Number of characters of s.
2333:/usr/include/c++/4.8/bits/basic_string.h ****        *  @return  Integer < 0, 0, or > 0.
2334:/usr/include/c++/4.8/bits/basic_string.h ****        *
2335:/usr/include/c++/4.8/bits/basic_string.h ****        *  Form the substring of this string from the @a __n1
2336:/usr/include/c++/4.8/bits/basic_string.h ****        *  characters starting at @a __pos.  Form a string from the
2337:/usr/include/c++/4.8/bits/basic_string.h ****        *  first @a __n2 characters of @a __s.  Returns an integer < 0
2338:/usr/include/c++/4.8/bits/basic_string.h ****        *  if this substring is ordered before the string from @a __s,
2339:/usr/include/c++/4.8/bits/basic_string.h ****        *  0 if their values are equivalent, or > 0 if this substring
2340:/usr/include/c++/4.8/bits/basic_string.h ****        *  is ordered after the string from @a __s.  Determines the
2341:/usr/include/c++/4.8/bits/basic_string.h ****        *  effective length rlen of the strings to compare as the
2342:/usr/include/c++/4.8/bits/basic_string.h ****        *  smallest of the length of the substring and @a __n2.  The
2343:/usr/include/c++/4.8/bits/basic_string.h ****        *  function then compares the two strings by calling
2344:/usr/include/c++/4.8/bits/basic_string.h ****        *  traits::compare(substring.data(),s,rlen).  If the result of
2345:/usr/include/c++/4.8/bits/basic_string.h ****        *  the comparison is nonzero returns it, otherwise the shorter
2346:/usr/include/c++/4.8/bits/basic_string.h ****        *  one is ordered first.
GAS LISTING /tmp/cc3o2J9C.s 			page 47


2347:/usr/include/c++/4.8/bits/basic_string.h ****        *
2348:/usr/include/c++/4.8/bits/basic_string.h ****        *  NB: s must have at least n2 characters, &apos;\\0&apos; has
2349:/usr/include/c++/4.8/bits/basic_string.h ****        *  no special meaning.
2350:/usr/include/c++/4.8/bits/basic_string.h ****       */
2351:/usr/include/c++/4.8/bits/basic_string.h ****       int
2352:/usr/include/c++/4.8/bits/basic_string.h ****       compare(size_type __pos, size_type __n1, const _CharT* __s,
2353:/usr/include/c++/4.8/bits/basic_string.h **** 	      size_type __n2) const;
2354:/usr/include/c++/4.8/bits/basic_string.h ****   };
2355:/usr/include/c++/4.8/bits/basic_string.h **** 
2356:/usr/include/c++/4.8/bits/basic_string.h ****   // operator+
2357:/usr/include/c++/4.8/bits/basic_string.h ****   /**
2358:/usr/include/c++/4.8/bits/basic_string.h ****    *  @brief  Concatenate two strings.
2359:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __lhs  First string.
2360:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __rhs  Last string.
2361:/usr/include/c++/4.8/bits/basic_string.h ****    *  @return  New string with value of @a __lhs followed by @a __rhs.
2362:/usr/include/c++/4.8/bits/basic_string.h ****    */
2363:/usr/include/c++/4.8/bits/basic_string.h ****   template<typename _CharT, typename _Traits, typename _Alloc>
2364:/usr/include/c++/4.8/bits/basic_string.h ****     basic_string<_CharT, _Traits, _Alloc>
2365:/usr/include/c++/4.8/bits/basic_string.h ****     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
2366:/usr/include/c++/4.8/bits/basic_string.h **** 	      const basic_string<_CharT, _Traits, _Alloc>& __rhs)
2367:/usr/include/c++/4.8/bits/basic_string.h ****     {
2368:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
2369:/usr/include/c++/4.8/bits/basic_string.h ****       __str.append(__rhs);
2370:/usr/include/c++/4.8/bits/basic_string.h ****       return __str;
2371:/usr/include/c++/4.8/bits/basic_string.h ****     }
2372:/usr/include/c++/4.8/bits/basic_string.h **** 
2373:/usr/include/c++/4.8/bits/basic_string.h ****   /**
2374:/usr/include/c++/4.8/bits/basic_string.h ****    *  @brief  Concatenate C string and string.
2375:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __lhs  First string.
2376:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __rhs  Last string.
2377:/usr/include/c++/4.8/bits/basic_string.h ****    *  @return  New string with value of @a __lhs followed by @a __rhs.
2378:/usr/include/c++/4.8/bits/basic_string.h ****    */
2379:/usr/include/c++/4.8/bits/basic_string.h ****   template<typename _CharT, typename _Traits, typename _Alloc>
2380:/usr/include/c++/4.8/bits/basic_string.h ****     basic_string<_CharT,_Traits,_Alloc>
2381:/usr/include/c++/4.8/bits/basic_string.h ****     operator+(const _CharT* __lhs,
2382:/usr/include/c++/4.8/bits/basic_string.h **** 	      const basic_string<_CharT,_Traits,_Alloc>& __rhs);
2383:/usr/include/c++/4.8/bits/basic_string.h **** 
2384:/usr/include/c++/4.8/bits/basic_string.h ****   /**
2385:/usr/include/c++/4.8/bits/basic_string.h ****    *  @brief  Concatenate character and string.
2386:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __lhs  First string.
2387:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __rhs  Last string.
2388:/usr/include/c++/4.8/bits/basic_string.h ****    *  @return  New string with @a __lhs followed by @a __rhs.
2389:/usr/include/c++/4.8/bits/basic_string.h ****    */
2390:/usr/include/c++/4.8/bits/basic_string.h ****   template<typename _CharT, typename _Traits, typename _Alloc>
2391:/usr/include/c++/4.8/bits/basic_string.h ****     basic_string<_CharT,_Traits,_Alloc>
2392:/usr/include/c++/4.8/bits/basic_string.h ****     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
2393:/usr/include/c++/4.8/bits/basic_string.h **** 
2394:/usr/include/c++/4.8/bits/basic_string.h ****   /**
2395:/usr/include/c++/4.8/bits/basic_string.h ****    *  @brief  Concatenate string and C string.
2396:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __lhs  First string.
2397:/usr/include/c++/4.8/bits/basic_string.h ****    *  @param __rhs  Last string.
2398:/usr/include/c++/4.8/bits/basic_string.h ****    *  @return  New string with @a __lhs followed by @a __rhs.
2399:/usr/include/c++/4.8/bits/basic_string.h ****    */
2400:/usr/include/c++/4.8/bits/basic_string.h ****   template<typename _CharT, typename _Traits, typename _Alloc>
2401:/usr/include/c++/4.8/bits/basic_string.h ****     inline basic_string<_CharT, _Traits, _Alloc>
2402:/usr/include/c++/4.8/bits/basic_string.h ****     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
 230              		.loc 2 2402 0
GAS LISTING /tmp/cc3o2J9C.s 			page 48


 231              		.cfi_startproc
 232              		.cfi_personality 0x3,__gxx_personality_v0
 233              		.cfi_lsda 0x3,.LLSDA1313
 234              	.LVL26:
 235 0000 55       		pushq	%rbp
 236              		.cfi_def_cfa_offset 16
 237              		.cfi_offset 6, -16
 238 0001 53       		pushq	%rbx
 239              		.cfi_def_cfa_offset 24
 240              		.cfi_offset 3, -24
 241 0002 4883EC08 		subq	$8, %rsp
 242              		.cfi_def_cfa_offset 32
 243 0006 4889FB   		movq	%rdi, %rbx
 244 0009 4889D5   		movq	%rdx, %rbp
 245              	.LEHB4:
 246              	.LBB6:
2403:/usr/include/c++/4.8/bits/basic_string.h **** 	     const _CharT* __rhs)
2404:/usr/include/c++/4.8/bits/basic_string.h ****     {
2405:/usr/include/c++/4.8/bits/basic_string.h ****       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
 247              		.loc 2 2405 0
 248 000c E8000000 		call	_ZNSsC1ERKSs
 248      00
 249              	.LEHE4:
 250              	.LVL27:
2406:/usr/include/c++/4.8/bits/basic_string.h ****       __str.append(__rhs);
 251              		.loc 2 2406 0
 252 0011 4889EE   		movq	%rbp, %rsi
 253 0014 4889DF   		movq	%rbx, %rdi
 254              	.LEHB5:
 255 0017 E8000000 		call	_ZNSs6appendEPKc
 255      00
 256              	.LEHE5:
 257              	.LVL28:
 258 001c EB13     		jmp	.L17
 259              	.L16:
 260 001e 4889C5   		movq	%rax, %rbp
 261              	.LVL29:
 262 0021 4889DF   		movq	%rbx, %rdi
 263 0024 E8000000 		call	_ZNSsD1Ev
 263      00
 264              	.LVL30:
 265 0029 4889EF   		movq	%rbp, %rdi
 266              	.LEHB6:
 267 002c E8000000 		call	_Unwind_Resume
 267      00
 268              	.LEHE6:
 269              	.LVL31:
 270              	.L17:
 271              	.LBE6:
2407:/usr/include/c++/4.8/bits/basic_string.h ****       return __str;
2408:/usr/include/c++/4.8/bits/basic_string.h ****     }
 272              		.loc 2 2408 0
 273 0031 4889D8   		movq	%rbx, %rax
 274 0034 4883C408 		addq	$8, %rsp
 275              		.cfi_def_cfa_offset 24
 276 0038 5B       		popq	%rbx
 277              		.cfi_def_cfa_offset 16
GAS LISTING /tmp/cc3o2J9C.s 			page 49


 278              	.LVL32:
 279 0039 5D       		popq	%rbp
 280              		.cfi_def_cfa_offset 8
 281              	.LVL33:
 282 003a C3       		ret
 283              		.cfi_endproc
 284              	.LFE1313:
 285              		.section	.gcc_except_table
 286              	.LLSDA1313:
 287 0016 FF       		.byte	0xff
 288 0017 FF       		.byte	0xff
 289 0018 01       		.byte	0x1
 290 0019 0C       		.uleb128 .LLSDACSE1313-.LLSDACSB1313
 291              	.LLSDACSB1313:
 292 001a 0C       		.uleb128 .LEHB4-.LFB1313
 293 001b 05       		.uleb128 .LEHE4-.LEHB4
 294 001c 00       		.uleb128 0
 295 001d 00       		.uleb128 0
 296 001e 17       		.uleb128 .LEHB5-.LFB1313
 297 001f 05       		.uleb128 .LEHE5-.LEHB5
 298 0020 1E       		.uleb128 .L16-.LFB1313
 299 0021 00       		.uleb128 0
 300 0022 2C       		.uleb128 .LEHB6-.LFB1313
 301 0023 05       		.uleb128 .LEHE6-.LEHB6
 302 0024 00       		.uleb128 0
 303 0025 00       		.uleb128 0
 304              	.LLSDACSE1313:
 305              		.section	.text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_,"axG",@progbits,_ZStplIcSt11
 307              		.section	.rodata.str1.1
 308              	.LC2:
 309 000e 74657374 		.string	"test"
 309      00
 310              	.LC3:
 311 0013 626F6200 		.string	"bob"
 312              		.text
 314              	_Z41__static_initialization_and_destruction_0ii:
 315              	.LFB1411:
 316              		.loc 1 25 0
 317              		.cfi_startproc
 318              		.cfi_personality 0x3,__gxx_personality_v0
 319              		.cfi_lsda 0x3,.LLSDA1411
 320 00bb 83FF01   		cmpl	$1, %edi
 321 00be 0F85AF00 		jne	.L25
 321      0000
 322              		.loc 1 25 0 discriminator 1
 323 00c4 81FEFFFF 		cmpl	$65535, %esi
 323      0000
 324 00ca 0F85A300 		jne	.L25
 324      0000
 325              		.loc 1 25 0 is_stmt 0
 326 00d0 53       		pushq	%rbx
 327              		.cfi_def_cfa_offset 16
 328              		.cfi_offset 3, -16
 329 00d1 4883EC10 		subq	$16, %rsp
 330              		.cfi_def_cfa_offset 32
 331              		.file 3 "/usr/include/c++/4.8/iostream"
   1:/usr/include/c++/4.8/iostream **** // Standard iostream objects -*- C++ -*-
GAS LISTING /tmp/cc3o2J9C.s 			page 50


   2:/usr/include/c++/4.8/iostream **** 
   3:/usr/include/c++/4.8/iostream **** // Copyright (C) 1997-2013 Free Software Foundation, Inc.
   4:/usr/include/c++/4.8/iostream **** //
   5:/usr/include/c++/4.8/iostream **** // This file is part of the GNU ISO C++ Library.  This library is free
   6:/usr/include/c++/4.8/iostream **** // software; you can redistribute it and/or modify it under the
   7:/usr/include/c++/4.8/iostream **** // terms of the GNU General Public License as published by the
   8:/usr/include/c++/4.8/iostream **** // Free Software Foundation; either version 3, or (at your option)
   9:/usr/include/c++/4.8/iostream **** // any later version.
  10:/usr/include/c++/4.8/iostream **** 
  11:/usr/include/c++/4.8/iostream **** // This library is distributed in the hope that it will be useful,
  12:/usr/include/c++/4.8/iostream **** // but WITHOUT ANY WARRANTY; without even the implied warranty of
  13:/usr/include/c++/4.8/iostream **** // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14:/usr/include/c++/4.8/iostream **** // GNU General Public License for more details.
  15:/usr/include/c++/4.8/iostream **** 
  16:/usr/include/c++/4.8/iostream **** // Under Section 7 of GPL version 3, you are granted additional
  17:/usr/include/c++/4.8/iostream **** // permissions described in the GCC Runtime Library Exception, version
  18:/usr/include/c++/4.8/iostream **** // 3.1, as published by the Free Software Foundation.
  19:/usr/include/c++/4.8/iostream **** 
  20:/usr/include/c++/4.8/iostream **** // You should have received a copy of the GNU General Public License and
  21:/usr/include/c++/4.8/iostream **** // a copy of the GCC Runtime Library Exception along with this program;
  22:/usr/include/c++/4.8/iostream **** // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
  23:/usr/include/c++/4.8/iostream **** // <http://www.gnu.org/licenses/>.
  24:/usr/include/c++/4.8/iostream **** 
  25:/usr/include/c++/4.8/iostream **** /** @file include/iostream
  26:/usr/include/c++/4.8/iostream ****  *  This is a Standard C++ Library header.
  27:/usr/include/c++/4.8/iostream ****  */
  28:/usr/include/c++/4.8/iostream **** 
  29:/usr/include/c++/4.8/iostream **** //
  30:/usr/include/c++/4.8/iostream **** // ISO C++ 14882: 27.3  Standard iostream objects
  31:/usr/include/c++/4.8/iostream **** //
  32:/usr/include/c++/4.8/iostream **** 
  33:/usr/include/c++/4.8/iostream **** #ifndef _GLIBCXX_IOSTREAM
  34:/usr/include/c++/4.8/iostream **** #define _GLIBCXX_IOSTREAM 1
  35:/usr/include/c++/4.8/iostream **** 
  36:/usr/include/c++/4.8/iostream **** #pragma GCC system_header
  37:/usr/include/c++/4.8/iostream **** 
  38:/usr/include/c++/4.8/iostream **** #include <bits/c++config.h>
  39:/usr/include/c++/4.8/iostream **** #include <ostream>
  40:/usr/include/c++/4.8/iostream **** #include <istream>
  41:/usr/include/c++/4.8/iostream **** 
  42:/usr/include/c++/4.8/iostream **** namespace std _GLIBCXX_VISIBILITY(default)
  43:/usr/include/c++/4.8/iostream **** {
  44:/usr/include/c++/4.8/iostream **** _GLIBCXX_BEGIN_NAMESPACE_VERSION
  45:/usr/include/c++/4.8/iostream **** 
  46:/usr/include/c++/4.8/iostream ****   /**
  47:/usr/include/c++/4.8/iostream ****    *  @name Standard Stream Objects
  48:/usr/include/c++/4.8/iostream ****    *
  49:/usr/include/c++/4.8/iostream ****    *  The &lt;iostream&gt; header declares the eight <em>standard stream
  50:/usr/include/c++/4.8/iostream ****    *  objects</em>.  For other declarations, see
  51:/usr/include/c++/4.8/iostream ****    *  http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt11ch24.html
  52:/usr/include/c++/4.8/iostream ****    *  and the @link iosfwd I/O forward declarations @endlink
  53:/usr/include/c++/4.8/iostream ****    *
  54:/usr/include/c++/4.8/iostream ****    *  They are required by default to cooperate with the global C
  55:/usr/include/c++/4.8/iostream ****    *  library's @c FILE streams, and to be available during program
  56:/usr/include/c++/4.8/iostream ****    *  startup and termination. For more information, see the HOWTO
  57:/usr/include/c++/4.8/iostream ****    *  linked to above.
  58:/usr/include/c++/4.8/iostream ****   */
GAS LISTING /tmp/cc3o2J9C.s 			page 51


  59:/usr/include/c++/4.8/iostream ****   //@{
  60:/usr/include/c++/4.8/iostream ****   extern istream cin;		/// Linked to standard input
  61:/usr/include/c++/4.8/iostream ****   extern ostream cout;		/// Linked to standard output
  62:/usr/include/c++/4.8/iostream ****   extern ostream cerr;		/// Linked to standard error (unbuffered)
  63:/usr/include/c++/4.8/iostream ****   extern ostream clog;		/// Linked to standard error (buffered)
  64:/usr/include/c++/4.8/iostream **** 
  65:/usr/include/c++/4.8/iostream **** #ifdef _GLIBCXX_USE_WCHAR_T
  66:/usr/include/c++/4.8/iostream ****   extern wistream wcin;		/// Linked to standard input
  67:/usr/include/c++/4.8/iostream ****   extern wostream wcout;	/// Linked to standard output
  68:/usr/include/c++/4.8/iostream ****   extern wostream wcerr;	/// Linked to standard error (unbuffered)
  69:/usr/include/c++/4.8/iostream ****   extern wostream wclog;	/// Linked to standard error (buffered)
  70:/usr/include/c++/4.8/iostream **** #endif
  71:/usr/include/c++/4.8/iostream ****   //@}
  72:/usr/include/c++/4.8/iostream **** 
  73:/usr/include/c++/4.8/iostream ****   // For construction of filebuffers for cout, cin, cerr, clog et. al.
  74:/usr/include/c++/4.8/iostream ****   static ios_base::Init __ioinit;
 332              		.loc 3 74 0 is_stmt 1
 333 00d5 BF000000 		movl	$_ZStL8__ioinit, %edi
 333      00
 334              	.LEHB7:
 335 00da E8000000 		call	_ZNSt8ios_base4InitC1Ev
 335      00
 336 00df BA000000 		movl	$__dso_handle, %edx
 336      00
 337 00e4 BE000000 		movl	$_ZStL8__ioinit, %esi
 337      00
 338 00e9 BF000000 		movl	$_ZNSt8ios_base4InitD1Ev, %edi
 338      00
 339 00ee E8000000 		call	__cxa_atexit
 339      00
  17:global.cpp    **** my_struct global_struct(global_string + "bob", 37);
 340              		.loc 1 17 0
 341 00f3 4889E2   		movq	%rsp, %rdx
 342 00f6 BE000000 		movl	$.LC2, %esi
 342      00
 343 00fb BF000000 		movl	$global_string, %edi
 343      00
 344 0100 E8000000 		call	_ZNSsC1EPKcRKSaIcE
 344      00
 345 0105 BA000000 		movl	$__dso_handle, %edx
 345      00
 346 010a BE000000 		movl	$global_string, %esi
 346      00
 347 010f BF000000 		movl	$_ZNSsD1Ev, %edi
 347      00
 348 0114 E8000000 		call	__cxa_atexit
 348      00
  18:global.cpp    **** 
 349              		.loc 1 18 0
 350 0119 BA000000 		movl	$.LC3, %edx
 350      00
 351 011e BE000000 		movl	$global_string, %esi
 351      00
 352 0123 4889E7   		movq	%rsp, %rdi
 353 0126 E8000000 		call	_ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_
 353      00
 354              	.LEHE7:
GAS LISTING /tmp/cc3o2J9C.s 			page 52


 355 012b BA250000 		movl	$37, %edx
 355      00
 356 0130 4889E6   		movq	%rsp, %rsi
 357 0133 BF000000 		movl	$global_struct, %edi
 357      00
 358              	.LEHB8:
 359 0138 E8000000 		call	_ZN9my_structC1ESsi
 359      00
 360              	.LEHE8:
  18:global.cpp    **** 
 361              		.loc 1 18 0 is_stmt 0 discriminator 1
 362 013d 4889E7   		movq	%rsp, %rdi
 363 0140 E8000000 		call	_ZNSsD1Ev
 363      00
 364 0145 BA000000 		movl	$__dso_handle, %edx
 364      00
 365 014a BE000000 		movl	$global_struct, %esi
 365      00
 366 014f BF000000 		movl	$_ZN9my_structD1Ev, %edi
 366      00
 367 0154 E8000000 		call	__cxa_atexit
 367      00
 368 0159 EB13     		jmp	.L19
 369              	.L22:
 370 015b 4889C3   		movq	%rax, %rbx
  18:global.cpp    **** 
 371              		.loc 1 18 0
 372 015e 4889E7   		movq	%rsp, %rdi
 373 0161 E8000000 		call	_ZNSsD1Ev
 373      00
 374 0166 4889DF   		movq	%rbx, %rdi
 375              	.LEHB9:
 376 0169 E8000000 		call	_Unwind_Resume
 376      00
 377              	.LEHE9:
 378              	.L19:
 379              		.loc 1 25 0 is_stmt 1
 380 016e 4883C410 		addq	$16, %rsp
 381              		.cfi_def_cfa_offset 16
 382 0172 5B       		popq	%rbx
 383              		.cfi_restore 3
 384              		.cfi_def_cfa_offset 8
 385              	.L25:
 386 0173 C3       		ret
 387              		.cfi_endproc
 388              	.LFE1411:
 389              		.section	.gcc_except_table
 390              	.LLSDA1411:
 391 0026 FF       		.byte	0xff
 392 0027 FF       		.byte	0xff
 393 0028 01       		.byte	0x1
 394 0029 0E       		.uleb128 .LLSDACSE1411-.LLSDACSB1411
 395              	.LLSDACSB1411:
 396 002a 1F       		.uleb128 .LEHB7-.LFB1411
 397 002b 51       		.uleb128 .LEHE7-.LEHB7
 398 002c 00       		.uleb128 0
 399 002d 00       		.uleb128 0
GAS LISTING /tmp/cc3o2J9C.s 			page 53


 400 002e 7D       		.uleb128 .LEHB8-.LFB1411
 401 002f 05       		.uleb128 .LEHE8-.LEHB8
 402 0030 A001     		.uleb128 .L22-.LFB1411
 403 0032 00       		.uleb128 0
 404 0033 AE01     		.uleb128 .LEHB9-.LFB1411
 405 0035 05       		.uleb128 .LEHE9-.LEHB9
 406 0036 00       		.uleb128 0
 407 0037 00       		.uleb128 0
 408              	.LLSDACSE1411:
 409              		.text
 412              	_GLOBAL__sub_I__ZN9my_structC2ESsi:
 413              	.LFB1412:
 414              		.loc 1 25 0
 415              		.cfi_startproc
 416 0174 4883EC08 		subq	$8, %rsp
 417              		.cfi_def_cfa_offset 16
 418              		.loc 1 25 0
 419 0178 BEFFFF00 		movl	$65535, %esi
 419      00
 420 017d BF010000 		movl	$1, %edi
 420      00
 421 0182 E834FFFF 		call	_Z41__static_initialization_and_destruction_0ii
 421      FF
 422              	.LVL34:
 423 0187 4883C408 		addq	$8, %rsp
 424              		.cfi_def_cfa_offset 8
 425 018b C3       		ret
 426              		.cfi_endproc
 427              	.LFE1412:
 429              		.section	.init_array,"aw"
 430              		.align 8
 431 0000 00000000 		.quad	_GLOBAL__sub_I__ZN9my_structC2ESsi
 431      00000000 
 432              		.globl	global_struct
 433              		.bss
 434              		.align 16
 437              	global_struct:
 438 0000 00000000 		.zero	24
 438      00000000 
 438      00000000 
 438      00000000 
 438      00000000 
 439              		.globl	global_string
 440              		.align 8
 443              	global_string:
 444 0018 00000000 		.zero	8
 444      00000000 
 445              		.globl	global_int
 446              		.data
 447              		.align 4
 450              	global_int:
 451 0000 04000000 		.long	4
 452              		.local	_ZStL8__ioinit
 453              		.comm	_ZStL8__ioinit,1,1
 454              		.text
 455              	.Letext0:
 456              		.file 4 "/usr/include/libio.h"
GAS LISTING /tmp/cc3o2J9C.s 			page 54


 457              		.file 5 "/usr/include/stdio.h"
 458              		.file 6 "<built-in>"
 459              		.file 7 "/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h"
 460              		.file 8 "/usr/include/wchar.h"
 461              		.file 9 "/usr/include/c++/4.8/cwchar"
 462              		.file 10 "/usr/include/c++/4.8/bits/exception_ptr.h"
 463              		.file 11 "/usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h"
 464              		.file 12 "/usr/include/c++/4.8/bits/char_traits.h"
 465              		.file 13 "/usr/include/c++/4.8/cstdint"
 466              		.file 14 "/usr/include/c++/4.8/clocale"
 467              		.file 15 "/usr/include/c++/4.8/bits/allocator.h"
 468              		.file 16 "/usr/include/c++/4.8/cstdlib"
 469              		.file 17 "/usr/include/c++/4.8/cstdio"
 470              		.file 18 "/usr/include/c++/4.8/bits/basic_string.tcc"
 471              		.file 19 "/usr/include/c++/4.8/initializer_list"
 472              		.file 20 "/usr/include/c++/4.8/bits/stringfwd.h"
 473              		.file 21 "/usr/include/c++/4.8/bits/ios_base.h"
 474              		.file 22 "/usr/include/c++/4.8/cwctype"
 475              		.file 23 "/usr/include/c++/4.8/bits/ostream.tcc"
 476              		.file 24 "/usr/include/c++/4.8/ostream"
 477              		.file 25 "/usr/include/c++/4.8/bits/stl_iterator_base_types.h"
 478              		.file 26 "/usr/include/c++/4.8/iosfwd"
 479              		.file 27 "/usr/include/x86_64-linux-gnu/bits/wchar2.h"
 480              		.file 28 "/usr/include/time.h"
 481              		.file 29 "/usr/include/c++/4.8/ext/new_allocator.h"
 482              		.file 30 "/usr/include/c++/4.8/ext/numeric_traits.h"
 483              		.file 31 "/usr/include/c++/4.8/bits/stl_iterator.h"
 484              		.file 32 "/usr/include/c++/4.8/debug/debug.h"
 485              		.file 33 "/usr/include/stdint.h"
 486              		.file 34 "/usr/include/locale.h"
 487              		.file 35 "/usr/include/x86_64-linux-gnu/bits/types.h"
 488              		.file 36 "/usr/include/x86_64-linux-gnu/c++/4.8/bits/atomic_word.h"
 489              		.file 37 "/usr/include/stdlib.h"
 490              		.file 38 "/usr/include/x86_64-linux-gnu/bits/stdlib.h"
 491              		.file 39 "/usr/include/_G_config.h"
 492              		.file 40 "/usr/include/x86_64-linux-gnu/bits/stdio2.h"
 493              		.file 41 "/usr/include/wctype.h"
 494              		.file 42 "/usr/include/c++/4.8/bits/stl_pair.h"
GAS LISTING /tmp/cc3o2J9C.s 			page 55


DEFINED SYMBOLS
                            *ABS*:0000000000000000 global.cpp
     /tmp/cc3o2J9C.s:8      .text._ZN9my_structD2Ev:0000000000000000 _ZN9my_structD2Ev
     /tmp/cc3o2J9C.s:8      .text._ZN9my_structD2Ev:0000000000000000 _ZN9my_structD1Ev
     /tmp/cc3o2J9C.s:35     .text:0000000000000000 _ZN9my_structC2ESsi
     /tmp/cc3o2J9C.s:35     .text:0000000000000000 _ZN9my_structC1ESsi
     /tmp/cc3o2J9C.s:65     .text._ZN9my_structC2ERKS_:0000000000000000 _ZN9my_structC2ERKS_
     /tmp/cc3o2J9C.s:65     .text._ZN9my_structC2ERKS_:0000000000000000 _ZN9my_structC1ERKS_
     /tmp/cc3o2J9C.s:102    .text:000000000000001a _Z6globalv
     /tmp/cc3o2J9C.s:450    .data:0000000000000000 global_int
     /tmp/cc3o2J9C.s:443    .bss:0000000000000018 global_string
     /tmp/cc3o2J9C.s:437    .bss:0000000000000000 global_struct
     /tmp/cc3o2J9C.s:227    .text._ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_:0000000000000000 _ZStplIcSt11char_traitsIcESaIcEESbIT_T0_T1_ERKS6_PKS3_
     /tmp/cc3o2J9C.s:314    .text:00000000000000bb _Z41__static_initialization_and_destruction_0ii
                             .bss:0000000000000020 _ZStL8__ioinit
     /tmp/cc3o2J9C.s:412    .text:0000000000000174 _GLOBAL__sub_I__ZN9my_structC2ESsi
                           .group:0000000000000000 _ZN9my_structD5Ev
                           .group:0000000000000000 _ZN9my_structC5ERKS_

UNDEFINED SYMBOLS
_ZNSsD1Ev
_ZNSsC1ERKSs
__gxx_personality_v0
_ZSt4cout
_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
_ZNSolsEi
_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKSbIS4_S5_T1_E
_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_
_ZNSolsEPFRSoS_E
_Unwind_Resume
_ZNSs6appendEPKc
_ZNSt8ios_base4InitC1Ev
__dso_handle
_ZNSt8ios_base4InitD1Ev
__cxa_atexit
_ZNSsC1EPKcRKSaIcE