|
Boost : |
Subject: Re: [boost] [call-traits][param_type] why is sizeof(void*) chosen as the limit for passing by value?
From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2010-04-16 07:49:48
Jeffrey Hellrung skrev:
> Thorsten Ottosen wrote:
>> Hi Boosters,
>>
>> It seems to me that many other slightly larger types could benefit
>> from pass by value. For example, I rarely write
> [...]
>> With this in mind, I think we should consider changing the limit for
>> param_type to sizeof(long double) or even 2*sizeof(int). Of course,
>> we should only pass types with a trivial assignment operator by value.
>
> By "trivial assignment operator", you really mean "trivial copy
> constructor", right?
Right.
> You might want the "by-value size limit" to be platform dependent. I
> can imagine that the limit for 64-bit systems could arguably be twice
> that for 32-bit systems.
by using 2*sizeof(int) we should probably get this behavior by default.
Do we know any compilers where int does not have word size?
But anyway, there might be compiler differences even on the same platform.
> Do you find the same optimization opportunity when passing a
> pair<float,float> by value as you did for passing a double by value?
Possibly. By-value generates the least assembler (see attached), but
none of the them removed the call to new/delete.
I'm not competent enough in assembler to see what is fastest (the
instructions are different compared to a single double), but main()
differs by a whole 16 lines of assembler between the two!
-Thorsten
; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01
TITLE D:\test\pass_by_ref.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB OLDNAMES
PUBLIC ??_R4bad_alloc_at_std@@6B@ ; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC ??_R3bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A_at_EA@exception_at_std@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R3exception_at_std@@8 ; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2exception_at_std@@8 ; std::exception::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A_at_EA@bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@ ; `string'
PUBLIC ??0?$pair_at_MM@std@@QAE_at_ABM0@Z ; std::pair<float,float>::pair<float,float>
PUBLIC ??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >
PUBLIC ??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>
PUBLIC ??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type
PUBLIC ??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
PUBLIC ?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back
PUBLIC ??0bad_alloc_at_std@@QAE_at_PBD@Z ; std::bad_alloc::bad_alloc
PUBLIC ??1bad_alloc_at_std@@UAE_at_XZ ; std::bad_alloc::~bad_alloc
PUBLIC ??_Gbad_alloc_at_std@@UAEPAXI_at_Z ; std::bad_alloc::`scalar deleting destructor'
PUBLIC ??0bad_alloc_at_std@@QAE_at_ABV01@@Z ; std::bad_alloc::bad_alloc
PUBLIC ??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z ; std::_Allocate<std::pair<float,float> >
PUBLIC ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
PUBLIC ?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address
PUBLIC ?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ ; boost::aligned_storage<2048,4>::address
PUBLIC ?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address
PUBLIC ?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate
PUBLIC ?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin
PUBLIC ?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end
PUBLIC ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z ; std::_Checked_base<std::pair<float,float> *>
PUBLIC ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z ; std::_Checked_base<std::pair<float,float> *>
PUBLIC ??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??2_at_YAPAXIPAX@Z ; operator new
PUBLIC ??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z ; std::_Construct<std::pair<float,float>,std::pair<float,float> >
PUBLIC ??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z ; std::_Destroy<std::pair<float,float> >
PUBLIC ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>
PUBLIC ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
PUBLIC ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
PUBLIC ?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer
PUBLIC ?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::deallocate
PUBLIC ?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator
PUBLIC ?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate
PUBLIC ?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy
PUBLIC ??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>
PUBLIC ??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type
PUBLIC ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
PUBLIC ??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor'
PUBLIC ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
PUBLIC ??$max_at_I@std@@YAABIABI0_at_Z ; std::max<unsigned int>
PUBLIC ??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z ; boost::default_grow_policy::new_capacity<unsigned int>
PUBLIC ?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl
PUBLIC ?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve
PUBLIC ?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back
PUBLIC ??_R0?AVbad_alloc_at_std@@@8 ; std::bad_alloc `RTTI Type Descriptor'
PUBLIC ??_R0?AVexception_at_std@@@8 ; std::exception `RTTI Type Descriptor'
PUBLIC __CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
PUBLIC __CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
PUBLIC __CTA2?AVbad_alloc_at_std@@
PUBLIC __TI2?AVbad_alloc_at_std@@
PUBLIC ??_7bad_alloc_at_std@@6B@ ; std::bad_alloc::`vftable'
EXTRN ?what_at_exception@std@@UBEPBDXZ:PROC ; std::exception::what
EXTRN ??0exception_at_std@@QAE_at_ABV01@@Z:PROC ; std::exception::exception
EXTRN @__security_check_cookie_at_4:PROC
EXTRN ??2_at_YAPAXI@Z:PROC ; operator new
EXTRN __imp_??0exception_at_std@@QAE_at_ABQBD@Z:PROC
EXTRN __imp_?what_at_exception@std@@UBEPBDXZ:PROC
EXTRN __imp_??1exception_at_std@@UAE_at_XZ:PROC
EXTRN ??_Ebad_alloc_at_std@@UAEPAXI_at_Z:PROC ; std::bad_alloc::`vector deleting destructor'
EXTRN __imp_??0exception_at_std@@QAE_at_ABV01@@Z:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ??3_at_YAXPAX@Z:PROC ; operator delete
; COMDAT ??_7bad_alloc_at_std@@6B@
CONST SEGMENT
??_7bad_alloc_at_std@@6B@ DD FLAT:??_R4bad_alloc_at_std@@6B@ ; std::bad_alloc::`vftable'
DD FLAT:??_Ebad_alloc_at_std@@UAEPAXI_at_Z
DD FLAT:?what_at_exception@std@@UBEPBDXZ
CONST ENDS
; COMDAT ??_R4bad_alloc_at_std@@6B@
rdata$r SEGMENT
??_R4bad_alloc_at_std@@6B@ DD 00H ; std::bad_alloc::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVbad_alloc_at_std@@@8
DD FLAT:??_R3bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT ??_R3bad_alloc_at_std@@8
rdata$r SEGMENT
??_R3bad_alloc_at_std@@8 DD 00H ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT ??_R2bad_alloc_at_std@@8
rdata$r SEGMENT
??_R2bad_alloc_at_std@@8 DD FLAT:??_R1A@?0A_at_EA@bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A_at_EA@exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A_at_EA@exception_at_std@@8
rdata$r SEGMENT
??_R1A@?0A_at_EA@exception_at_std@@8 DD FLAT:??_R0?AVexception_at_std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R3exception_at_std@@8
rdata$r SEGMENT
??_R3exception_at_std@@8 DD 00H ; std::exception::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R2exception_at_std@@8
rdata$r SEGMENT
??_R2exception_at_std@@8 DD FLAT:??_R1A@?0A_at_EA@exception_at_std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R1A@?0A_at_EA@bad_alloc_at_std@@8
rdata$r SEGMENT
??_R1A@?0A_at_EA@bad_alloc_at_std@@8 DD FLAT:??_R0?AVbad_alloc_at_std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT __TI2?AVbad_alloc_at_std@@
xdata$x SEGMENT
__TI2?AVbad_alloc_at_std@@ DD 00H
DD FLAT:??1bad_alloc_at_std@@UAE_at_XZ
DD 00H
DD FLAT:__CTA2?AVbad_alloc_at_std@@
xdata$x ENDS
; COMDAT __CTA2?AVbad_alloc_at_std@@
xdata$x SEGMENT
__CTA2?AVbad_alloc_at_std@@ DD 02H
DD FLAT:__CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
DD FLAT:__CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
xdata$x ENDS
; COMDAT __CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVexception_at_std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0exception_at_std@@QAE_at_ABV01@@Z
xdata$x ENDS
; COMDAT __CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVbad_alloc_at_std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0bad_alloc_at_std@@QAE_at_ABV01@@Z
xdata$x ENDS
; COMDAT ??_R0?AVexception_at_std@@@8
_DATA SEGMENT
??_R0?AVexception_at_std@@@8 DD FLAT:??_7type_info@@6B@ ; std::exception `RTTI Type Descriptor'
DD 00H
DB '.?AVexception_at_std@@', 00H
_DATA ENDS
; COMDAT ??_R0?AVbad_alloc_at_std@@@8
_DATA SEGMENT
??_R0?AVbad_alloc_at_std@@@8 DD FLAT:??_7type_info@@6B@ ; std::bad_alloc `RTTI Type Descriptor'
DD 00H
DB '.?AVbad_alloc_at_std@@', 00H
__bad_alloc_Message DD FLAT:??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@
; COMDAT ??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@
CONST SEGMENT
??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
; Function compile flags: /Ogtpy
CONST ENDS
; COMDAT ??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z
_TEXT SEGMENT
??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z PROC ; std::_Destroy<std::pair<float,float> >, COMDAT
; File d:\c++\visual91\vc\include\xmemory
; Line 60
ret 0
??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z ENDP ; std::_Destroy<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 1
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z PROC ; std::_Checked_base<std::pair<float,float> *>, COMDAT
; __It$ = eax
; File d:\c++\visual91\vc\include\xutility
; Line 1147
mov eax, DWORD PTR [eax]
; Line 1148
ret 0
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z ENDP ; std::_Checked_base<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z
_TEXT SEGMENT
__Cat$ = -1 ; size = 1
??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z PROC ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; Line 1509
push ecx
; Line 1511
mov al, BYTE PTR __Cat$[esp+4]
; Line 1512
pop ecx
ret 0
??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z ENDP ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z
_TEXT SEGMENT
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z PROC ; std::_Checked_base<std::pair<float,float> *>, COMDAT
; __It$ = eax
; Line 1165
mov eax, DWORD PTR [eax]
; Line 1166
ret 0
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z ENDP ; std::_Checked_base<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0bad_alloc_at_std@@QAE_at_ABV01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0bad_alloc_at_std@@QAE_at_ABV01@@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
mov eax, DWORD PTR ___that$[esp-4]
push esi
push eax
mov esi, ecx
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABV01@@Z
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
mov eax, esi
pop esi
ret 4
??0bad_alloc_at_std@@QAE_at_ABV01@@Z ENDP ; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z
_TEXT SEGMENT
??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z PROC ; boost::default_grow_policy::new_capacity<unsigned int>, COMDAT
; _old_capacity$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 96
add eax, eax
add eax, eax
; Line 97
ret 0
??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z ENDP ; boost::default_grow_policy::new_capacity<unsigned int>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$max_at_I@std@@YAABIABI0_at_Z
_TEXT SEGMENT
??$max_at_I@std@@YAABIABI0_at_Z PROC ; std::max<unsigned int>, COMDAT
; __Left$ = ecx
; __Right$ = eax
; File d:\c++\visual91\vc\include\xutility
; Line 3384
mov edx, DWORD PTR [ecx]
cmp edx, DWORD PTR [eax]
jb SHORT $LN4_at_max
mov eax, ecx
$LN4_at_max:
; Line 3385
ret 0
??$max_at_I@std@@YAABIABI0_at_Z ENDP ; std::max<unsigned int>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ
_TEXT SEGMENT
?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ PROC ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 57
ret 0
?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ ENDP ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ
_TEXT SEGMENT
?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 731
mov ecx, DWORD PTR [eax+2056]
mov edx, DWORD PTR [eax+2052]
lea eax, DWORD PTR [edx+ecx*8]
; Line 732
ret 0
?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ
_TEXT SEGMENT
?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin, COMDAT
; _this$ = eax
; Line 721
mov eax, DWORD PTR [eax+2052]
; Line 722
ret 0
?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ
_TEXT SEGMENT
?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ PROC ; boost::aligned_storage<2048,4>::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 133
ret 0
?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ ENDP ; boost::aligned_storage<2048,4>::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z
_TEXT SEGMENT
?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z PROC ; std::allocator<std::pair<float,float> >::deallocate, COMDAT
; __Ptr$ = eax
; File d:\c++\visual91\vc\include\xmemory
; Line 140
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
; Line 141
ret 0
?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z ENDP ; std::allocator<std::pair<float,float> >::deallocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ
_TEXT SEGMENT
??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ PROC ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 122
ret 0
??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ENDP ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ
_TEXT SEGMENT
?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 1197
ret 0
?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ
_TEXT SEGMENT
?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator, COMDAT
; _this$ = eax
; Line 711
ret 0
?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z
_TEXT SEGMENT
_new_capacity$ = -4 ; size = 4
_n$ = 8 ; size = 4
?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl, COMDAT
; _this$ = eax
; Line 324
push ecx
; Line 326
mov eax, DWORD PTR [eax+2048]
add eax, eax
add eax, eax
; Line 328
cmp eax, DWORD PTR _n$[esp]
mov DWORD PTR _new_capacity$[esp+4], eax
lea eax, DWORD PTR _n$[esp]
jb SHORT $LN9_at_new_capaci
lea eax, DWORD PTR _new_capacity$[esp+4]
$LN9_at_new_capaci:
mov eax, DWORD PTR [eax]
; Line 329
pop ecx
ret 4
?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z
_TEXT SEGMENT
_capacity$ = 8 ; size = 4
?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate, COMDAT
; _where$ = eax
; Line 183
cmp DWORD PTR _capacity$[esp-4], 256 ; 00000100H
jbe SHORT $LN6_at_deallocate
; Line 185
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN6_at_deallocate:
; Line 186
ret 4
?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ
_TEXT SEGMENT
??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ PROC ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>, COMDAT
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 126
ret 0
??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ENDP ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z
_TEXT SEGMENT
??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type, COMDAT
; _this$ = eax
; _capacity$ = ecx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 1194
mov DWORD PTR [eax+2048], ecx
ret 0
??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ
_TEXT SEGMENT
??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ PROC ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >, COMDAT
; _this$ = eax
; File d:\c++\visual91\vc\include\xmemory
; Line 121
ret 0
??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ ENDP ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z
_TEXT SEGMENT
?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 290
cmp DWORD PTR [eax+2048], 256 ; 00000100H
jbe SHORT $LN8_at_auto_buffe
mov eax, DWORD PTR [eax+2052]
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN8_at_auto_buffe:
; Line 291
ret 0
?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ
_TEXT SEGMENT
??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type, COMDAT
ret 0
??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type
_TEXT ENDS
EXTRN __fltused:DWORD
; Function compile flags: /Ogtpy
; COMDAT ??0?$pair_at_MM@std@@QAE_at_ABM0@Z
_TEXT SEGMENT
__Val2$ = 8 ; size = 4
??0?$pair_at_MM@std@@QAE_at_ABM0@Z PROC ; std::pair<float,float>::pair<float,float>, COMDAT
; _this$ = eax
; __Val1$ = ecx
; File d:\c++\visual91\vc\include\utility
; Line 50
fld DWORD PTR [ecx]
mov edx, DWORD PTR __Val2$[esp-4]
fstp DWORD PTR [eax]
fld DWORD PTR [edx]
fstp DWORD PTR [eax+4]
; Line 51
ret 4
??0?$pair_at_MM@std@@QAE_at_ABM0@Z ENDP ; std::pair<float,float>::pair<float,float>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ
_TEXT SEGMENT
??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >, COMDAT
; _this$ = ecx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 665
mov eax, DWORD PTR [ecx+2052]
test eax, eax
je SHORT $LN11_at_auto_buffe_at_2
; Line 668
cmp DWORD PTR [ecx+2048], 256 ; 00000100H
jbe SHORT $LN11_at_auto_buffe_at_2
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN11_at_auto_buffe_at_2:
; Line 669
ret 0
??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??2_at_YAPAXIPAX@Z
_TEXT SEGMENT
??2_at_YAPAXIPAX@Z PROC ; operator new, COMDAT
; __Where$ = eax
; File d:\c++\visual91\vc\include\new
; Line 60
ret 0
??2_at_YAPAXIPAX@Z ENDP ; operator new
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1bad_alloc_at_std@@UAE_at_XZ
_TEXT SEGMENT
??1bad_alloc_at_std@@UAE_at_XZ PROC ; std::bad_alloc::~bad_alloc, COMDAT
; _this$ = ecx
; File d:\c++\visual91\vc\include\exception
; Line 380
mov DWORD PTR [ecx], OFFSET ??_7bad_alloc_at_std@@6B@
; Line 381
jmp DWORD PTR __imp_??1exception_at_std@@UAE_at_XZ
??1bad_alloc_at_std@@UAE_at_XZ ENDP ; std::bad_alloc::~bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0bad_alloc_at_std@@QAE_at_PBD@Z
_TEXT SEGMENT
__Message$ = -4 ; size = 4
??0bad_alloc_at_std@@QAE_at_PBD@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
; _this$ = esi
; Line 371
push ecx
lea eax, DWORD PTR __Message$[esp+4]
push eax
mov ecx, esi
mov DWORD PTR __Message$[esp+8], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
; Line 372
mov eax, esi
pop ecx
ret 0
??0bad_alloc_at_std@@QAE_at_PBD@Z ENDP ; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z
_TEXT SEGMENT
??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z PROC ; std::_Construct<std::pair<float,float>,std::pair<float,float> >, COMDAT
; __Ptr$ = eax
; __Val$ = ecx
; File d:\c++\visual91\vc\include\xmemory
; Line 52
test eax, eax
je SHORT $LN3_at_Construct
mov edx, DWORD PTR [ecx]
mov DWORD PTR [eax], edx
mov ecx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], ecx
$LN3_at_Construct:
; Line 53
ret 0
??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z ENDP ; std::_Construct<std::pair<float,float>,std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z
_TEXT SEGMENT
__First$ = 8 ; size = 4
___formal$ = 12 ; size = 1
___formal$ = 16 ; size = 1
??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z PROC ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; __Last$ = edx
; __Dest$ = eax
; File d:\c++\visual91\vc\include\memory
; Line 47
mov ecx, DWORD PTR __First$[esp-4]
; Line 53
cmp ecx, edx
je SHORT $LN4_at_Uninit_cop
push esi
npad 7
$LL6_at_Uninit_cop:
; Line 54
test eax, eax
je SHORT $LN5_at_Uninit_cop
mov esi, DWORD PTR [ecx]
mov DWORD PTR [eax], esi
mov esi, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], esi
$LN5_at_Uninit_cop:
add ecx, 8
add eax, 8
cmp ecx, edx
jne SHORT $LL6_at_Uninit_cop
pop esi
$LN4_at_Uninit_cop:
; Line 61
ret 0
??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ENDP ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z
_TEXT SEGMENT
$T43117 = -4 ; size = 1
__Cat$43122 = 8 ; size = 1
__Last$ = 8 ; size = 4
__Dest$ = 12 ; size = 4
??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z PROC ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; __First$ = edx
; Line 101
push ecx
; Line 103
mov ecx, DWORD PTR __Cat$43122[esp]
mov BYTE PTR $T43117[esp+4], 0
mov eax, DWORD PTR $T43117[esp+4]
push eax
mov eax, DWORD PTR __Dest$[esp+4]
push ecx
push edx
mov edx, DWORD PTR __Last$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 104
add esp, 16 ; 00000010H
ret 0
??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z ENDP ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z
_TEXT SEGMENT
$T43173 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43178 = 12 ; size = 1
_where$ = 12 ; size = 4
??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>, COMDAT
; _begin$ = edx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 201
push ecx
; Line 204
mov ecx, DWORD PTR __Cat$43178[esp]
mov BYTE PTR $T43173[esp+4], 0
mov eax, DWORD PTR $T43173[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 205
add esp, 16 ; 00000010H
ret 0
??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z
_TEXT SEGMENT
$T43247 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43251 = 12 ; size = 1
_where$ = 12 ; size = 4
___formal$ = 16 ; size = 1
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>, COMDAT
; _begin$ = edx
; Line 189
push ecx
; Line 191
mov ecx, DWORD PTR __Cat$43251[esp]
mov BYTE PTR $T43247[esp+4], 0
mov eax, DWORD PTR $T43247[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 192
add esp, 16 ; 00000010H
ret 0
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z
_TEXT SEGMENT
$T43341 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43345 = 12 ; size = 1
_where$ = 12 ; size = 4
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>, COMDAT
; _begin$ = edx
; Line 214
push ecx
; Line 217
mov ecx, DWORD PTR __Cat$43345[esp]
mov BYTE PTR $T43341[esp+4], 0
mov eax, DWORD PTR $T43341[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 218
add esp, 16 ; 00000010H
ret 0
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
_TEXT ENDS
EXTRN __CxxThrowException_at_8:PROC
; Function compile flags: /Ogtpy
; COMDAT ??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z
_TEXT SEGMENT
$T43366 = -16 ; size = 4
$T43358 = -12 ; size = 12
??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z PROC ; std::_Allocate<std::pair<float,float> >, COMDAT
; __Count$ = ecx
; File d:\c++\visual91\vc\include\xmemory
; Line 39
or eax, -1
xor edx, edx
div ecx
sub esp, 16 ; 00000010H
cmp eax, 8
jae SHORT $LN1_at_Allocate
; Line 40
lea eax, DWORD PTR $T43366[esp+16]
push eax
lea ecx, DWORD PTR $T43358[esp+20]
mov DWORD PTR $T43366[esp+20], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
push OFFSET __TI2?AVbad_alloc_at_std@@
lea ecx, DWORD PTR $T43358[esp+20]
push ecx
mov DWORD PTR $T43358[esp+24], OFFSET ??_7bad_alloc_at_std@@6B@
call __CxxThrowException_at_8
$LN1_at_Allocate:
; Line 43
lea edx, DWORD PTR [ecx*8]
push edx
call ??2_at_YAPAXI@Z ; operator new
add esp, 4
; Line 44
add esp, 16 ; 00000010H
ret 0
$LN12_at_Allocate:
??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z ENDP ; std::_Allocate<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z
_TEXT SEGMENT
??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor', COMDAT
; _this$ = esi
mov eax, DWORD PTR [esi+2052]
test eax, eax
je SHORT $LN17_at_scalar
cmp DWORD PTR [esi+2048], 256 ; 00000100H
jbe SHORT $LN17_at_scalar
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN17_at_scalar:
mov eax, esi
ret 0
??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z
_TEXT SEGMENT
$T43420 = -16 ; size = 4
$T43426 = -12 ; size = 12
?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z PROC ; std::allocator<std::pair<float,float> >::allocate, COMDAT
; __Count$ = ecx
; Line 144
sub esp, 16 ; 00000010H
; Line 145
test ecx, ecx
ja SHORT $LN5_at_allocate
xor ecx, ecx
$LN3_at_allocate:
lea edx, DWORD PTR [ecx*8]
push edx
call ??2_at_YAPAXI@Z ; operator new
add esp, 4
; Line 146
add esp, 16 ; 00000010H
ret 0
; Line 145
$LN5_at_allocate:
or eax, -1
xor edx, edx
div ecx
cmp eax, 8
jae SHORT $LN3_at_allocate
lea eax, DWORD PTR $T43420[esp+16]
push eax
lea ecx, DWORD PTR $T43426[esp+20]
mov DWORD PTR $T43420[esp+20], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
push OFFSET __TI2?AVbad_alloc_at_std@@
lea ecx, DWORD PTR $T43426[esp+20]
push ecx
mov DWORD PTR $T43426[esp+24], OFFSET ??_7bad_alloc_at_std@@6B@
call __CxxThrowException_at_8
$LN11_at_allocate:
int 3
?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ENDP ; std::allocator<std::pair<float,float> >::allocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z
_TEXT SEGMENT
?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back, COMDAT
; _this$ = eax
; _x$ = edx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 832
mov ecx, DWORD PTR [eax+2056]
push esi
mov esi, DWORD PTR [eax+2052]
lea ecx, DWORD PTR [esi+ecx*8]
test ecx, ecx
je SHORT $LN7_at_unchecked_
mov esi, DWORD PTR [edx]
mov DWORD PTR [ecx], esi
mov edx, DWORD PTR [edx+4]
mov DWORD PTR [ecx+4], edx
$LN7_at_unchecked_:
; Line 833
inc DWORD PTR [eax+2056]
pop esi
; Line 834
ret 0
?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z
_TEXT SEGMENT
_this$ = 8 ; size = 4
?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate, COMDAT
; _capacity$ = ecx
; Line 175
cmp ecx, 256 ; 00000100H
jbe SHORT $LN2_at_allocate@2
; Line 176
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
; Line 179
ret 4
$LN2_at_allocate@2:
; Line 178
mov eax, DWORD PTR _this$[esp-4]
; Line 179
ret 4
?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z
_TEXT SEGMENT
??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >, COMDAT
; _this$ = esi
; Line 582
mov ecx, 2001 ; 000007d1H
mov DWORD PTR [esi+2048], ecx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov DWORD PTR [esi+2052], eax
mov DWORD PTR [esi+2056], 0
; Line 584
mov eax, esi
ret 0
??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??_Gbad_alloc_at_std@@UAEPAXI_at_Z
_TEXT SEGMENT
___flags$ = 8 ; size = 4
??_Gbad_alloc_at_std@@UAEPAXI_at_Z PROC ; std::bad_alloc::`scalar deleting destructor', COMDAT
; _this$ = ecx
push esi
mov esi, ecx
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
call DWORD PTR __imp_??1exception_at_std@@UAE_at_XZ
test BYTE PTR ___flags$[esp], 1
je SHORT $LN6_at_scalar@2
push esi
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN6_at_scalar@2:
mov eax, esi
pop esi
ret 4
??_Gbad_alloc_at_std@@UAEPAXI_at_Z ENDP ; std::bad_alloc::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z
_TEXT SEGMENT
$T43663 = -4 ; size = 1
__Cat$43666 = -4 ; size = 1
?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer, COMDAT
; _this$ = edi
; _new_capacity$ = ecx
; Line 307
push ecx
push esi
; Line 308
cmp ecx, 256 ; 00000100H
jbe SHORT $LN4_at_move_to_ne
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov esi, eax
jmp SHORT $LN3_at_move_to_ne
$LN4_at_move_to_ne:
mov esi, edi
$LN3_at_move_to_ne:
; Line 309
mov eax, DWORD PTR [edi+2052]
mov BYTE PTR $T43663[esp+8], 0
mov ecx, DWORD PTR $T43663[esp+8]
mov edx, DWORD PTR __Cat$43666[esp+8]
push ecx
mov ecx, DWORD PTR [edi+2056]
push edx
lea edx, DWORD PTR [eax+ecx*8]
push eax
mov eax, esi
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
add esp, 12 ; 0000000cH
; Line 310
mov eax, esi
pop esi
; Line 311
pop ecx
ret 0
?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z
_TEXT SEGMENT
$T43867 = 8 ; size = 1
__Cat$43870 = 8 ; size = 1
_new_capacity$ = 8 ; size = 4
?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl, COMDAT
; _this$ = esi
; Line 314
push ebx
mov ebx, DWORD PTR _new_capacity$[esp]
push edi
; Line 316
cmp ebx, 256 ; 00000100H
jbe SHORT $LN6_at_reserve_im
mov ecx, ebx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov edi, eax
jmp SHORT $LN5_at_reserve_im
$LN6_at_reserve_im:
mov edi, esi
$LN5_at_reserve_im:
mov eax, DWORD PTR [esi+2052]
mov BYTE PTR $T43867[esp+4], 0
mov ecx, DWORD PTR $T43867[esp+4]
mov edx, DWORD PTR __Cat$43870[esp+4]
push ecx
mov ecx, DWORD PTR [esi+2056]
push edx
lea edx, DWORD PTR [eax+ecx*8]
push eax
mov eax, edi
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 317
mov eax, DWORD PTR [esi+2052]
add esp, 12 ; 0000000cH
test eax, eax
je SHORT $LN55_at_reserve_im
cmp DWORD PTR [esi+2048], 256 ; 00000100H
jbe SHORT $LN55_at_reserve_im
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN55_at_reserve_im:
; Line 318
mov DWORD PTR [esi+2052], edi
pop edi
; Line 319
mov DWORD PTR [esi+2048], ebx
pop ebx
; Line 321
ret 4
?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z
_TEXT SEGMENT
$T43969 = -8 ; size = 4
_new_capacity$43960 = -4 ; size = 4
?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve, COMDAT
; _this$ = ecx
; _n$ = eax
; Line 856
sub esp, 8
push esi
mov esi, ecx
; Line 859
mov ecx, DWORD PTR [esi+2048]
cmp eax, ecx
jbe SHORT $LN2_at_reserve
; Line 862
add ecx, ecx
add ecx, ecx
mov DWORD PTR $T43969[esp+12], eax
cmp ecx, eax
mov DWORD PTR _new_capacity$43960[esp+12], ecx
lea eax, DWORD PTR $T43969[esp+12]
jb SHORT $LN11_at_reserve
lea eax, DWORD PTR _new_capacity$43960[esp+12]
$LN11_at_reserve:
mov eax, DWORD PTR [eax]
push eax
call ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
$LN2_at_reserve:
pop esi
; Line 864
add esp, 8
ret 0
?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z
_TEXT SEGMENT
$T44011 = -8 ; size = 4
_new_capacity$44017 = -4 ; size = 4
?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back, COMDAT
; _this$ = eax
; _x$ = edi
; Line 900
sub esp, 8
push esi
mov esi, eax
; Line 903
mov eax, DWORD PTR [esi+2056]
mov ecx, DWORD PTR [esi+2048]
cmp eax, ecx
; Line 907
jne SHORT $LN30_at_push_back
; Line 909
inc eax
cmp eax, ecx
jbe SHORT $LN12_at_push_back
add ecx, ecx
add ecx, ecx
mov DWORD PTR $T44011[esp+12], eax
cmp ecx, eax
mov DWORD PTR _new_capacity$44017[esp+12], ecx
lea eax, DWORD PTR $T44011[esp+12]
jb SHORT $LN21_at_push_back
lea eax, DWORD PTR _new_capacity$44017[esp+12]
$LN21_at_push_back:
mov edx, DWORD PTR [eax]
push edx
call ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
$LN12_at_push_back:
; Line 910
mov eax, DWORD PTR [esi+2056]
$LN30_at_push_back:
mov ecx, DWORD PTR [esi+2052]
lea eax, DWORD PTR [ecx+eax*8]
test eax, eax
je SHORT $LN24_at_push_back
mov edx, DWORD PTR [edi]
mov DWORD PTR [eax], edx
mov ecx, DWORD PTR [edi+4]
mov DWORD PTR [eax+4], ecx
$LN24_at_push_back:
inc DWORD PTR [esi+2056]
pop esi
; Line 912
add esp, 8
ret 0
?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXABU?$pair_at_MM@std@@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back
_TEXT ENDS
PUBLIC __real_at_422c0000
PUBLIC __real_at_42280000
PUBLIC __$ArrayPad$
PUBLIC _main
EXTRN ___security_cookie:DWORD
EXTRN ___CxxFrameHandler3:PROC
; COMDAT __real_at_422c0000
; File d:\c++\visual91\vc\include\xmemory
CONST SEGMENT
__real_at_422c0000 DD 0422c0000r ; 43
CONST ENDS
; COMDAT __real_at_42280000
CONST SEGMENT
__real_at_42280000 DD 042280000r ; 42
CONST ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$_main DD 0ffffffffH
DD FLAT:__unwindfunclet$_main$0
__ehfuncinfo$_main DD 019930522H
DD 01H
DD FLAT:__unwindtable$_main
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
; Function compile flags: /Ogtpy
xdata$x ENDS
; COMDAT _main
_TEXT SEGMENT
$T44047 = -2084 ; size = 8
_buf$ = -2076 ; size = 2060
__$ArrayPad$ = -16 ; size = 4
__$EHRec$ = -12 ; size = 12
_main PROC ; COMDAT
; File d:\test\pass_by_ref.cpp
; Line 5
push -1
push __ehhandler$_main
mov eax, DWORD PTR fs:0
push eax
sub esp, 2072 ; 00000818H
mov eax, DWORD PTR ___security_cookie
xor eax, esp
mov DWORD PTR __$ArrayPad$[esp+2084], eax
push esi
mov eax, DWORD PTR ___security_cookie
xor eax, esp
push eax
lea eax, DWORD PTR __$EHRec$[esp+2092]
mov DWORD PTR fs:0, eax
; Line 7
mov ecx, 2001 ; 000007d1H
mov DWORD PTR _buf$[esp+4140], ecx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov DWORD PTR _buf$[esp+4144], eax
mov DWORD PTR _buf$[esp+4148], 0
mov DWORD PTR __$EHRec$[esp+2100], 0
; Line 9
cmp DWORD PTR _buf$[esp+4140], 0
movss xmm0, DWORD PTR __real_at_42280000
movss DWORD PTR $T44047[esp+2092], xmm0
movss xmm0, DWORD PTR __real_at_422c0000
movss DWORD PTR $T44047[esp+2096], xmm0
je SHORT $LN29_at_main
test eax, eax
je SHORT $LN51_at_main
mov ecx, DWORD PTR $T44047[esp+2092]
mov edx, DWORD PTR $T44047[esp+2096]
mov DWORD PTR [eax], ecx
mov DWORD PTR [eax+4], edx
jmp SHORT $LN51_at_main
$LN29_at_main:
push 1
lea esi, DWORD PTR _buf$[esp+2096]
call ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
mov eax, DWORD PTR _buf$[esp+4144]
mov ecx, DWORD PTR _buf$[esp+4148]
lea eax, DWORD PTR [eax+ecx*8]
test eax, eax
je SHORT $LN51_at_main
mov edx, DWORD PTR $T44047[esp+2092]
mov ecx, DWORD PTR $T44047[esp+2096]
mov DWORD PTR [eax], edx
mov DWORD PTR [eax+4], ecx
$LN51_at_main:
; Line 10
mov eax, DWORD PTR _buf$[esp+4144]
inc DWORD PTR _buf$[esp+4148]
test eax, eax
je SHORT $LN68_at_main
cmp DWORD PTR _buf$[esp+4140], 256 ; 00000100H
jbe SHORT $LN68_at_main
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN68_at_main:
xor eax, eax
mov ecx, DWORD PTR __$EHRec$[esp+2092]
mov DWORD PTR fs:0, ecx
pop ecx
pop esi
mov ecx, DWORD PTR __$ArrayPad$[esp+2084]
xor ecx, esp
call @__security_check_cookie_at_4
add esp, 2084 ; 00000824H
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$_main$0:
lea ecx, DWORD PTR _buf$[ebp]
jmp ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
__ehhandler$_main:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx-2076]
mov ecx, DWORD PTR [edx-2080]
xor ecx, eax
call @__security_check_cookie_at_4
add eax, 4
mov ecx, DWORD PTR [edx-4]
xor ecx, eax
call @__security_check_cookie_at_4
mov eax, OFFSET __ehfuncinfo$_main
jmp ___CxxFrameHandler3
text$x ENDS
_main ENDP
END
; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01
TITLE d:\test\pass_by_ref.cpp
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB OLDNAMES
PUBLIC ??_R4bad_alloc_at_std@@6B@ ; std::bad_alloc::`RTTI Complete Object Locator'
PUBLIC ??_R3bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A_at_EA@exception_at_std@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_R3exception_at_std@@8 ; std::exception::`RTTI Class Hierarchy Descriptor'
PUBLIC ??_R2exception_at_std@@8 ; std::exception::`RTTI Base Class Array'
PUBLIC ??_R1A@?0A_at_EA@bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC ??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@ ; `string'
PUBLIC ??0?$pair_at_MM@std@@QAE_at_ABM0@Z ; std::pair<float,float>::pair<float,float>
PUBLIC ??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >
PUBLIC ??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>
PUBLIC ??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type
PUBLIC ??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
PUBLIC ?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back
PUBLIC ??0bad_alloc_at_std@@QAE_at_PBD@Z ; std::bad_alloc::bad_alloc
PUBLIC ??1bad_alloc_at_std@@UAE_at_XZ ; std::bad_alloc::~bad_alloc
PUBLIC ??_Gbad_alloc_at_std@@UAEPAXI_at_Z ; std::bad_alloc::`scalar deleting destructor'
PUBLIC ??0bad_alloc_at_std@@QAE_at_ABV01@@Z ; std::bad_alloc::bad_alloc
PUBLIC ??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z ; std::_Allocate<std::pair<float,float> >
PUBLIC ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
PUBLIC ?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address
PUBLIC ?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ ; boost::aligned_storage<2048,4>::address
PUBLIC ?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address
PUBLIC ?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate
PUBLIC ?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin
PUBLIC ?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end
PUBLIC ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z ; std::_Checked_base<std::pair<float,float> *>
PUBLIC ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z ; std::_Checked_base<std::pair<float,float> *>
PUBLIC ??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??2_at_YAPAXIPAX@Z ; operator new
PUBLIC ??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z ; std::_Construct<std::pair<float,float>,std::pair<float,float> >
PUBLIC ??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z ; std::_Destroy<std::pair<float,float> >
PUBLIC ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>
PUBLIC ??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>
PUBLIC ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
PUBLIC ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
PUBLIC ?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer
PUBLIC ?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::deallocate
PUBLIC ?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator
PUBLIC ?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate
PUBLIC ?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy
PUBLIC ??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>
PUBLIC ??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type
PUBLIC ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
PUBLIC ??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor'
PUBLIC ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
PUBLIC ??$max_at_I@std@@YAABIABI0_at_Z ; std::max<unsigned int>
PUBLIC ??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z ; boost::default_grow_policy::new_capacity<unsigned int>
PUBLIC ?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl
PUBLIC ?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve
PUBLIC ?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back
PUBLIC ??_R0?AVbad_alloc_at_std@@@8 ; std::bad_alloc `RTTI Type Descriptor'
PUBLIC ??_R0?AVexception_at_std@@@8 ; std::exception `RTTI Type Descriptor'
PUBLIC __CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
PUBLIC __CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
PUBLIC __CTA2?AVbad_alloc_at_std@@
PUBLIC __TI2?AVbad_alloc_at_std@@
PUBLIC ??_7bad_alloc_at_std@@6B@ ; std::bad_alloc::`vftable'
EXTRN ?what_at_exception@std@@UBEPBDXZ:PROC ; std::exception::what
EXTRN ??0exception_at_std@@QAE_at_ABV01@@Z:PROC ; std::exception::exception
EXTRN @__security_check_cookie_at_4:PROC
EXTRN ??2_at_YAPAXI@Z:PROC ; operator new
EXTRN __imp_??0exception_at_std@@QAE_at_ABQBD@Z:PROC
EXTRN __imp_?what_at_exception@std@@UBEPBDXZ:PROC
EXTRN __imp_??1exception_at_std@@UAE_at_XZ:PROC
EXTRN ??_Ebad_alloc_at_std@@UAEPAXI_at_Z:PROC ; std::bad_alloc::`vector deleting destructor'
EXTRN __imp_??0exception_at_std@@QAE_at_ABV01@@Z:PROC
EXTRN ??_7type_info@@6B@:QWORD ; type_info::`vftable'
EXTRN ??3_at_YAXPAX@Z:PROC ; operator delete
; COMDAT ??_7bad_alloc_at_std@@6B@
CONST SEGMENT
??_7bad_alloc_at_std@@6B@ DD FLAT:??_R4bad_alloc_at_std@@6B@ ; std::bad_alloc::`vftable'
DD FLAT:??_Ebad_alloc_at_std@@UAEPAXI_at_Z
DD FLAT:?what_at_exception@std@@UBEPBDXZ
CONST ENDS
; COMDAT ??_R4bad_alloc_at_std@@6B@
rdata$r SEGMENT
??_R4bad_alloc_at_std@@6B@ DD 00H ; std::bad_alloc::`RTTI Complete Object Locator'
DD 00H
DD 00H
DD FLAT:??_R0?AVbad_alloc_at_std@@@8
DD FLAT:??_R3bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT ??_R3bad_alloc_at_std@@8
rdata$r SEGMENT
??_R3bad_alloc_at_std@@8 DD 00H ; std::bad_alloc::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 02H
DD FLAT:??_R2bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT ??_R2bad_alloc_at_std@@8
rdata$r SEGMENT
??_R2bad_alloc_at_std@@8 DD FLAT:??_R1A@?0A_at_EA@bad_alloc_at_std@@8 ; std::bad_alloc::`RTTI Base Class Array'
DD FLAT:??_R1A@?0A_at_EA@exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R1A@?0A_at_EA@exception_at_std@@8
rdata$r SEGMENT
??_R1A@?0A_at_EA@exception_at_std@@8 DD FLAT:??_R0?AVexception_at_std@@@8 ; std::exception::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 00H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R3exception_at_std@@8
rdata$r SEGMENT
??_R3exception_at_std@@8 DD 00H ; std::exception::`RTTI Class Hierarchy Descriptor'
DD 00H
DD 01H
DD FLAT:??_R2exception_at_std@@8
rdata$r ENDS
; COMDAT ??_R2exception_at_std@@8
rdata$r SEGMENT
??_R2exception_at_std@@8 DD FLAT:??_R1A@?0A_at_EA@exception_at_std@@8 ; std::exception::`RTTI Base Class Array'
rdata$r ENDS
; COMDAT ??_R1A@?0A_at_EA@bad_alloc_at_std@@8
rdata$r SEGMENT
??_R1A@?0A_at_EA@bad_alloc_at_std@@8 DD FLAT:??_R0?AVbad_alloc_at_std@@@8 ; std::bad_alloc::`RTTI Base Class Descriptor at (0,-1,0,64)'
DD 01H
DD 00H
DD 0ffffffffH
DD 00H
DD 040H
DD FLAT:??_R3bad_alloc_at_std@@8
rdata$r ENDS
; COMDAT __TI2?AVbad_alloc_at_std@@
xdata$x SEGMENT
__TI2?AVbad_alloc_at_std@@ DD 00H
DD FLAT:??1bad_alloc_at_std@@UAE_at_XZ
DD 00H
DD FLAT:__CTA2?AVbad_alloc_at_std@@
xdata$x ENDS
; COMDAT __CTA2?AVbad_alloc_at_std@@
xdata$x SEGMENT
__CTA2?AVbad_alloc_at_std@@ DD 02H
DD FLAT:__CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
DD FLAT:__CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
xdata$x ENDS
; COMDAT __CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVexception_at_std@@@8??0exception_at_std@@QAE_at_ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVexception_at_std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0exception_at_std@@QAE_at_ABV01@@Z
xdata$x ENDS
; COMDAT __CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12
xdata$x SEGMENT
__CT??_R0?AVbad_alloc_at_std@@@8??0bad_alloc_at_std@@QAE_at_ABV01@@Z12 DD 00H
DD FLAT:??_R0?AVbad_alloc_at_std@@@8
DD 00H
DD 0ffffffffH
ORG $+4
DD 0cH
DD FLAT:??0bad_alloc_at_std@@QAE_at_ABV01@@Z
xdata$x ENDS
; COMDAT ??_R0?AVexception_at_std@@@8
_DATA SEGMENT
??_R0?AVexception_at_std@@@8 DD FLAT:??_7type_info@@6B@ ; std::exception `RTTI Type Descriptor'
DD 00H
DB '.?AVexception_at_std@@', 00H
_DATA ENDS
; COMDAT ??_R0?AVbad_alloc_at_std@@@8
_DATA SEGMENT
??_R0?AVbad_alloc_at_std@@@8 DD FLAT:??_7type_info@@6B@ ; std::bad_alloc `RTTI Type Descriptor'
DD 00H
DB '.?AVbad_alloc_at_std@@', 00H
__bad_alloc_Message DD FLAT:??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@
; COMDAT ??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@
CONST SEGMENT
??_C@_0P_at_GHFPNOJB@bad?5allocation?$AA@ DB 'bad allocation', 00H ; `string'
; Function compile flags: /Ogtpy
CONST ENDS
; COMDAT ??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z
_TEXT SEGMENT
??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z PROC ; std::_Destroy<std::pair<float,float> >, COMDAT
; File d:\c++\visual91\vc\include\xmemory
; Line 60
ret 0
??$_Destroy_at_U?$pair_at_MM@std@@@std@@YAXPAU?$pair_at_MM@0@@Z ENDP ; std::_Destroy<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z
_TEXT SEGMENT
___formal$ = 8 ; size = 1
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z PROC ; std::_Checked_base<std::pair<float,float> *>, COMDAT
; __It$ = eax
; File d:\c++\visual91\vc\include\xutility
; Line 1147
mov eax, DWORD PTR [eax]
; Line 1148
ret 0
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@U_Unchanged_checked_iterator_base_type_tag_at_0@@Z ENDP ; std::_Checked_base<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z
_TEXT SEGMENT
__Cat$ = -1 ; size = 1
??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z PROC ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; Line 1509
push ecx
; Line 1511
mov al, BYTE PTR __Cat$[esp+4]
; Line 1512
pop ecx
ret 0
??$_Ptr_cat_at_PAU?$pair_at_MM@std@@PAU12@@std@@YA?AU_Nonscalar_ptr_iterator_tag_at_0@AAPAU?$pair_at_MM@0_at_0@Z ENDP ; std::_Ptr_cat<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z
_TEXT SEGMENT
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z PROC ; std::_Checked_base<std::pair<float,float> *>, COMDAT
; __It$ = eax
; Line 1165
mov eax, DWORD PTR [eax]
; Line 1166
ret 0
??$_Checked_base_at_PAU?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_AAPAU10@@Z ENDP ; std::_Checked_base<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0bad_alloc_at_std@@QAE_at_ABV01@@Z
_TEXT SEGMENT
___that$ = 8 ; size = 4
??0bad_alloc_at_std@@QAE_at_ABV01@@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
; _this$ = ecx
mov eax, DWORD PTR ___that$[esp-4]
push esi
push eax
mov esi, ecx
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABV01@@Z
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
mov eax, esi
pop esi
ret 4
??0bad_alloc_at_std@@QAE_at_ABV01@@Z ENDP ; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z
_TEXT SEGMENT
??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z PROC ; boost::default_grow_policy::new_capacity<unsigned int>, COMDAT
; _old_capacity$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 96
add eax, eax
add eax, eax
; Line 97
ret 0
??$new_capacity_at_I@default_grow_policy_at_boost@@SAII_at_Z ENDP ; boost::default_grow_policy::new_capacity<unsigned int>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$max_at_I@std@@YAABIABI0_at_Z
_TEXT SEGMENT
??$max_at_I@std@@YAABIABI0_at_Z PROC ; std::max<unsigned int>, COMDAT
; __Left$ = ecx
; __Right$ = eax
; File d:\c++\visual91\vc\include\xutility
; Line 3384
mov edx, DWORD PTR [ecx]
cmp edx, DWORD PTR [eax]
jb SHORT $LN4_at_max
mov eax, ecx
$LN4_at_max:
; Line 3385
ret 0
??$max_at_I@std@@YAABIABI0_at_Z ENDP ; std::max<unsigned int>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ
_TEXT SEGMENT
?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ PROC ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 57
ret 0
?address@?$aligned_storage_imp@$0IAA@$03_at_aligned_storage_at_detail@boost@@QBEPAXXZ ENDP ; boost::detail::aligned_storage::aligned_storage_imp<2048,4>::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ
_TEXT SEGMENT
?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 731
mov ecx, DWORD PTR [eax+2056]
mov edx, DWORD PTR [eax+2052]
lea eax, DWORD PTR [edx+ecx*8]
; Line 732
ret 0
?end@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::end
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ
_TEXT SEGMENT
?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin, COMDAT
; _this$ = eax
; Line 721
mov eax, DWORD PTR [eax+2052]
; Line 722
ret 0
?begin@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAU?$pair_at_MM@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::begin
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ
_TEXT SEGMENT
?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ PROC ; boost::aligned_storage<2048,4>::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 133
ret 0
?address@?$aligned_storage@$0IAA@$03_at_boost@@QAEPAXXZ ENDP ; boost::aligned_storage<2048,4>::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z
_TEXT SEGMENT
?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z PROC ; std::allocator<std::pair<float,float> >::deallocate, COMDAT
; __Ptr$ = eax
; File d:\c++\visual91\vc\include\xmemory
; Line 140
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
; Line 141
ret 0
?deallocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEXPAU?$pair_at_MM@2_at_I@Z ENDP ; std::allocator<std::pair<float,float> >::deallocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ
_TEXT SEGMENT
??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ PROC ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 122
ret 0
??0?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ENDP ; boost::aligned_storage<2048,4>::aligned_storage<2048,4>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ
_TEXT SEGMENT
?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 1197
ret 0
?address_at_members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QBEPAXXZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::address
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ
_TEXT SEGMENT
?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator, COMDAT
; _this$ = eax
; Line 711
ret 0
?get_allocator@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEAAV?$allocator_at_U?$pair_at_MM@std@@@std@@XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::get_allocator
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z
_TEXT SEGMENT
_new_capacity$ = -4 ; size = 4
_n$ = 8 ; size = 4
?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl, COMDAT
; _this$ = eax
; Line 324
push ecx
; Line 326
mov eax, DWORD PTR [eax+2048]
add eax, eax
add eax, eax
; Line 328
cmp eax, DWORD PTR _n$[esp]
mov DWORD PTR _new_capacity$[esp+4], eax
lea eax, DWORD PTR _n$[esp]
jb SHORT $LN9_at_new_capaci
lea eax, DWORD PTR _new_capacity$[esp+4]
$LN9_at_new_capaci:
mov eax, DWORD PTR [eax]
; Line 329
pop ecx
ret 4
?new_capacity_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEII_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::new_capacity_impl
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z
_TEXT SEGMENT
_capacity$ = 8 ; size = 4
?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate, COMDAT
; _where$ = eax
; Line 183
cmp DWORD PTR _capacity$[esp-4], 256 ; 00000100H
jbe SHORT $LN6_at_deallocate
; Line 185
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN6_at_deallocate:
; Line 186
ret 4
?deallocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXPAU?$pair_at_MM@std@@I_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::deallocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ
_TEXT SEGMENT
??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ PROC ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>, COMDAT
; File d:\boost\trunk\boost\aligned_storage.hpp
; Line 126
ret 0
??1?$aligned_storage@$0IAA@$03_at_boost@@QAE_at_XZ ENDP ; boost::aligned_storage<2048,4>::~aligned_storage<2048,4>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z
_TEXT SEGMENT
??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type, COMDAT
; _this$ = eax
; _capacity$ = ecx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 1194
mov DWORD PTR [eax+2048], ecx
ret 0
??0members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::members_type
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ
_TEXT SEGMENT
??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ PROC ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >, COMDAT
; _this$ = eax
; File d:\c++\visual91\vc\include\xmemory
; Line 121
ret 0
??0?$allocator_at_U?$pair_at_MM@std@@@std@@QAE_at_XZ ENDP ; std::allocator<std::pair<float,float> >::allocator<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z
_TEXT SEGMENT
?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 290
cmp DWORD PTR [eax+2048], 256 ; 00000100H
jbe SHORT $LN8_at_auto_buffe
mov eax, DWORD PTR [eax+2052]
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN8_at_auto_buffe:
; Line 291
ret 0
?auto_buffer_destroy@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXABU?$integral_constant@_N$00_at_2@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer_destroy
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ
_TEXT SEGMENT
??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type, COMDAT
ret 0
??1members_type@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::members_type::~members_type
_TEXT ENDS
EXTRN __fltused:DWORD
; Function compile flags: /Ogtpy
; COMDAT ??0?$pair_at_MM@std@@QAE_at_ABM0@Z
_TEXT SEGMENT
__Val2$ = 8 ; size = 4
??0?$pair_at_MM@std@@QAE_at_ABM0@Z PROC ; std::pair<float,float>::pair<float,float>, COMDAT
; _this$ = eax
; __Val1$ = ecx
; File d:\c++\visual91\vc\include\utility
; Line 50
fld DWORD PTR [ecx]
mov edx, DWORD PTR __Val2$[esp-4]
fstp DWORD PTR [eax]
fld DWORD PTR [edx]
fstp DWORD PTR [eax+4]
; Line 51
ret 4
??0?$pair_at_MM@std@@QAE_at_ABM0@Z ENDP ; std::pair<float,float>::pair<float,float>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ
_TEXT SEGMENT
??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >, COMDAT
; _this$ = ecx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 665
mov eax, DWORD PTR [ecx+2052]
test eax, eax
je SHORT $LN11_at_auto_buffe_at_2
; Line 668
cmp DWORD PTR [ecx+2048], 256 ; 00000100H
jbe SHORT $LN11_at_auto_buffe_at_2
push eax
call ??3_at_YAXPAX@Z ; operator delete
pop ecx
$LN11_at_auto_buffe_at_2:
; Line 669
ret 0
??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??2_at_YAPAXIPAX@Z
_TEXT SEGMENT
??2_at_YAPAXIPAX@Z PROC ; operator new, COMDAT
; __Where$ = eax
; File d:\c++\visual91\vc\include\new
; Line 60
ret 0
??2_at_YAPAXIPAX@Z ENDP ; operator new
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??1bad_alloc_at_std@@UAE_at_XZ
_TEXT SEGMENT
??1bad_alloc_at_std@@UAE_at_XZ PROC ; std::bad_alloc::~bad_alloc, COMDAT
; _this$ = ecx
; File d:\c++\visual91\vc\include\exception
; Line 380
mov DWORD PTR [ecx], OFFSET ??_7bad_alloc_at_std@@6B@
; Line 381
jmp DWORD PTR __imp_??1exception_at_std@@UAE_at_XZ
??1bad_alloc_at_std@@UAE_at_XZ ENDP ; std::bad_alloc::~bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0bad_alloc_at_std@@QAE_at_PBD@Z
_TEXT SEGMENT
__Message$ = -4 ; size = 4
??0bad_alloc_at_std@@QAE_at_PBD@Z PROC ; std::bad_alloc::bad_alloc, COMDAT
; _this$ = esi
; Line 371
push ecx
lea eax, DWORD PTR __Message$[esp+4]
push eax
mov ecx, esi
mov DWORD PTR __Message$[esp+8], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
; Line 372
mov eax, esi
pop ecx
ret 0
??0bad_alloc_at_std@@QAE_at_PBD@Z ENDP ; std::bad_alloc::bad_alloc
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z
_TEXT SEGMENT
??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z PROC ; std::_Construct<std::pair<float,float>,std::pair<float,float> >, COMDAT
; __Ptr$ = eax
; __Val$ = ecx
; File d:\c++\visual91\vc\include\xmemory
; Line 52
test eax, eax
je SHORT $LN3_at_Construct
mov edx, DWORD PTR [ecx]
mov DWORD PTR [eax], edx
mov ecx, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], ecx
$LN3_at_Construct:
; Line 53
ret 0
??$_Construct_at_U?$pair_at_MM@std@@U12@@std@@YAXPAU?$pair_at_MM@0_at_ABU10@@Z ENDP ; std::_Construct<std::pair<float,float>,std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z
_TEXT SEGMENT
__First$ = 8 ; size = 4
___formal$ = 12 ; size = 1
___formal$ = 16 ; size = 1
??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z PROC ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; __Last$ = edx
; __Dest$ = eax
; File d:\c++\visual91\vc\include\memory
; Line 47
mov ecx, DWORD PTR __First$[esp-4]
; Line 53
cmp ecx, edx
je SHORT $LN4_at_Uninit_cop
push esi
npad 7
$LL6_at_Uninit_cop:
; Line 54
test eax, eax
je SHORT $LN5_at_Uninit_cop
mov esi, DWORD PTR [ecx]
mov DWORD PTR [eax], esi
mov esi, DWORD PTR [ecx+4]
mov DWORD PTR [eax+4], esi
$LN5_at_Uninit_cop:
add ecx, 8
add eax, 8
cmp ecx, edx
jne SHORT $LL6_at_Uninit_cop
pop esi
$LN4_at_Uninit_cop:
; Line 61
ret 0
??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ENDP ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z
_TEXT SEGMENT
$T43117 = -4 ; size = 1
__Cat$43122 = 8 ; size = 1
__Last$ = 8 ; size = 4
__Dest$ = 12 ; size = 4
??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z PROC ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>, COMDAT
; __First$ = edx
; Line 101
push ecx
; Line 103
mov ecx, DWORD PTR __Cat$43122[esp]
mov BYTE PTR $T43117[esp+4], 0
mov eax, DWORD PTR $T43117[esp+4]
push eax
mov eax, DWORD PTR __Dest$[esp+4]
push ecx
push edx
mov edx, DWORD PTR __Last$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 104
add esp, 16 ; 00000010H
ret 0
??$uninitialized_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00_at_Z ENDP ; std::uninitialized_copy<std::pair<float,float> *,std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z
_TEXT SEGMENT
$T43173 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43178 = 12 ; size = 1
_where$ = 12 ; size = 4
??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>, COMDAT
; _begin$ = edx
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 201
push ecx
; Line 204
mov ecx, DWORD PTR __Cat$43178[esp]
mov BYTE PTR $T43173[esp+4], 0
mov eax, DWORD PTR $T43173[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 205
add esp, 16 ; 00000010H
ret 0
??$copy_rai_at_PAU?$pair_at_MM@std@@$00@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00ABU?$integral_constant@_N$00_at_1@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_rai<std::pair<float,float> *,1>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z
_TEXT SEGMENT
$T43247 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43251 = 12 ; size = 1
_where$ = 12 ; size = 4
___formal$ = 16 ; size = 1
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>, COMDAT
; _begin$ = edx
; Line 189
push ecx
; Line 191
mov ecx, DWORD PTR __Cat$43251[esp]
mov BYTE PTR $T43247[esp+4], 0
mov eax, DWORD PTR $T43247[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 192
add esp, 16 ; 00000010H
ret 0
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00Urandom_access_iterator_tag_at_3@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z
_TEXT SEGMENT
$T43341 = -4 ; size = 1
_end$ = 8 ; size = 4
__Cat$43345 = 12 ; size = 1
_where$ = 12 ; size = 4
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>, COMDAT
; _begin$ = edx
; Line 214
push ecx
; Line 217
mov ecx, DWORD PTR __Cat$43345[esp]
mov BYTE PTR $T43341[esp+4], 0
mov eax, DWORD PTR $T43341[esp+4]
push eax
mov eax, DWORD PTR _where$[esp+4]
push ecx
push edx
mov edx, DWORD PTR _end$[esp+12]
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 218
add esp, 16 ; 00000010H
ret 0
??$copy_impl_at_PAU?$pair_at_MM@std@@@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@CAXPAU?$pair_at_MM@std@@00_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::copy_impl<std::pair<float,float> *>
_TEXT ENDS
EXTRN __CxxThrowException_at_8:PROC
; Function compile flags: /Ogtpy
; COMDAT ??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z
_TEXT SEGMENT
$T43366 = -16 ; size = 4
$T43358 = -12 ; size = 12
??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z PROC ; std::_Allocate<std::pair<float,float> >, COMDAT
; __Count$ = ecx
; File d:\c++\visual91\vc\include\xmemory
; Line 39
or eax, -1
xor edx, edx
div ecx
sub esp, 16 ; 00000010H
cmp eax, 8
jae SHORT $LN1_at_Allocate
; Line 40
lea eax, DWORD PTR $T43366[esp+16]
push eax
lea ecx, DWORD PTR $T43358[esp+20]
mov DWORD PTR $T43366[esp+20], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
push OFFSET __TI2?AVbad_alloc_at_std@@
lea ecx, DWORD PTR $T43358[esp+20]
push ecx
mov DWORD PTR $T43358[esp+24], OFFSET ??_7bad_alloc_at_std@@6B@
call __CxxThrowException_at_8
$LN1_at_Allocate:
; Line 43
lea edx, DWORD PTR [ecx*8]
push edx
call ??2_at_YAPAXI@Z ; operator new
add esp, 4
; Line 44
add esp, 16 ; 00000010H
ret 0
$LN12_at_Allocate:
??$_Allocate_at_U?$pair_at_MM@std@@@std@@YAPAU?$pair_at_MM@0_at_IPAU10@@Z ENDP ; std::_Allocate<std::pair<float,float> >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z
_TEXT SEGMENT
??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor', COMDAT
; _this$ = esi
mov eax, DWORD PTR [esi+2052]
test eax, eax
je SHORT $LN17_at_scalar
cmp DWORD PTR [esi+2048], 256 ; 00000100H
jbe SHORT $LN17_at_scalar
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN17_at_scalar:
mov eax, esi
ret 0
??_G?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEPAXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z
_TEXT SEGMENT
$T43420 = -16 ; size = 4
$T43426 = -12 ; size = 12
?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z PROC ; std::allocator<std::pair<float,float> >::allocate, COMDAT
; __Count$ = ecx
; Line 144
sub esp, 16 ; 00000010H
; Line 145
test ecx, ecx
ja SHORT $LN5_at_allocate
xor ecx, ecx
$LN3_at_allocate:
lea edx, DWORD PTR [ecx*8]
push edx
call ??2_at_YAPAXI@Z ; operator new
add esp, 4
; Line 146
add esp, 16 ; 00000010H
ret 0
; Line 145
$LN5_at_allocate:
or eax, -1
xor edx, edx
div ecx
cmp eax, 8
jae SHORT $LN3_at_allocate
lea eax, DWORD PTR $T43420[esp+16]
push eax
lea ecx, DWORD PTR $T43426[esp+20]
mov DWORD PTR $T43420[esp+20], 0
call DWORD PTR __imp_??0exception_at_std@@QAE_at_ABQBD@Z
push OFFSET __TI2?AVbad_alloc_at_std@@
lea ecx, DWORD PTR $T43426[esp+20]
push ecx
mov DWORD PTR $T43426[esp+24], OFFSET ??_7bad_alloc_at_std@@6B@
call __CxxThrowException_at_8
$LN11_at_allocate:
int 3
?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ENDP ; std::allocator<std::pair<float,float> >::allocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z
_TEXT SEGMENT
_x$ = 8 ; size = 8
?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back, COMDAT
; _this$ = eax
; File d:\boost\trunk\boost\auto_buffer\auto_buffer.hpp
; Line 832
mov ecx, DWORD PTR [eax+2056]
mov edx, DWORD PTR [eax+2052]
lea ecx, DWORD PTR [edx+ecx*8]
test ecx, ecx
je SHORT $LN7_at_unchecked_
mov edx, DWORD PTR _x$[esp-4]
mov DWORD PTR [ecx], edx
mov edx, DWORD PTR _x$[esp]
mov DWORD PTR [ecx+4], edx
$LN7_at_unchecked_:
; Line 833
inc DWORD PTR [eax+2056]
; Line 834
ret 8
?unchecked_push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::unchecked_push_back
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z
_TEXT SEGMENT
_this$ = 8 ; size = 4
?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate, COMDAT
; _capacity$ = ecx
; Line 175
cmp ecx, 256 ; 00000100H
jbe SHORT $LN2_at_allocate@2
; Line 176
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
; Line 179
ret 4
$LN2_at_allocate@2:
; Line 178
mov eax, DWORD PTR _this$[esp-4]
; Line 179
ret 4
?allocate@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@I_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::allocate
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z
_TEXT SEGMENT
??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >, COMDAT
; _this$ = esi
; Line 582
mov ecx, 2001 ; 000007d1H
mov DWORD PTR [esi+2048], ecx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov DWORD PTR [esi+2052], eax
mov DWORD PTR [esi+2056], 0
; Line 584
mov eax, esi
ret 0
??0?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_I@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ??_Gbad_alloc_at_std@@UAEPAXI_at_Z
_TEXT SEGMENT
___flags$ = 8 ; size = 4
??_Gbad_alloc_at_std@@UAEPAXI_at_Z PROC ; std::bad_alloc::`scalar deleting destructor', COMDAT
; _this$ = ecx
push esi
mov esi, ecx
mov DWORD PTR [esi], OFFSET ??_7bad_alloc_at_std@@6B@
call DWORD PTR __imp_??1exception_at_std@@UAE_at_XZ
test BYTE PTR ___flags$[esp], 1
je SHORT $LN6_at_scalar@2
push esi
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN6_at_scalar@2:
mov eax, esi
pop esi
ret 4
??_Gbad_alloc_at_std@@UAEPAXI_at_Z ENDP ; std::bad_alloc::`scalar deleting destructor'
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z
_TEXT SEGMENT
$T43663 = -4 ; size = 1
__Cat$43666 = -4 ; size = 1
?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer, COMDAT
; _this$ = edi
; _new_capacity$ = ecx
; Line 307
push ecx
push esi
; Line 308
cmp ecx, 256 ; 00000100H
jbe SHORT $LN4_at_move_to_ne
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov esi, eax
jmp SHORT $LN3_at_move_to_ne
$LN4_at_move_to_ne:
mov esi, edi
$LN3_at_move_to_ne:
; Line 309
mov eax, DWORD PTR [edi+2052]
mov BYTE PTR $T43663[esp+8], 0
mov ecx, DWORD PTR $T43663[esp+8]
mov edx, DWORD PTR __Cat$43666[esp+8]
push ecx
mov ecx, DWORD PTR [edi+2056]
push edx
lea edx, DWORD PTR [eax+ecx*8]
push eax
mov eax, esi
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
add esp, 12 ; 0000000cH
; Line 310
mov eax, esi
pop esi
; Line 311
pop ecx
ret 0
?move_to_new_buffer@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEPAU?$pair_at_MM@std@@IABU?$integral_constant@_N$00_at_2@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::move_to_new_buffer
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z
_TEXT SEGMENT
$T43867 = 8 ; size = 1
__Cat$43870 = 8 ; size = 1
_new_capacity$ = 8 ; size = 4
?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl, COMDAT
; _this$ = esi
; Line 314
push ebx
mov ebx, DWORD PTR _new_capacity$[esp]
push edi
; Line 316
cmp ebx, 256 ; 00000100H
jbe SHORT $LN6_at_reserve_im
mov ecx, ebx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov edi, eax
jmp SHORT $LN5_at_reserve_im
$LN6_at_reserve_im:
mov edi, esi
$LN5_at_reserve_im:
mov eax, DWORD PTR [esi+2052]
mov BYTE PTR $T43867[esp+4], 0
mov ecx, DWORD PTR $T43867[esp+4]
mov edx, DWORD PTR __Cat$43870[esp+4]
push ecx
mov ecx, DWORD PTR [esi+2056]
push edx
lea edx, DWORD PTR [eax+ecx*8]
push eax
mov eax, edi
call ??$_Uninit_copy_at_PAU?$pair_at_MM@std@@PAU12@@std@@YAPAU?$pair_at_MM@0_at_PAU10@00U_Nonscalar_ptr_iterator_tag_at_0@U_Range_checked_iterator_tag_at_0@@Z ; std::_Uninit_copy<std::pair<float,float> *,std::pair<float,float> *>
; Line 317
mov eax, DWORD PTR [esi+2052]
add esp, 12 ; 0000000cH
test eax, eax
je SHORT $LN55_at_reserve_im
cmp DWORD PTR [esi+2048], 256 ; 00000100H
jbe SHORT $LN55_at_reserve_im
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN55_at_reserve_im:
; Line 318
mov DWORD PTR [esi+2052], edi
pop edi
; Line 319
mov DWORD PTR [esi+2048], ebx
pop ebx
; Line 321
ret 4
?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z
_TEXT SEGMENT
$T43969 = -8 ; size = 4
_new_capacity$43960 = -4 ; size = 4
?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve, COMDAT
; _this$ = ecx
; _n$ = eax
; Line 856
sub esp, 8
push esi
mov esi, ecx
; Line 859
mov ecx, DWORD PTR [esi+2048]
cmp eax, ecx
jbe SHORT $LN2_at_reserve
; Line 862
add ecx, ecx
add ecx, ecx
mov DWORD PTR $T43969[esp+12], eax
cmp ecx, eax
mov DWORD PTR _new_capacity$43960[esp+12], ecx
lea eax, DWORD PTR $T43969[esp+12]
jb SHORT $LN11_at_reserve
lea eax, DWORD PTR _new_capacity$43960[esp+12]
$LN11_at_reserve:
mov eax, DWORD PTR [eax]
push eax
call ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
$LN2_at_reserve:
pop esi
; Line 864
add esp, 8
ret 0
?reserve@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXI_at_Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve
; Function compile flags: /Ogtpy
_TEXT ENDS
; COMDAT ?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z
_TEXT SEGMENT
$T44011 = -8 ; size = 4
_new_capacity$44017 = -4 ; size = 4
_x$ = 8 ; size = 8
?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z PROC ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back, COMDAT
; _this$ = eax
; Line 900
sub esp, 8
push esi
mov esi, eax
; Line 903
mov eax, DWORD PTR [esi+2056]
mov ecx, DWORD PTR [esi+2048]
cmp eax, ecx
; Line 907
jne SHORT $LN30_at_push_back
; Line 909
inc eax
cmp eax, ecx
jbe SHORT $LN12_at_push_back
add ecx, ecx
add ecx, ecx
mov DWORD PTR $T44011[esp+12], eax
cmp ecx, eax
mov DWORD PTR _new_capacity$44017[esp+12], ecx
lea eax, DWORD PTR $T44011[esp+12]
jb SHORT $LN21_at_push_back
lea eax, DWORD PTR _new_capacity$44017[esp+12]
$LN21_at_push_back:
mov edx, DWORD PTR [eax]
push edx
call ?reserve_impl@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@AAEXI_at_Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::reserve_impl
$LN12_at_push_back:
; Line 910
mov eax, DWORD PTR [esi+2056]
$LN30_at_push_back:
mov ecx, DWORD PTR [esi+2052]
lea eax, DWORD PTR [ecx+eax*8]
test eax, eax
je SHORT $LN24_at_push_back
mov edx, DWORD PTR _x$[esp+8]
mov DWORD PTR [eax], edx
mov ecx, DWORD PTR _x$[esp+12]
mov DWORD PTR [eax+4], ecx
$LN24_at_push_back:
inc DWORD PTR [esi+2056]
; Line 912
pop esi
add esp, 8
ret 8
?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z ENDP ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back
_TEXT ENDS
PUBLIC __real_at_422c0000
PUBLIC __real_at_42280000
PUBLIC __$ArrayPad$
PUBLIC _main
EXTRN ___security_cookie:DWORD
EXTRN ___CxxFrameHandler3:PROC
; COMDAT __real_at_422c0000
; File d:\c++\visual91\vc\include\xmemory
CONST SEGMENT
__real_at_422c0000 DD 0422c0000r ; 43
CONST ENDS
; COMDAT __real_at_42280000
CONST SEGMENT
__real_at_42280000 DD 042280000r ; 42
CONST ENDS
; COMDAT xdata$x
xdata$x SEGMENT
__unwindtable$_main DD 0ffffffffH
DD FLAT:__unwindfunclet$_main$0
__ehfuncinfo$_main DD 019930522H
DD 01H
DD FLAT:__unwindtable$_main
DD 2 DUP(00H)
DD 2 DUP(00H)
DD 00H
DD 01H
; Function compile flags: /Ogtpy
xdata$x ENDS
; COMDAT _main
_TEXT SEGMENT
$T44047 = -2096 ; size = 8
_buf$ = -2088 ; size = 2060
__$ArrayPad$ = -20 ; size = 4
__$EHRec$ = -12 ; size = 12
_main PROC ; COMDAT
; File d:\test\pass_by_ref.cpp
; Line 5
push ebp
mov ebp, esp
and esp, -8 ; fffffff8H
push -1
push __ehhandler$_main
mov eax, DWORD PTR fs:0
push eax
sub esp, 2084 ; 00000824H
mov eax, DWORD PTR ___security_cookie
xor eax, esp
mov DWORD PTR __$ArrayPad$[esp+2096], eax
mov eax, DWORD PTR ___security_cookie
xor eax, esp
push eax
lea eax, DWORD PTR __$EHRec$[esp+2100]
mov DWORD PTR fs:0, eax
; Line 7
mov ecx, 2001 ; 000007d1H
mov DWORD PTR _buf$[esp+4148], ecx
call ?allocate@?$allocator_at_U?$pair_at_MM@std@@@std@@QAEPAU?$pair_at_MM@2_at_I@Z ; std::allocator<std::pair<float,float> >::allocate
mov DWORD PTR _buf$[esp+4152], eax
mov DWORD PTR _buf$[esp+4156], 0
mov DWORD PTR __$EHRec$[esp+2108], 0
; Line 9
movss xmm0, DWORD PTR __real_at_42280000
movss DWORD PTR $T44047[esp+2100], xmm0
movss xmm0, DWORD PTR __real_at_422c0000
mov ecx, DWORD PTR $T44047[esp+2100]
movss DWORD PTR $T44047[esp+2104], xmm0
mov eax, DWORD PTR $T44047[esp+2104]
push eax
push ecx
lea eax, DWORD PTR _buf$[esp+2108]
call ?push_back@?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAEXU?$pair_at_MM@std@@@Z ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::push_back
; Line 10
mov eax, DWORD PTR _buf$[esp+4152]
test eax, eax
je SHORT $LN41_at_main
cmp DWORD PTR _buf$[esp+4148], 256 ; 00000100H
jbe SHORT $LN41_at_main
push eax
call ??3_at_YAXPAX@Z ; operator delete
add esp, 4
$LN41_at_main:
xor eax, eax
mov ecx, DWORD PTR __$EHRec$[esp+2100]
mov DWORD PTR fs:0, ecx
pop ecx
mov ecx, DWORD PTR __$ArrayPad$[esp+2096]
xor ecx, esp
call @__security_check_cookie_at_4
mov esp, ebp
pop ebp
ret 0
_TEXT ENDS
; COMDAT text$x
text$x SEGMENT
__unwindfunclet$_main$0:
lea ecx, DWORD PTR _buf$[ebp]
jmp ??1?$auto_buffer_at_U?$pair_at_MM@std@@U?$store_n_objects@$0BAA@@boost@@Udefault_grow_policy_at_4@V?$allocator_at_U?$pair_at_MM@std@@@2@@boost@@QAE_at_XZ ; boost::auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >::~auto_buffer<std::pair<float,float>,boost::store_n_objects<256>,boost::default_grow_policy,std::allocator<std::pair<float,float> > >
__ehhandler$_main:
mov edx, DWORD PTR [esp+8]
lea eax, DWORD PTR [edx-2084]
mov ecx, DWORD PTR [edx-2088]
xor ecx, eax
call @__security_check_cookie_at_4
add eax, 0
mov ecx, DWORD PTR [edx-8]
xor ecx, eax
call @__security_check_cookie_at_4
mov eax, OFFSET __ehfuncinfo$_main
jmp ___CxxFrameHandler3
text$x ENDS
_main ENDP
END
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk