Boost logo

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