diff --git a/Interprocess_sync_windows_emulation.txt b/Interprocess_sync_windows_emulation.txt new file mode 100644 index 0000000..f7b544c --- /dev/null +++ b/Interprocess_sync_windows_emulation.txt @@ -0,0 +1,207 @@ +--------------- +--------------- +named_semaphore +--------------- +--------------- + +- Use a file for file lifetime semantics (create, open, unlink...) +- Create on demand (open or create) a windows named semaphore with all access (permissions are on the file). +- Use file id with a "prefix bips." to construct the mutex "Global\prefix bips.XXXXXXXXXXXXXXXXXXX" +- Add getvalue as implemented by cygwin +- Write sem status to file at file close. Use native file locking to serialize. +- See cygwin-1.7.5-1\winsup\cygwin\posix_ipc.cc and thread.cc + + + + +----------- +----------- +named_mutex +----------- +----------- + +- Don't serialize + +--------------- +--------------- +named_condition +--------------- +--------------- + + +--------------- +--------------- +Process shared resources. Use lock reduced versions? +--------------- +--------------- + +what about fast_semaphore (http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.kernel/2005-03/0041.html): + +class fast_semaphore +{ + +public: + + fast_semaphore( LONG init ) + : m_state( init ), + m_waitset( CreateSemaphore( 0, 0, LONG_MAX, 0 ) ) + { if ( ! m_waitset ) { throw; } } + + ~fast_semaphore() + { if ( ! CloseHandle( m_waitset ) ) { abort(); } } + +public: + + void inc() + { + if ( InterlockedIncrement( &m_state ) < 1 ) + { + if ( ! ReleaseSemaphore( m_waitset, 1, 0 ) ) + { + throw; + } + } + } + + void dec() + { + if ( InterlockedDecrement( &m_state ) < 0 ) + { + if ( WaitForSingleObject( m_waitset, INFINITE ) != +WAIT_OBJECT_0 ) + { + throw; + } + } + } + +private: + + volatile LONG m_state; + HANDLE m_waitset; + +}; + +class mutex_from_semaphore +{ + +public: + + mutex_from_semaphore() : m_waitset( 1 ) {} + +public: + + void enter() { m_waitset.dec(); } + void leave() { m_waitset.inc(); } + +private: + + fast_semaphore m_waitset; + +}; + +Or see Java implemenation (http://www.google.com/codesearch/p?hl=es#5qy3uURTOpU/trunk/JobRunner/src/org/ivoa/util/concurrent/FastSemaphore.java&q=%22fast%20semaphore%22&sa=N&cd=1&ct=rc&l=10) + + +For mutex, usefast mutex (see fast_mutex.h in cygwin): + + +class fast_mutex +{ +public: + fast_mutex () : + lock_counter (0), win32_obj_id (0) + { + } + + ~fast_mutex () + { + if(win32_obj_id) + CloseHandle (win32_obj_id); + } + + bool init () + { + lock_counter = 0; + win32_obj_id = ::CreateEvent (&sec_none_nih, false, false, NULL); + if (!win32_obj_id) + { + debug_printf ("CreateEvent failed. %E"); + return false; + } + return true; + } + + void lock () + { + if (InterlockedIncrement ((long *) &lock_counter) != 1) + cancelable_wait (win32_obj_id, INFINITE, cw_no_cancel, cw_sig_resume); + } + + void unlock () + { + if (InterlockedDecrement ((long *) &lock_counter)) + ::SetEvent (win32_obj_id); + } + +private: + unsigned long lock_counter; + HANDLE win32_obj_id; +}; + + +Or this one (http://www.tech-archive.net/Archive/Development/microsoft.public.win32.programmer.kernel/2005-03/0067.html): + + +class fast_mutex +{ + +public: + + fast_mutex + : m_state( 0 ), + m_waitset( CreateEvent( 0, FALSE, FALSE 0 ) ) + { if ( ! m_waitset ) { throw; } } + + ~fast_mutex + { if ( ! CloseHandle( m_waitset ) ) { abort(); } } + +public: + + void enter + { + if ( InterlockedExchange( &m_state, 1 ) ) + { + _asm pause; /* masm */ + + while ( InterlockedExchange( &m_state, 2 ) ) + { + if ( WaitForSingleObject + ( m_waitset, + INFINITE ) != + WAIT_OBJECT_0 ) + { + throw; + } + } + } + } + + void leave() + { + if ( InterlockedExchange( &m_state, 0 ) == 2 ) + { + if ( ! SetEvent( m_waitset ) ) + { + throw; + } + } + } + +private: + + volatile LONG m_state; + HANDLE m_waitset; + +}; + diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index 8fda6fe..6ffbddc 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -31,11 +31,14 @@ doxygen autodoc EXPAND_ONLY_PREDEF=YES MACRO_EXPANSION=YES "PREDEFINED=\"BOOST_INTERPROCESS_DOXYGEN_INVOKED\" \\ + \"BOOST_CONTAINER_NOEXCEPT_IF(a)=\" \\ + \"BOOST_CONTAINER_NOEXCEPT=\" \\ \"BOOST_INTERPROCESS_ENABLE_MOVE_EMULATION(a)= \" \\ \"BOOST_RV_REF(a)=a &&\" \\ \"BOOST_RV_REF_2_TEMPL_ARGS(a,b,c)=a &&\" \\ \"BOOST_RV_REF_3_TEMPL_ARGS(a,b,c,d)=a &&\" \\ \"BOOST_FWD_REF(a)=a &&\"" + "boost.doxygen.reftitle=Boost.Interprocess Reference" ; diff --git a/doc/interprocess.qbk b/doc/interprocess.qbk index 4bcdf31..f2f3f32 100644 --- a/doc/interprocess.qbk +++ b/doc/interprocess.qbk @@ -5109,7 +5109,7 @@ objects in the container, avoiding unnecessary copies. To transfer the contents of a container to another one, use -`boost::interprocess::move()` function, as shown in the example. For more details +`boost::move()` function, as shown in the example. For more details about functions supporting move-semantics, see the reference section of Boost.Interprocess containers: diff --git a/example/comp_doc_anonymous_conditionA.cpp b/example/comp_doc_anonymous_conditionA.cpp index 8893deb..09a2950 100644 --- a/example/comp_doc_anonymous_conditionA.cpp +++ b/example/comp_doc_anonymous_conditionA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_conditionB.cpp b/example/comp_doc_anonymous_conditionB.cpp index 11e2d00..ba8c2d8 100644 --- a/example/comp_doc_anonymous_conditionB.cpp +++ b/example/comp_doc_anonymous_conditionB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_mutexA.cpp b/example/comp_doc_anonymous_mutexA.cpp index d3a13fc..11833ea 100644 --- a/example/comp_doc_anonymous_mutexA.cpp +++ b/example/comp_doc_anonymous_mutexA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_mutexB.cpp b/example/comp_doc_anonymous_mutexB.cpp index 3b022cb..f083311 100644 --- a/example/comp_doc_anonymous_mutexB.cpp +++ b/example/comp_doc_anonymous_mutexB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_semaphoreA.cpp b/example/comp_doc_anonymous_semaphoreA.cpp index 639a95a..78fffd6 100644 --- a/example/comp_doc_anonymous_semaphoreA.cpp +++ b/example/comp_doc_anonymous_semaphoreA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_semaphoreB.cpp b/example/comp_doc_anonymous_semaphoreB.cpp index 06cdd88..0904393 100644 --- a/example/comp_doc_anonymous_semaphoreB.cpp +++ b/example/comp_doc_anonymous_semaphoreB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_upgradable_mutexA.cpp b/example/comp_doc_anonymous_upgradable_mutexA.cpp index 61b8b07..4bb09d9 100644 --- a/example/comp_doc_anonymous_upgradable_mutexA.cpp +++ b/example/comp_doc_anonymous_upgradable_mutexA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_upgradable_mutexB.cpp b/example/comp_doc_anonymous_upgradable_mutexB.cpp index 5286842..b0e1f09 100644 --- a/example/comp_doc_anonymous_upgradable_mutexB.cpp +++ b/example/comp_doc_anonymous_upgradable_mutexB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_message_queueA.cpp b/example/comp_doc_message_queueA.cpp index 80139a2..8efd488 100644 --- a/example/comp_doc_message_queueA.cpp +++ b/example/comp_doc_message_queueA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_message_queueB.cpp b/example/comp_doc_message_queueB.cpp index 0e08498..3e96643 100644 --- a/example/comp_doc_message_queueB.cpp +++ b/example/comp_doc_message_queueB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_adaptive_pool.cpp b/example/doc_adaptive_pool.cpp index 32c9a44..21336a6 100644 --- a/example/doc_adaptive_pool.cpp +++ b/example/doc_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_allocator.cpp b/example/doc_allocator.cpp index 88e0701..af23e90 100644 --- a/example/doc_allocator.cpp +++ b/example/doc_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_condition_shared_data.hpp b/example/doc_anonymous_condition_shared_data.hpp index ad41bdf..17054db 100644 --- a/example/doc_anonymous_condition_shared_data.hpp +++ b/example/doc_anonymous_condition_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_mutex_shared_data.hpp b/example/doc_anonymous_mutex_shared_data.hpp index f426f62..7458eb5 100644 --- a/example/doc_anonymous_mutex_shared_data.hpp +++ b/example/doc_anonymous_mutex_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_semaphore_shared_data.hpp b/example/doc_anonymous_semaphore_shared_data.hpp index 832a008..819f73e 100644 --- a/example/doc_anonymous_semaphore_shared_data.hpp +++ b/example/doc_anonymous_semaphore_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_shared_memory.cpp b/example/doc_anonymous_shared_memory.cpp index 2a7837f..a8da746 100644 --- a/example/doc_anonymous_shared_memory.cpp +++ b/example/doc_anonymous_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_bufferstream.cpp b/example/doc_bufferstream.cpp index 3c9c67b..9611058 100644 --- a/example/doc_bufferstream.cpp +++ b/example/doc_bufferstream.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_cached_adaptive_pool.cpp b/example/doc_cached_adaptive_pool.cpp index bb51195..b1e0760 100644 --- a/example/doc_cached_adaptive_pool.cpp +++ b/example/doc_cached_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_cached_node_allocator.cpp b/example/doc_cached_node_allocator.cpp index 8a2d195..d14efa4 100644 --- a/example/doc_cached_node_allocator.cpp +++ b/example/doc_cached_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_complex_map.cpp b/example/doc_complex_map.cpp index b97f4c1..d47d632 100644 --- a/example/doc_complex_map.cpp +++ b/example/doc_complex_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_cont.cpp b/example/doc_cont.cpp index 37892a7..378c899 100644 --- a/example/doc_cont.cpp +++ b/example/doc_cont.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_file_mapping.cpp b/example/doc_file_mapping.cpp index fc6ef75..a00b8e3 100644 --- a/example/doc_file_mapping.cpp +++ b/example/doc_file_mapping.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_intrusive.cpp b/example/doc_intrusive.cpp index da39c14..b7fe5c7 100644 --- a/example/doc_intrusive.cpp +++ b/example/doc_intrusive.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_ipc_message.cpp b/example/doc_ipc_message.cpp index f18bd67..2be03ad 100644 --- a/example/doc_ipc_message.cpp +++ b/example/doc_ipc_message.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_aligned_allocation.cpp b/example/doc_managed_aligned_allocation.cpp index 9e7a1e7..1182263 100644 --- a/example/doc_managed_aligned_allocation.cpp +++ b/example/doc_managed_aligned_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_allocation_command.cpp b/example/doc_managed_allocation_command.cpp index ad114d7..b94a872 100644 --- a/example/doc_managed_allocation_command.cpp +++ b/example/doc_managed_allocation_command.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_construction_info.cpp b/example/doc_managed_construction_info.cpp index d5bec5d..6226983 100644 --- a/example/doc_managed_construction_info.cpp +++ b/example/doc_managed_construction_info.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_copy_on_write.cpp b/example/doc_managed_copy_on_write.cpp index d7adf9c..26d5d41 100644 --- a/example/doc_managed_copy_on_write.cpp +++ b/example/doc_managed_copy_on_write.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_external_buffer.cpp b/example/doc_managed_external_buffer.cpp index f9c4710..cc7c41d 100644 --- a/example/doc_managed_external_buffer.cpp +++ b/example/doc_managed_external_buffer.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_grow.cpp b/example/doc_managed_grow.cpp index 241f104..d281ecb 100644 --- a/example/doc_managed_grow.cpp +++ b/example/doc_managed_grow.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_heap_memory.cpp b/example/doc_managed_heap_memory.cpp index 6b89de9..91ccab4 100644 --- a/example/doc_managed_heap_memory.cpp +++ b/example/doc_managed_heap_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_mapped_file.cpp b/example/doc_managed_mapped_file.cpp index 6da9e1c..a19d389 100644 --- a/example/doc_managed_mapped_file.cpp +++ b/example/doc_managed_mapped_file.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_multiple_allocation.cpp b/example/doc_managed_multiple_allocation.cpp index 24c4ee2..8c03186 100644 --- a/example/doc_managed_multiple_allocation.cpp +++ b/example/doc_managed_multiple_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -10,7 +10,7 @@ #include //[doc_managed_multiple_allocation #include -#include //boost::interprocess::move +#include //boost::move #include //assert #include //std::memset #include //std::nothrow @@ -81,7 +81,7 @@ int main() sizes[i] = i*3; chain = managed_shm.allocate_many(sizes, 10); - managed_shm.deallocate_many(boost::interprocess::move(chain)); + managed_shm.deallocate_many(boost::move(chain)); return 0; } //] diff --git a/example/doc_managed_raw_allocation.cpp b/example/doc_managed_raw_allocation.cpp index dd4fe56..11928cf 100644 --- a/example/doc_managed_raw_allocation.cpp +++ b/example/doc_managed_raw_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_map.cpp b/example/doc_map.cpp index 9a0596d..e1cf580 100644 --- a/example/doc_map.cpp +++ b/example/doc_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_move_containers.cpp b/example/doc_move_containers.cpp index ce5bb73..a4f4c6b 100644 --- a/example/doc_move_containers.cpp +++ b/example/doc_move_containers.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -77,7 +77,7 @@ int main () //In the following line, no string copy-constructor will be called. //"move_me"'s contents will be transferred to the string created in //the vector - myshmvector->push_back(boost::interprocess::move(move_me)); + myshmvector->push_back(boost::move(move_me)); //The source string is in default constructed state assert(move_me.empty()); @@ -93,7 +93,7 @@ int main () //No string copy-constructor or assignments will be called, but //move constructors and move-assignments. No memory allocation //function will be called in this operations!! - myshmvector->insert(myshmvector->begin(), boost::interprocess::move(string_to_compare)); + myshmvector->insert(myshmvector->begin(), boost::move(string_to_compare)); //Destroy vector. This will free all strings that the vector contains shm.destroy_ptr(myshmvector); diff --git a/example/doc_multi_index.cpp b/example/doc_multi_index.cpp index 1e7d0b4..f534877 100644 --- a/example/doc_multi_index.cpp +++ b/example/doc_multi_index.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_named_alloc.cpp b/example/doc_named_alloc.cpp index aa774db..56d18c9 100644 --- a/example/doc_named_alloc.cpp +++ b/example/doc_named_alloc.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_named_condition_shared_data.hpp b/example/doc_named_condition_shared_data.hpp index 589a55c..892a4eb 100644 --- a/example/doc_named_condition_shared_data.hpp +++ b/example/doc_named_condition_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_named_mutex.cpp b/example/doc_named_mutex.cpp index 63e2d66..9c27ba6 100644 --- a/example/doc_named_mutex.cpp +++ b/example/doc_named_mutex.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_node_allocator.cpp b/example/doc_node_allocator.cpp index 582b642..9f7963d 100644 --- a/example/doc_node_allocator.cpp +++ b/example/doc_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_offset_ptr.cpp b/example/doc_offset_ptr.cpp index 13379da..b4abb53 100644 --- a/example/doc_offset_ptr.cpp +++ b/example/doc_offset_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_private_adaptive_pool.cpp b/example/doc_private_adaptive_pool.cpp index 89ee847..98ec86a 100644 --- a/example/doc_private_adaptive_pool.cpp +++ b/example/doc_private_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_private_node_allocator.cpp b/example/doc_private_node_allocator.cpp index e2eb8cd..859a7bc 100644 --- a/example/doc_private_node_allocator.cpp +++ b/example/doc_private_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_scoped_ptr.cpp b/example/doc_scoped_ptr.cpp index ac3dcad..698e340 100644 --- a/example/doc_scoped_ptr.cpp +++ b/example/doc_scoped_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_shared_memory.cpp b/example/doc_shared_memory.cpp index 72f48f2..a3b4c3e 100644 --- a/example/doc_shared_memory.cpp +++ b/example/doc_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_shared_ptr.cpp b/example/doc_shared_ptr.cpp index f2fc673..a1f7c25 100644 --- a/example/doc_shared_ptr.cpp +++ b/example/doc_shared_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. +// (C) Copyright Ion Gaztanaga 2006-2011. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) diff --git a/example/doc_shared_ptr_explicit.cpp b/example/doc_shared_ptr_explicit.cpp index f0cc4f6..e1c0f29 100644 --- a/example/doc_shared_ptr_explicit.cpp +++ b/example/doc_shared_ptr_explicit.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. +// (C) Copyright Ion Gaztanaga 2006-2011. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) diff --git a/example/doc_spawn_vector.cpp b/example/doc_spawn_vector.cpp index e8450d7..12914bf 100644 --- a/example/doc_spawn_vector.cpp +++ b/example/doc_spawn_vector.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_unique_ptr.cpp b/example/doc_unique_ptr.cpp index 6fc66af..bbba867 100644 --- a/example/doc_unique_ptr.cpp +++ b/example/doc_unique_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. +// (C) Copyright Ion Gaztanaga 2006-2011. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -94,7 +94,7 @@ int main () //Now insert all values for(int i = 0; i < 100; ++i){ unique_ptr_type p(make_managed_unique_ptr(file.construct(anonymous_instance)(i), file)); - unique_vector->push_back(boost::interprocess::move(p)); + unique_vector->push_back(boost::move(p)); assert(unique_vector->back()->number_ == i); } @@ -104,7 +104,7 @@ int main () //Pass ownership of all values to the list for(int i = 99; !unique_vector->empty(); --i){ - unique_list->push_front(boost::interprocess::move(unique_vector->back())); + unique_list->push_front(boost::move(unique_vector->back())); //The unique ptr of the vector is now empty... assert(unique_vector->back() == 0); unique_vector->pop_back(); diff --git a/example/doc_unordered_map.cpp b/example/doc_unordered_map.cpp index 6e4d222..f2f67d7 100644 --- a/example/doc_unordered_map.cpp +++ b/example/doc_unordered_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_upgradable_mutex_shared_data.hpp b/example/doc_upgradable_mutex_shared_data.hpp index ffbef04..cc85750 100644 --- a/example/doc_upgradable_mutex_shared_data.hpp +++ b/example/doc_upgradable_mutex_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_vectorstream.cpp b/example/doc_vectorstream.cpp index 9807831..59abe50 100644 --- a/example/doc_vectorstream.cpp +++ b/example/doc_vectorstream.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_where_allocate.cpp b/example/doc_where_allocate.cpp index 2b4d23e..7fb8c52 100644 --- a/example/doc_where_allocate.cpp +++ b/example/doc_where_allocate.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_windows_shared_memory.cpp b/example/doc_windows_shared_memory.cpp index 8779ac3..6bffbad 100644 --- a/example/doc_windows_shared_memory.cpp +++ b/example/doc_windows_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_xsi_shared_memory.cpp b/example/doc_xsi_shared_memory.cpp index a3a3784..fabcea1 100644 --- a/example/doc_xsi_shared_memory.cpp +++ b/example/doc_xsi_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/proj/to-do.txt b/proj/to-do.txt index 160692b..242a89d 100644 --- a/proj/to-do.txt +++ b/proj/to-do.txt @@ -8,6 +8,15 @@ // ////////////////////////////////////////////////////////////////////////////// +Remove std::iterator_traits and use pointer_traits + +What values should take shared memory allocators: + +propagate_on_container_copy_assignment +propagate_on_container_move_assignment +propagate_on_container_swap + + ////////////////////////////////////////////////////////////////////////////// Platform conformance @@ -239,3 +248,4 @@ MyRobustMutexLockFile() } ipcdetail::intermodule_singleton::get(); + diff --git a/proj/vc7ide/Interprocess.sln b/proj/vc7ide/Interprocess.sln index 64cdd1b..019d6a6 100644 --- a/proj/vc7ide/Interprocess.sln +++ b/proj/vc7ide/Interprocess.sln @@ -1,25 +1,13 @@ Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_interprocesslib", "interprocesslib.vcproj", "{FFAA56F1-32EC-4B22-B6BD-95A311A67C35}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_interprocesslib", "interprocesslib.vcproj", "{FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_windows_shared_memory", "doc_windows_shared_memory.vcproj", "{5E17C9C3-1362-2E1E-C84F-8A76B6739F21}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "allocexcept_test", "allocexcept_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792662}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adaptive_node_pool_test", "adaptive_node_pool_test.vcproj", "{CD57C283-1862-42FE-BF87-B96D3A2A7912}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_pool_test", "node_pool_test.vcproj", "{8A519DC3-6092-A4FE-F748-BA91328D6522}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deque_test", "deque_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792655}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "barrier_test", "barrier_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792661}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "anonymous_shared_memory_test", "anonymous_shared_memory_test.vcproj", "{58DE8A13-4FA7-6252-36FE-B3A0A6D92812}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject @@ -31,34 +19,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cached_node_allocator_test" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "private_node_allocator_test", "private_node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792620}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_allocator_test", "node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792622}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_mutex_test", "named_mutex_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792625}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_recursive_mutex_test", "named_recursive_mutex_test.vcproj", "{5C83CE18-4F48-A7FE-6092-B7920AD3A624}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_semaphore_test", "named_semaphore_test.vcproj", "{58CCE283-1609-48FE-A4F7-BA0D3A793523}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_heap_memory", "doc_managed_heap_memory.vcproj", "{58CCE183-6092-48FE-A4FC-BA0D3A792647}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "allocexcept_test", "allocexcept_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792662}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "condition_test", "condition_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792658}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -67,182 +27,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "data_test", "data_test.vcpr ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_bufferstream", "doc_bufferstream.vcproj", "{58C1B183-9026-4E12-00F2-001200540054}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_intrusive", "doc_intrusive.vcproj", "{5E18CC83-6092-48FE-A677-B832A0D3A650}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_mapped_file", "doc_managed_mapped_file.vcproj", "{58CCE183-5091-48FE-A4FC-BA0D3A792446}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_offset_ptr", "doc_offset_ptr.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792643}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_scoped_ptr", "doc_scoped_ptr.vcproj", "{58CC8E13-0962-8F4E-77A6-BD3A6832A042}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_vectorstream", "doc_vectorstream.vcproj", "{58C1B183-9260-4E8F-F200-000000000041}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_where_allocate", "doc_where_allocate.vcproj", "{58CCE183-6092-48FE-A677-BA0D3A832640}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_mapping_test", "file_mapping_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792638}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flat_tree_test", "flat_tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792637}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intrusive_ptr_test", "intrusive_ptr_test.vcproj", "{5821C383-6092-12FE-A877-BA0D33467633}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "list_test", "list_ex.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792632}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_mapped_file_test", "managed_mapped_file_test.vcproj", "{5CCE1883-0926-F7A4-8FE4-BA0606D92331}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapped_file_test", "mapped_file_test.vcproj", "{5C6D9CE1-2609-F7A4-8FE4-BA0883602330}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memory_algorithm_test", "memory_algorithm_test.vcproj", "{58E18CC3-6092-8F4E-A3E7-A792230D3629}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "message_queue_test", "message_queue.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792628}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_test", "mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "null_index_test", "null_index_test.vcproj", "{0000058C-0000-0000-0000-000000000021}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "semaphore_test", "semaphore_test.vcproj", "{5CE28C83-48FE-1676-4FA7-B50D3A76A013}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_multiple_allocation", "doc_managed_multiple_allocation.vcproj", "{818C43EE-3561-F3AE-4FD7-8A2076E76A31}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_allocation_command", "doc_managed_allocation_command.vcproj", "{5189DEA3-3261-F33E-47ED-83BC69F66061}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_construction_info", "doc_managed_construction_info.vcproj", "{5C82D1D3-3861-3AF1-03EF-89AED4716761}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr_explicit", "doc_shared_ptr_explicit.vcproj", "{4E887AC3-F8EA-6923-A744-C264A398C913}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unique_ptr", "doc_unique_ptr.vcproj", "{589C2EB3-8A57-1862-F4EA-A6B14C7329A3}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr", "doc_shared_ptr.vcproj", "{51CE89A3-6092-F4EA-48A7-B4B9AC326093}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_shared_memory_test", "managed_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_grow", "doc_managed_grow.vcproj", "{818C43EE-3561-F3AE-4FD7-8A2076E76A31}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "offset_ptr_test", "offset_ptr_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_shared_memory", "doc_anonymous_shared_memory.vcproj", "{6DE178C3-12FE-6032-4FC7-879B63B9F651}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "anonymous_shared_memory_test", "anonymous_shared_memory_test.vcproj", "{58DE8A13-4FA7-6252-36FE-B3A0A6D92812}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unordered_map", "doc_unordered_map.vcproj", "{9C185DF3-B75F-1928-8F6D-735108AABE62}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_multi_index", "doc_multi_index.vcproj", "{918C5DF3-1928-B73F-F626-7358518CBE62}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unordered_test", "unordered_test.vcproj", "{C3CE1183-09F2-A46A-4FE6-D06BA7923A02}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_index_test", "multi_index_test.vcproj", "{9285DFD3-1928-F662-CB73-73518CB53A62}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_lock_test", "file_lock_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792639}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intersegment_ptr_test", "intersegment_ptr_test.vcproj", "{5E81CD01-4FA2-2A96-84FE-DA631CA20962}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_copy_on_write", "doc_managed_copy_on_write.vcproj", "{8E0C437E-3613-FD46-F3AE-876A0731CA85}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enable_shared_from_this_test", "enable_shared_from_this_test.vcproj", "{571C3483-87C7-6921-1238-B086B3E766C9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_complex_map", "doc_complex_map.vcproj", "{5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_construct_test", "named_construct_test.vcproj", "{5183C8CE-F2E1-3620-237A-B765C9896390}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stable_vector_test", "stable_vector_test.vcproj", "{5E11C8D3-FA52-760A-84FE-943A6BA05A21}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_spawn_vector", "doc_spawn_vector.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792652}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_ipc_message", "doc_ipc_message.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792649}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_named_alloc", "doc_named_alloc.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792645}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_memory", "doc_shared_memory.vcproj", "{58CCE183-6032-12FE-4FC7-83A79F760B61}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_conditionA", "doc_anonymous_conditionA.vcproj", "{5C1B8183-0296-4F83-1F22-001005220544}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -255,10 +39,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_mutexA", "doc ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_mapping_test", "shared_memory_mappable_test.vcproj", "{5CE18C83-6025-36FE-A4F7-BA09176D3A11}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_mutexB", "doc_anonymous_mutexB.vcproj", "{58C1B183-9026-4E63-12F2-005202441254}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -267,6 +47,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_semaphoreA", ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_shared_memory", "doc_anonymous_shared_memory.vcproj", "{6DE178C3-12FE-6032-4FC7-879B63B9F651}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_semaphoreB", "doc_anonymous_semaphoreB.vcproj", "{58FBE8C3-9026-FAB2-E643-000522441254}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -279,6 +63,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_upgradable_mu ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_bufferstream", "doc_bufferstream.vcproj", "{58C1B183-9026-4E12-00F2-001200540054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_complex_map", "doc_complex_map.vcproj", "{5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cont", "doc_cont.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792653}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -287,6 +79,42 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_file_mapping", "doc_fil ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_intrusive", "doc_intrusive.vcproj", "{5E18CC83-6092-48FE-A677-B832A0D3A650}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_ipc_message", "doc_ipc_message.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792649}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_allocation_command", "doc_managed_allocation_command.vcproj", "{5189DEA3-3261-F33E-47ED-83BC69F66061}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_construction_info", "doc_managed_construction_info.vcproj", "{5C82D1D3-3861-3AF1-03EF-89AED4716761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_copy_on_write", "doc_managed_copy_on_write.vcproj", "{8E0C437E-3613-FD46-F3AE-876A0731CA85}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_grow", "doc_managed_grow.vcproj", "{8418EC1A-5631-1AFE-FE74-8A2E76407A31}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_heap_memory", "doc_managed_heap_memory.vcproj", "{58CCE183-6092-48FE-A4FC-BA0D3A792647}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_mapped_file", "doc_managed_mapped_file.vcproj", "{58CCE183-5091-48FE-A4FC-BA0D3A792446}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_multiple_allocation", "doc_managed_multiple_allocation.vcproj", "{818C43EE-3561-F3AE-4FD7-8A2076E76A31}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_message_queueA", "doc_message_queueA.vcproj", "{51B189C3-4E63-9026-12F2-12200AF54054}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -299,19 +127,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_move_containers", "doc_ ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string_test", "string_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D4A792607}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_multi_index", "doc_multi_index.vcproj", "{918C5DF3-1928-B73F-F626-7358518CBE62}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_test", "tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792606}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectorstream_test", "vectorstream_test.vcproj", "{58CCE183-6032-12FE-A4F7-BA893A767601}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_upgradable_mutex_test", "named_upgradable_mutex.vcproj", "{48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_named_alloc", "doc_named_alloc.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792645}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject @@ -319,10 +139,186 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_named_mutex", "doc_name ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_offset_ptr", "doc_offset_ptr.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792643}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_scoped_ptr", "doc_scoped_ptr.vcproj", "{58CC8E13-0962-8F4E-77A6-BD3A6832A042}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_memory", "doc_shared_memory.vcproj", "{58CCE183-6032-12FE-4FC7-83A79F760B61}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr", "doc_shared_ptr.vcproj", "{51CE89A3-6092-F4EA-48A7-B4B9AC326093}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_spawn_vector", "doc_spawn_vector.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792652}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unique_ptr", "doc_unique_ptr.vcproj", "{589C2EB3-8A57-1862-F4EA-A6B14C7329A3}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_vectorstream", "doc_vectorstream.vcproj", "{58C1B183-9260-4E8F-F200-000000000041}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_where_allocate", "doc_where_allocate.vcproj", "{58CCE183-6092-48FE-A677-BA0D3A832640}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_windows_shared_memory", "doc_windows_shared_memory.vcproj", "{5E17C9C3-1362-2E1E-C84F-8A76B6739F21}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_xsi_shared_memory", "doc_xsi_shared_memory.vcproj", "{8C5CE183-0326-47FC-12FE-8B6F7963A071}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enable_shared_from_this_test", "enable_shared_from_this_test.vcproj", "{571C3483-87C7-6921-1238-B086B3E766C9}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_lock_test", "file_lock_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792639}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_mapping_test", "file_mapping_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792638}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flat_map_index_allocation_test", "flat_map_index_allocation_test.vcproj", "{51D8E9C3-2D65-48FE-3AA7-7922C0E36329}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intermodule_singleton_test", "intermodule_singleton_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intersegment_ptr_test", "intersegment_ptr_test.vcproj", "{5E81CD01-4FA2-2A96-84FE-DA631CA20962}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intrusive_ptr_test", "intrusive_ptr_test.vcproj", "{5821C383-6092-12FE-A877-BA0D33467633}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iset_index_allocation_test", "iset_index_allocation_test.vcproj", "{58BD1CC3-6972-F3F7-84BE-0DB736035922}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_mapped_file_test", "managed_mapped_file_test.vcproj", "{5CCE1883-0926-F7A4-8FE4-BA0606D92331}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iunordered_set_index_allocation_test", "iunordered_set_index_allocation_test.vcproj", "{5BD1C7C3-3F7F-6972-84BE-B731D9236035}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "list_test", "list_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792632}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_shared_memory_test", "managed_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_xsi_shared_memory_test", "managed_xsi_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map_index_allocation_test", "map_index_allocation_test.vcproj", "{588CCD13-2962-83FE-F4B7-92230DB73629}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapped_file_test", "mapped_file_test.vcproj", "{5C6D9CE1-2609-F7A4-8FE4-BA0883602330}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memory_algorithm_test", "memory_algorithm_test.vcproj", "{58E18CC3-6092-8F4E-A3E7-A792230D3629}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "message_queue_test", "message_queue.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792628}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_index_test", "multi_index_test.vcproj", "{9285DFD3-1928-F662-CB73-73518CB53A62}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_test", "mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_timeout_test", "mutex_timeout_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_condition_test", "named_condition_test.vcproj", "{58CC2563-6092-48FE-FAF7-BA046A792658}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_construct_test", "named_construct_test.vcproj", "{5183C8CE-F2E1-3620-237A-B765C9896390}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_mutex_test", "named_mutex_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792625}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_recursive_mutex_test", "named_recursive_mutex_test.vcproj", "{5C83CE18-4F48-A7FE-6092-B7920AD3A624}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_semaphore_test", "named_semaphore_test.vcproj", "{58CCE283-1609-48FE-A4F7-BA0D3A793523}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_upgradable_mutex_test", "named_upgradable_mutex.vcproj", "{48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_allocator_test", "node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792622}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_pool_test", "node_pool_test.vcproj", "{8A519DC3-6092-A4FE-F748-BA91328D6522}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "null_index_test", "null_index_test.vcproj", "{0000058C-0000-0000-0000-000000000021}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "private_node_allocator_test", "private_node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792620}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recursive_mutex_test", "recursive_mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A14}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_emulation_test", "robust_emulation_test.vcproj", "{58CCE183-4AFE-6092-C4F5-BA0D3A692628}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_recursive_emulation_test", "robust_recursive_emulation_test.vcproj", "{58CCE183-4AFE-C4F5-6292-B25062C3A898}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "semaphore_test", "semaphore_test.vcproj", "{5CE28C83-48FE-1676-4FA7-B50D3A76A013}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_mapping_test", "shared_memory_mappable_test.vcproj", "{5CE18C83-6025-36FE-A4F7-BA09176D3A11}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_test", "shared_memory_test.vcproj", "{5E2838CC-0916-8F4E-A4F7-93506BA0D310}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -331,7 +327,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_ptr_test", "shared_p ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slist_test", "slist_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string_test", "string_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D4A792607}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject @@ -339,6 +335,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unique_ptr_test", "unique_p ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unordered_test", "unordered_test.vcproj", "{C3CE1183-09F2-A46A-4FE6-D06BA7923A02}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "upgradable_mutex_test", "upgradable_mutex.vcproj", "{4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}" ProjectSection(ProjectDependencies) = postProject EndProjectSection @@ -347,39 +347,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "user_buffer_test", "user_bu ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector_test", "vector_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectorstream_test", "vectorstream_test.vcproj", "{58CCE183-6032-12FE-A4F7-BA893A767601}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iset_index_allocation_test", "iset_index_allocation_test.vcproj", "{58BD1CC3-6972-F3F7-84BE-0DB736035922}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iunordered_set_index_allocation_test", "iunordered_set_index_allocation_test.vcproj", "{5BD1C7C3-3F7F-6972-84BE-B731D9236035}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map_index_allocation_test", "map_index_allocation_test.vcproj", "{588CCD13-2962-83FE-F4B7-92230DB73629}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_condition_test", "named_condition_test.vcproj", "{58CC2563-6092-48FE-FAF7-BA046A792658}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intermodule_singleton_test", "intermodule_singleton_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_recursive_emulation_test", "robust_recursive_emulation_test.vcproj", "{58CCE183-4AFE-C4F5-6292-B25062C3A898}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_emulation_test", "robust_emulation_test.vcproj", "{58CCE183-4AFE-6092-C4F5-BA0D3A692628}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recursive_mutex_test", "recursive_mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A14}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_shared_memory_mapping_test", "windows_shared_memory_mapping_test.vcproj", "{518CE8C3-6512-FA75-46EF-B917A3A116D1}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject @@ -387,19 +359,107 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsi_shared_memory_mapping_t ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_xsi_shared_memory_test", "managed_xsi_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr_explicit", "doc_shared_ptr_explicit.vcproj", "{4E887AC3-F8EA-6923-A744-C264A398C913}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_xsi_shared_memory", "doc_xsi_shared_memory.vcproj", "{8C5CE183-0326-47FC-12FE-8B6F7963A071}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unordered_map", "doc_unordered_map.vcproj", "{9C185DF3-B75F-1928-8F6D-735108AABE62}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pair_test", "pair_test.vcproj", "{58CA17C5-A74F-9602-48FE-B06310DA7FA6}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adaptive_node_pool_test", "adaptive_node_pool_test.vcproj", "{CD57C283-1862-42FE-BF87-B96D3A2A7912}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_timeout_test", "mutex_timeout_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adaptive_pool_test", "adaptive_pool_test.vcproj", "{58CE1D84-1962-4FE9-BA0D-A4F7973A4652}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "barrier_test", "barrier_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792661}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cached_adaptive_pool_test", "cached_adaptive_pool_test.vcproj", "{5188E3CE-2964-F43E-FB87-B037AC692D59}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deque_test", "deque_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792655}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_adaptive_pool", "doc_adaptive_pool.vcproj", "{57C832B1-17D2-9537-FA12-827220448554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_allocator", "doc_allocator.vcproj", "{581B1C83-4E12-9526-020F-012482540054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cached_adaptive_pool", "doc_cached_adaptive_pool.vcproj", "{536C8251-7E12-9537-A1E2-822073258554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cached_node_allocator", "doc_cached_node_allocator.vcproj", "{283AD375-7D12-5866-23BF-854308651275}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_aligned_allocation", "doc_managed_aligned_allocation.vcproj", "{58DE18C3-3261-2F3E-FD47-83760B9FA761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_raw_allocation", "doc_managed_raw_allocation.vcproj", "{5198EFC3-2731-F34E-4FD8-1859AC94F761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_map", "doc_map.vcproj", "{59CEC183-8192-8F6D-4FB7-BA260A79D352}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_node_allocator", "doc_node_allocator.vcproj", "{51B17C83-E172-5396-0FA2-825472008554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_private_adaptive_pool", "doc_private_adaptive_pool.vcproj", "{83258CB1-127E-9375-F872-8324A1054454}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_private_node_allocator", "doc_private_node_allocator.vcproj", "{2B75C833-17D2-4956-A23F-820854254175}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flat_tree_test", "flat_tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792637}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_windows_shared_memory_test", "managed_windows_shared_memory.vcproj", "{5D18CE83-1926-7AE4-FE94-B606D9B23131}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "offset_ptr_test", "offset_ptr_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "private_adaptive_pool_test", "private_adaptive_pool_test.vcproj", "{5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slist_test", "slist_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stable_vector_test", "stable_vector_test.vcproj", "{5E11C8D3-FA52-760A-84FE-943A6BA05A21}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_test", "tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792606}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector_test", "vector_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_shared_memory_test", "windows_shared_memory_test.vcproj", "{E35C288C-F48E-6914-4FA7-5BA006383C10}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject @@ -411,30 +471,18 @@ Global GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution - {FFAA56F1-32EC-4B22-B6BD-95A311A67C35}.Debug.ActiveCfg = Debug|Win32 - {FFAA56F1-32EC-4B22-B6BD-95A311A67C35}.Debug.Build.0 = Debug|Win32 - {FFAA56F1-32EC-4B22-B6BD-95A311A67C35}.Release.ActiveCfg = Release|Win32 - {FFAA56F1-32EC-4B22-B6BD-95A311A67C35}.Release.Build.0 = Release|Win32 - {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.ActiveCfg = Debug|Win32 - {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.Build.0 = Debug|Win32 - {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.ActiveCfg = Release|Win32 - {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.Build.0 = Release|Win32 - {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.ActiveCfg = Debug|Win32 - {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.Build.0 = Debug|Win32 - {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.ActiveCfg = Release|Win32 - {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.Build.0 = Release|Win32 - {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.ActiveCfg = Debug|Win32 - {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.Build.0 = Debug|Win32 - {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.ActiveCfg = Release|Win32 - {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.Build.0 = Release|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Debug.ActiveCfg = Debug|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Debug.Build.0 = Debug|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Release.ActiveCfg = Release|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.Build.0 = Release|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.ActiveCfg = Debug|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.Build.0 = Debug|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.ActiveCfg = Release|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.Build.0 = Release|Win32 {58C183CE-6203-FE12-A237-BA8976695960}.Debug.ActiveCfg = Debug|Win32 {58C183CE-6203-FE12-A237-BA8976695960}.Debug.Build.0 = Debug|Win32 {58C183CE-6203-FE12-A237-BA8976695960}.Release.ActiveCfg = Release|Win32 @@ -443,34 +491,6 @@ Global {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Debug.Build.0 = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Release.ActiveCfg = Release|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.Build.0 = Release|Win32 - {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.ActiveCfg = Debug|Win32 - {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.Build.0 = Debug|Win32 - {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.ActiveCfg = Release|Win32 - {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.Build.0 = Release|Win32 - {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.ActiveCfg = Debug|Win32 - {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.Build.0 = Debug|Win32 - {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.ActiveCfg = Release|Win32 - {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.Build.0 = Release|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Debug.ActiveCfg = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Debug.Build.0 = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Release.ActiveCfg = Release|Win32 @@ -479,182 +499,6 @@ Global {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Debug.Build.0 = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Release.ActiveCfg = Release|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Release.Build.0 = Release|Win32 - {58C1B183-9026-4E12-00F2-001200540054}.Debug.ActiveCfg = Debug|Win32 - {58C1B183-9026-4E12-00F2-001200540054}.Debug.Build.0 = Debug|Win32 - {58C1B183-9026-4E12-00F2-001200540054}.Release.ActiveCfg = Release|Win32 - {58C1B183-9026-4E12-00F2-001200540054}.Release.Build.0 = Release|Win32 - {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.ActiveCfg = Debug|Win32 - {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.Build.0 = Debug|Win32 - {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.ActiveCfg = Release|Win32 - {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.Build.0 = Release|Win32 - {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.Build.0 = Debug|Win32 - {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.ActiveCfg = Release|Win32 - {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.Build.0 = Release|Win32 - {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.ActiveCfg = Debug|Win32 - {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.Build.0 = Debug|Win32 - {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.ActiveCfg = Release|Win32 - {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.Build.0 = Release|Win32 - {58C1B183-9260-4E8F-F200-000000000041}.Debug.ActiveCfg = Debug|Win32 - {58C1B183-9260-4E8F-F200-000000000041}.Debug.Build.0 = Debug|Win32 - {58C1B183-9260-4E8F-F200-000000000041}.Release.ActiveCfg = Release|Win32 - {58C1B183-9260-4E8F-F200-000000000041}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.Build.0 = Release|Win32 - {5821C383-6092-12FE-A877-BA0D33467633}.Debug.ActiveCfg = Debug|Win32 - {5821C383-6092-12FE-A877-BA0D33467633}.Debug.Build.0 = Debug|Win32 - {5821C383-6092-12FE-A877-BA0D33467633}.Release.ActiveCfg = Release|Win32 - {5821C383-6092-12FE-A877-BA0D33467633}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.Build.0 = Release|Win32 - {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.ActiveCfg = Debug|Win32 - {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.Build.0 = Debug|Win32 - {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.ActiveCfg = Release|Win32 - {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.Build.0 = Release|Win32 - {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.ActiveCfg = Debug|Win32 - {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.Build.0 = Debug|Win32 - {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.ActiveCfg = Release|Win32 - {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.Build.0 = Release|Win32 - {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.ActiveCfg = Debug|Win32 - {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.Build.0 = Debug|Win32 - {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.ActiveCfg = Release|Win32 - {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.Build.0 = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 - {0000058C-0000-0000-0000-000000000021}.Debug.ActiveCfg = Debug|Win32 - {0000058C-0000-0000-0000-000000000021}.Debug.Build.0 = Debug|Win32 - {0000058C-0000-0000-0000-000000000021}.Release.ActiveCfg = Release|Win32 - {0000058C-0000-0000-0000-000000000021}.Release.Build.0 = Release|Win32 - {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.ActiveCfg = Debug|Win32 - {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.Build.0 = Debug|Win32 - {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.ActiveCfg = Release|Win32 - {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.Build.0 = Release|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.ActiveCfg = Debug|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.Build.0 = Debug|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.ActiveCfg = Release|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.Build.0 = Release|Win32 - {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.ActiveCfg = Debug|Win32 - {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.Build.0 = Debug|Win32 - {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.ActiveCfg = Release|Win32 - {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.Build.0 = Release|Win32 - {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.ActiveCfg = Debug|Win32 - {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.Build.0 = Debug|Win32 - {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.ActiveCfg = Release|Win32 - {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.Build.0 = Release|Win32 - {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.ActiveCfg = Debug|Win32 - {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.Build.0 = Debug|Win32 - {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.ActiveCfg = Release|Win32 - {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.Build.0 = Release|Win32 - {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.ActiveCfg = Debug|Win32 - {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.Build.0 = Debug|Win32 - {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.ActiveCfg = Release|Win32 - {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.Build.0 = Release|Win32 - {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.ActiveCfg = Debug|Win32 - {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.Build.0 = Debug|Win32 - {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.ActiveCfg = Release|Win32 - {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.Build.0 = Release|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.ActiveCfg = Debug|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.Build.0 = Debug|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.ActiveCfg = Release|Win32 - {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.Build.0 = Release|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 - {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.ActiveCfg = Debug|Win32 - {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.Build.0 = Debug|Win32 - {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.ActiveCfg = Release|Win32 - {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.Build.0 = Release|Win32 - {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.ActiveCfg = Debug|Win32 - {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.Build.0 = Debug|Win32 - {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.ActiveCfg = Release|Win32 - {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.Build.0 = Release|Win32 - {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.ActiveCfg = Debug|Win32 - {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.Build.0 = Debug|Win32 - {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.ActiveCfg = Release|Win32 - {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.Build.0 = Release|Win32 - {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.ActiveCfg = Debug|Win32 - {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.Build.0 = Debug|Win32 - {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.ActiveCfg = Release|Win32 - {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.Build.0 = Release|Win32 - {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.ActiveCfg = Debug|Win32 - {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.Build.0 = Debug|Win32 - {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.ActiveCfg = Release|Win32 - {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.Build.0 = Release|Win32 - {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.ActiveCfg = Debug|Win32 - {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.Build.0 = Debug|Win32 - {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.ActiveCfg = Release|Win32 - {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.Build.0 = Release|Win32 - {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.ActiveCfg = Debug|Win32 - {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.Build.0 = Debug|Win32 - {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.ActiveCfg = Release|Win32 - {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.Build.0 = Release|Win32 - {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.ActiveCfg = Debug|Win32 - {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.Build.0 = Debug|Win32 - {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.ActiveCfg = Release|Win32 - {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.Build.0 = Release|Win32 - {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.ActiveCfg = Debug|Win32 - {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.Build.0 = Debug|Win32 - {571C3483-87C7-6921-1238-B086B3E766C9}.Release.ActiveCfg = Release|Win32 - {571C3483-87C7-6921-1238-B086B3E766C9}.Release.Build.0 = Release|Win32 - {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.ActiveCfg = Debug|Win32 - {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.Build.0 = Debug|Win32 - {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.ActiveCfg = Release|Win32 - {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.Build.0 = Release|Win32 - {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.ActiveCfg = Debug|Win32 - {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.Build.0 = Debug|Win32 - {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.ActiveCfg = Release|Win32 - {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.Build.0 = Release|Win32 - {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.ActiveCfg = Debug|Win32 - {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.Build.0 = Debug|Win32 - {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.ActiveCfg = Release|Win32 - {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.Build.0 = Release|Win32 - {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.Build.0 = Debug|Win32 - {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.ActiveCfg = Release|Win32 - {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.Build.0 = Release|Win32 {5C1B8183-0296-4F83-1F22-001005220544}.Debug.ActiveCfg = Debug|Win32 {5C1B8183-0296-4F83-1F22-001005220544}.Debug.Build.0 = Debug|Win32 {5C1B8183-0296-4F83-1F22-001005220544}.Release.ActiveCfg = Release|Win32 @@ -667,10 +511,6 @@ Global {58C1B183-9026-4E63-12F2-005412200054}.Debug.Build.0 = Debug|Win32 {58C1B183-9026-4E63-12F2-005412200054}.Release.ActiveCfg = Release|Win32 {58C1B183-9026-4E63-12F2-005412200054}.Release.Build.0 = Release|Win32 - {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.ActiveCfg = Debug|Win32 - {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.Build.0 = Debug|Win32 - {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.ActiveCfg = Release|Win32 - {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.Build.0 = Release|Win32 {58C1B183-9026-4E63-12F2-005202441254}.Debug.ActiveCfg = Debug|Win32 {58C1B183-9026-4E63-12F2-005202441254}.Debug.Build.0 = Debug|Win32 {58C1B183-9026-4E63-12F2-005202441254}.Release.ActiveCfg = Release|Win32 @@ -679,6 +519,10 @@ Global {5CB81183-29FB-F843-24FF-022050100544}.Debug.Build.0 = Debug|Win32 {5CB81183-29FB-F843-24FF-022050100544}.Release.ActiveCfg = Release|Win32 {5CB81183-29FB-F843-24FF-022050100544}.Release.Build.0 = Release|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.ActiveCfg = Debug|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.Build.0 = Debug|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.ActiveCfg = Release|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.Build.0 = Release|Win32 {58FBE8C3-9026-FAB2-E643-000522441254}.Debug.ActiveCfg = Debug|Win32 {58FBE8C3-9026-FAB2-E643-000522441254}.Debug.Build.0 = Debug|Win32 {58FBE8C3-9026-FAB2-E643-000522441254}.Release.ActiveCfg = Release|Win32 @@ -691,6 +535,14 @@ Global {5C1B1043-1EFF-2793-4E63-245241283054}.Debug.Build.0 = Debug|Win32 {5C1B1043-1EFF-2793-4E63-245241283054}.Release.ActiveCfg = Release|Win32 {5C1B1043-1EFF-2793-4E63-245241283054}.Release.Build.0 = Release|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Debug.Build.0 = Debug|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Release.ActiveCfg = Release|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Release.Build.0 = Release|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.ActiveCfg = Debug|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.Build.0 = Debug|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.ActiveCfg = Release|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.Build.0 = Release|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Debug.ActiveCfg = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Debug.Build.0 = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Release.ActiveCfg = Release|Win32 @@ -699,6 +551,42 @@ Global {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.Build.0 = Debug|Win32 {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.ActiveCfg = Release|Win32 {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.Build.0 = Release|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.ActiveCfg = Debug|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.Build.0 = Debug|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.ActiveCfg = Release|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.Build.0 = Release|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.ActiveCfg = Debug|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.Build.0 = Debug|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.ActiveCfg = Release|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.Build.0 = Release|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.ActiveCfg = Debug|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.Build.0 = Debug|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.ActiveCfg = Release|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.Build.0 = Release|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.ActiveCfg = Debug|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.Build.0 = Debug|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.ActiveCfg = Release|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.Build.0 = Release|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Debug.ActiveCfg = Debug|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Debug.Build.0 = Debug|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Release.ActiveCfg = Release|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.Build.0 = Release|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.Build.0 = Debug|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.ActiveCfg = Release|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.Build.0 = Release|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.ActiveCfg = Debug|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.Build.0 = Debug|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.ActiveCfg = Release|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.Build.0 = Release|Win32 {51B189C3-4E63-9026-12F2-12200AF54054}.Debug.ActiveCfg = Debug|Win32 {51B189C3-4E63-9026-12F2-12200AF54054}.Debug.Build.0 = Debug|Win32 {51B189C3-4E63-9026-12F2-12200AF54054}.Release.ActiveCfg = Release|Win32 @@ -711,30 +599,198 @@ Global {58C1B183-0296-EA42-EF04-005120054104}.Debug.Build.0 = Debug|Win32 {58C1B183-0296-EA42-EF04-005120054104}.Release.ActiveCfg = Release|Win32 {58C1B183-0296-EA42-EF04-005120054104}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.Build.0 = Release|Win32 - {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.Build.0 = Debug|Win32 - {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.ActiveCfg = Release|Win32 - {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.Build.0 = Release|Win32 - {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.ActiveCfg = Debug|Win32 - {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.Build.0 = Debug|Win32 - {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.ActiveCfg = Release|Win32 - {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.Build.0 = Release|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.ActiveCfg = Debug|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.Build.0 = Debug|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.ActiveCfg = Release|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.Build.0 = Release|Win32 {58C181B3-9516-463E-2F12-122155400054}.Debug.ActiveCfg = Debug|Win32 {58C181B3-9516-463E-2F12-122155400054}.Debug.Build.0 = Debug|Win32 {58C181B3-9516-463E-2F12-122155400054}.Release.ActiveCfg = Release|Win32 {58C181B3-9516-463E-2F12-122155400054}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.Build.0 = Release|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.ActiveCfg = Debug|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.Build.0 = Debug|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.ActiveCfg = Release|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.Build.0 = Release|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.Build.0 = Debug|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.ActiveCfg = Release|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.Build.0 = Release|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.ActiveCfg = Debug|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.Build.0 = Debug|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.ActiveCfg = Release|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.Build.0 = Release|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.ActiveCfg = Debug|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.Build.0 = Debug|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.ActiveCfg = Release|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.Build.0 = Release|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Debug.Build.0 = Debug|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Release.ActiveCfg = Release|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.Build.0 = Release|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.ActiveCfg = Debug|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.Build.0 = Debug|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.ActiveCfg = Release|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.Build.0 = Release|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.ActiveCfg = Debug|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.Build.0 = Debug|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.ActiveCfg = Release|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.Build.0 = Release|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.ActiveCfg = Debug|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.Build.0 = Debug|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Release.ActiveCfg = Release|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.Build.0 = Release|Win32 {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Debug.ActiveCfg = Debug|Win32 {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Debug.Build.0 = Debug|Win32 {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Release.ActiveCfg = Release|Win32 {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.ActiveCfg = Debug|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.Build.0 = Debug|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.ActiveCfg = Release|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.Build.0 = Release|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Debug.ActiveCfg = Debug|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Debug.Build.0 = Debug|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Release.ActiveCfg = Release|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Release.Build.0 = Release|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.ActiveCfg = Debug|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.Build.0 = Debug|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.ActiveCfg = Release|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.Build.0 = Release|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.ActiveCfg = Debug|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.Build.0 = Debug|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.ActiveCfg = Release|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.Build.0 = Release|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.ActiveCfg = Debug|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.Build.0 = Debug|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.ActiveCfg = Release|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.Build.0 = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.ActiveCfg = Debug|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.Build.0 = Debug|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.ActiveCfg = Release|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.Build.0 = Release|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.ActiveCfg = Debug|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.Build.0 = Debug|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.ActiveCfg = Release|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.Build.0 = Release|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.ActiveCfg = Debug|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.Build.0 = Debug|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.ActiveCfg = Release|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.Build.0 = Release|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.ActiveCfg = Debug|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.Build.0 = Debug|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.ActiveCfg = Release|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.ActiveCfg = Debug|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.Build.0 = Debug|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.ActiveCfg = Release|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.Build.0 = Release|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.ActiveCfg = Debug|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.Build.0 = Debug|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.ActiveCfg = Release|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.Build.0 = Release|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.ActiveCfg = Debug|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.Build.0 = Debug|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.ActiveCfg = Release|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.Build.0 = Release|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.ActiveCfg = Debug|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.Build.0 = Debug|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.ActiveCfg = Release|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.Build.0 = Release|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.ActiveCfg = Debug|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.Build.0 = Debug|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.ActiveCfg = Release|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.Build.0 = Release|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.ActiveCfg = Debug|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.Build.0 = Debug|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.ActiveCfg = Release|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.Build.0 = Release|Win32 + {0000058C-0000-0000-0000-000000000021}.Debug.ActiveCfg = Debug|Win32 + {0000058C-0000-0000-0000-000000000021}.Debug.Build.0 = Debug|Win32 + {0000058C-0000-0000-0000-000000000021}.Release.ActiveCfg = Release|Win32 + {0000058C-0000-0000-0000-000000000021}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.Build.0 = Release|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.Build.0 = Debug|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.ActiveCfg = Release|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.Build.0 = Release|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.Build.0 = Debug|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.ActiveCfg = Release|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.Build.0 = Release|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.ActiveCfg = Debug|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.Build.0 = Debug|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.ActiveCfg = Release|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.Build.0 = Release|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.ActiveCfg = Debug|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.Build.0 = Debug|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.ActiveCfg = Release|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.Build.0 = Release|Win32 {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Debug.ActiveCfg = Debug|Win32 {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Debug.Build.0 = Debug|Win32 {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Release.ActiveCfg = Release|Win32 @@ -743,14 +799,18 @@ Global {5371C383-6092-1238-A877-BAEB37867609}.Debug.Build.0 = Debug|Win32 {5371C383-6092-1238-A877-BAEB37867609}.Release.ActiveCfg = Release|Win32 {5371C383-6092-1238-A877-BAEB37867609}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.Build.0 = Release|Win32 {571C3383-6092-A877-1238-B3786BAE7605}.Debug.ActiveCfg = Debug|Win32 {571C3383-6092-A877-1238-B3786BAE7605}.Debug.Build.0 = Debug|Win32 {571C3383-6092-A877-1238-B3786BAE7605}.Release.ActiveCfg = Release|Win32 {571C3383-6092-A877-1238-B3786BAE7605}.Release.Build.0 = Release|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.ActiveCfg = Debug|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.Build.0 = Debug|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.ActiveCfg = Release|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.Build.0 = Release|Win32 {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.ActiveCfg = Debug|Win32 {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.Build.0 = Debug|Win32 {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Release.ActiveCfg = Release|Win32 @@ -759,62 +819,122 @@ Global {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Debug.Build.0 = Debug|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Release.ActiveCfg = Release|Win32 {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Release.Build.0 = Release|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 - {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 - {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.ActiveCfg = Debug|Win32 - {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.Build.0 = Debug|Win32 - {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.ActiveCfg = Release|Win32 - {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.Build.0 = Release|Win32 - {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.ActiveCfg = Debug|Win32 - {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.Build.0 = Debug|Win32 - {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.ActiveCfg = Release|Win32 - {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.Build.0 = Release|Win32 - {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.ActiveCfg = Debug|Win32 - {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.Build.0 = Debug|Win32 - {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.ActiveCfg = Release|Win32 - {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.Build.0 = Release|Win32 - {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.ActiveCfg = Debug|Win32 - {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.Build.0 = Debug|Win32 - {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.ActiveCfg = Release|Win32 - {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.Build.0 = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 - {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 - {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.Build.0 = Debug|Win32 - {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.ActiveCfg = Release|Win32 - {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.Build.0 = Release|Win32 - {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.ActiveCfg = Debug|Win32 - {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.Build.0 = Debug|Win32 - {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.ActiveCfg = Release|Win32 - {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.Build.0 = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.ActiveCfg = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.Build.0 = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.ActiveCfg = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.Build.0 = Release|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.Build.0 = Debug|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.ActiveCfg = Release|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.Build.0 = Release|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Debug.ActiveCfg = Debug|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Debug.Build.0 = Debug|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Release.ActiveCfg = Release|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Release.Build.0 = Release|Win32 {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Debug.ActiveCfg = Debug|Win32 {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Debug.Build.0 = Debug|Win32 {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Release.ActiveCfg = Release|Win32 {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Release.Build.0 = Release|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 - {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 - {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.ActiveCfg = Debug|Win32 - {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.Build.0 = Debug|Win32 - {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.ActiveCfg = Release|Win32 - {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.Build.0 = Release|Win32 - {58CA17C5-A74F-9602-48FE-B06310DA7FA6}.Debug.ActiveCfg = Debug|Win32 - {58CA17C5-A74F-9602-48FE-B06310DA7FA6}.Debug.Build.0 = Debug|Win32 - {58CA17C5-A74F-9602-48FE-B06310DA7FA6}.Release.ActiveCfg = Release|Win32 - {58CA17C5-A74F-9602-48FE-B06310DA7FA6}.Release.Build.0 = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 - {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.ActiveCfg = Debug|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.Build.0 = Debug|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.ActiveCfg = Release|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.Build.0 = Release|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.ActiveCfg = Debug|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.Build.0 = Debug|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.ActiveCfg = Release|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.Build.0 = Release|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.ActiveCfg = Debug|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.Build.0 = Debug|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.ActiveCfg = Release|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.Build.0 = Release|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Debug.ActiveCfg = Debug|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Debug.Build.0 = Debug|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Release.ActiveCfg = Release|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.Build.0 = Release|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Debug.ActiveCfg = Debug|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Debug.Build.0 = Debug|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Release.ActiveCfg = Release|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.Build.0 = Release|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Debug.ActiveCfg = Debug|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Debug.Build.0 = Debug|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Release.ActiveCfg = Release|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Release.Build.0 = Release|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Debug.ActiveCfg = Debug|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Debug.Build.0 = Debug|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Release.ActiveCfg = Release|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Release.Build.0 = Release|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Debug.ActiveCfg = Debug|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Debug.Build.0 = Debug|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Release.ActiveCfg = Release|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Release.Build.0 = Release|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Debug.ActiveCfg = Debug|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Debug.Build.0 = Debug|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Release.ActiveCfg = Release|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Release.Build.0 = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.ActiveCfg = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.Build.0 = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.ActiveCfg = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.Build.0 = Release|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Debug.ActiveCfg = Debug|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Debug.Build.0 = Debug|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Release.ActiveCfg = Release|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Release.Build.0 = Release|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Debug.ActiveCfg = Debug|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Debug.Build.0 = Debug|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Release.ActiveCfg = Release|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Release.Build.0 = Release|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Debug.ActiveCfg = Debug|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Debug.Build.0 = Debug|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Release.ActiveCfg = Release|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Release.Build.0 = Release|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Debug.ActiveCfg = Debug|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Debug.Build.0 = Debug|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Release.ActiveCfg = Release|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Release.Build.0 = Release|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Debug.ActiveCfg = Debug|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Debug.Build.0 = Debug|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Release.ActiveCfg = Release|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.Build.0 = Release|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Debug.ActiveCfg = Debug|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Debug.Build.0 = Debug|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Release.ActiveCfg = Release|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Release.Build.0 = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Debug.ActiveCfg = Debug|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Debug.Build.0 = Debug|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Release.ActiveCfg = Release|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.ActiveCfg = Debug|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.Build.0 = Debug|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.ActiveCfg = Release|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.Build.0 = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Debug.ActiveCfg = Debug|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Debug.Build.0 = Debug|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.ActiveCfg = Release|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff --git a/proj/vc7ide/Interprocess_backup.sln b/proj/vc7ide/Interprocess_backup.sln new file mode 100644 index 0000000..019d6a6 --- /dev/null +++ b/proj/vc7ide/Interprocess_backup.sln @@ -0,0 +1,943 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_interprocesslib", "interprocesslib.vcproj", "{FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "allocexcept_test", "allocexcept_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792662}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "anonymous_shared_memory_test", "anonymous_shared_memory_test.vcproj", "{58DE8A13-4FA7-6252-36FE-B3A0A6D92812}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bufferstream_test", "bufferstream_test.vcproj", "{58C183CE-6203-FE12-A237-BA8976695960}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cached_node_allocator_test", "cached_node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792659}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "condition_test", "condition_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792658}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "data_test", "data_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792657}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_conditionA", "doc_anonymous_conditionA.vcproj", "{5C1B8183-0296-4F83-1F22-001005220544}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_conditionB", "doc_anonymous_conditionB.vcproj", "{58C1FE83-2906-E643-2F12-024410052254}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_mutexA", "doc_anonymous_mutexA.vcproj", "{58C1B183-9026-4E63-12F2-005412200054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_mutexB", "doc_anonymous_mutexB.vcproj", "{58C1B183-9026-4E63-12F2-005202441254}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_semaphoreA", "doc_anonymous_semaphoreA.vcproj", "{5CB81183-29FB-F843-24FF-022050100544}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_shared_memory", "doc_anonymous_shared_memory.vcproj", "{6DE178C3-12FE-6032-4FC7-879B63B9F651}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_semaphoreB", "doc_anonymous_semaphoreB.vcproj", "{58FBE8C3-9026-FAB2-E643-000522441254}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_upgradable_mutexA", "doc_anonymous_upgradable_mutexA.vcproj", "{5C18831B-F162-FA96-E6C3-FA5122040054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_anonymous_upgradable_mutexB", "doc_anonymous_upgradable_mutexB.vcproj", "{5C1B1043-1EFF-2793-4E63-245241283054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_bufferstream", "doc_bufferstream.vcproj", "{58C1B183-9026-4E12-00F2-001200540054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_complex_map", "doc_complex_map.vcproj", "{5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cont", "doc_cont.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792653}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_file_mapping", "doc_file_mapping.vcproj", "{58DE18C3-3261-2F3E-FD47-83760B9FA761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_intrusive", "doc_intrusive.vcproj", "{5E18CC83-6092-48FE-A677-B832A0D3A650}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_ipc_message", "doc_ipc_message.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792649}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_allocation_command", "doc_managed_allocation_command.vcproj", "{5189DEA3-3261-F33E-47ED-83BC69F66061}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_construction_info", "doc_managed_construction_info.vcproj", "{5C82D1D3-3861-3AF1-03EF-89AED4716761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_copy_on_write", "doc_managed_copy_on_write.vcproj", "{8E0C437E-3613-FD46-F3AE-876A0731CA85}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_grow", "doc_managed_grow.vcproj", "{8418EC1A-5631-1AFE-FE74-8A2E76407A31}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_heap_memory", "doc_managed_heap_memory.vcproj", "{58CCE183-6092-48FE-A4FC-BA0D3A792647}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_mapped_file", "doc_managed_mapped_file.vcproj", "{58CCE183-5091-48FE-A4FC-BA0D3A792446}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_multiple_allocation", "doc_managed_multiple_allocation.vcproj", "{818C43EE-3561-F3AE-4FD7-8A2076E76A31}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_message_queueA", "doc_message_queueA.vcproj", "{51B189C3-4E63-9026-12F2-12200AF54054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_message_queueB", "doc_message_queueB.vcproj", "{5C1B1813-12C2-0296-4E63-244549126520}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_move_containers", "doc_move_containers.vcproj", "{58C1B183-0296-EA42-EF04-005120054104}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_multi_index", "doc_multi_index.vcproj", "{918C5DF3-1928-B73F-F626-7358518CBE62}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_named_alloc", "doc_named_alloc.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792645}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_named_mutex", "doc_named_mutex.vcproj", "{58C181B3-9516-463E-2F12-122155400054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_offset_ptr", "doc_offset_ptr.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792643}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_scoped_ptr", "doc_scoped_ptr.vcproj", "{58CC8E13-0962-8F4E-77A6-BD3A6832A042}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_memory", "doc_shared_memory.vcproj", "{58CCE183-6032-12FE-4FC7-83A79F760B61}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr", "doc_shared_ptr.vcproj", "{51CE89A3-6092-F4EA-48A7-B4B9AC326093}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_spawn_vector", "doc_spawn_vector.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792652}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unique_ptr", "doc_unique_ptr.vcproj", "{589C2EB3-8A57-1862-F4EA-A6B14C7329A3}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_vectorstream", "doc_vectorstream.vcproj", "{58C1B183-9260-4E8F-F200-000000000041}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_where_allocate", "doc_where_allocate.vcproj", "{58CCE183-6092-48FE-A677-BA0D3A832640}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_windows_shared_memory", "doc_windows_shared_memory.vcproj", "{5E17C9C3-1362-2E1E-C84F-8A76B6739F21}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_xsi_shared_memory", "doc_xsi_shared_memory.vcproj", "{8C5CE183-0326-47FC-12FE-8B6F7963A071}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enable_shared_from_this_test", "enable_shared_from_this_test.vcproj", "{571C3483-87C7-6921-1238-B086B3E766C9}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_lock_test", "file_lock_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792639}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "file_mapping_test", "file_mapping_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792638}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flat_map_index_allocation_test", "flat_map_index_allocation_test.vcproj", "{51D8E9C3-2D65-48FE-3AA7-7922C0E36329}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intermodule_singleton_test", "intermodule_singleton_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intersegment_ptr_test", "intersegment_ptr_test.vcproj", "{5E81CD01-4FA2-2A96-84FE-DA631CA20962}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "intrusive_ptr_test", "intrusive_ptr_test.vcproj", "{5821C383-6092-12FE-A877-BA0D33467633}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iset_index_allocation_test", "iset_index_allocation_test.vcproj", "{58BD1CC3-6972-F3F7-84BE-0DB736035922}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_mapped_file_test", "managed_mapped_file_test.vcproj", "{5CCE1883-0926-F7A4-8FE4-BA0606D92331}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iunordered_set_index_allocation_test", "iunordered_set_index_allocation_test.vcproj", "{5BD1C7C3-3F7F-6972-84BE-B731D9236035}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "list_test", "list_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792632}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_shared_memory_test", "managed_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_xsi_shared_memory_test", "managed_xsi_shared_memory.vcproj", "{58DF28E3-0926-F47A-E28A-B03A4D619631}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "map_index_allocation_test", "map_index_allocation_test.vcproj", "{588CCD13-2962-83FE-F4B7-92230DB73629}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapped_file_test", "mapped_file_test.vcproj", "{5C6D9CE1-2609-F7A4-8FE4-BA0883602330}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memory_algorithm_test", "memory_algorithm_test.vcproj", "{58E18CC3-6092-8F4E-A3E7-A792230D3629}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "message_queue_test", "message_queue.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792628}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multi_index_test", "multi_index_test.vcproj", "{9285DFD3-1928-F662-CB73-73518CB53A62}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_test", "mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mutex_timeout_test", "mutex_timeout_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A27}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_condition_test", "named_condition_test.vcproj", "{58CC2563-6092-48FE-FAF7-BA046A792658}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_construct_test", "named_construct_test.vcproj", "{5183C8CE-F2E1-3620-237A-B765C9896390}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_mutex_test", "named_mutex_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792625}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_recursive_mutex_test", "named_recursive_mutex_test.vcproj", "{5C83CE18-4F48-A7FE-6092-B7920AD3A624}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_semaphore_test", "named_semaphore_test.vcproj", "{58CCE283-1609-48FE-A4F7-BA0D3A793523}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "named_upgradable_mutex_test", "named_upgradable_mutex.vcproj", "{48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_allocator_test", "node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792622}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "node_pool_test", "node_pool_test.vcproj", "{8A519DC3-6092-A4FE-F748-BA91328D6522}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "null_index_test", "null_index_test.vcproj", "{0000058C-0000-0000-0000-000000000021}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "private_node_allocator_test", "private_node_allocator_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792620}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "recursive_mutex_test", "recursive_mutex_test.vcproj", "{83581CCE-487E-3292-A4E7-BA07926D3A14}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_emulation_test", "robust_emulation_test.vcproj", "{58CCE183-4AFE-6092-C4F5-BA0D3A692628}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "robust_recursive_emulation_test", "robust_recursive_emulation_test.vcproj", "{58CCE183-4AFE-C4F5-6292-B25062C3A898}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "semaphore_test", "semaphore_test.vcproj", "{5CE28C83-48FE-1676-4FA7-B50D3A76A013}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_mapping_test", "shared_memory_mappable_test.vcproj", "{5CE18C83-6025-36FE-A4F7-BA09176D3A11}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_memory_test", "shared_memory_test.vcproj", "{5E2838CC-0916-8F4E-A4F7-93506BA0D310}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "shared_ptr_test", "shared_ptr_test.vcproj", "{5371C383-6092-1238-A877-BAEB37867609}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string_test", "string_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D4A792607}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unique_ptr_test", "unique_ptr_test.vcproj", "{571C3383-6092-A877-1238-B3786BAE7605}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "unordered_test", "unordered_test.vcproj", "{C3CE1183-09F2-A46A-4FE6-D06BA7923A02}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "upgradable_mutex_test", "upgradable_mutex.vcproj", "{4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "user_buffer_test", "user_buffer_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792603}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vectorstream_test", "vectorstream_test.vcproj", "{58CCE183-6032-12FE-A4F7-BA893A767601}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_shared_memory_mapping_test", "windows_shared_memory_mapping_test.vcproj", "{518CE8C3-6512-FA75-46EF-B917A3A116D1}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsi_shared_memory_mapping_test", "xsi_shared_memory_mapping_test.vcproj", "{518CE8C3-5DA7-6256-46EF-97A116702AD1}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_shared_ptr_explicit", "doc_shared_ptr_explicit.vcproj", "{4E887AC3-F8EA-6923-A744-C264A398C913}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_unordered_map", "doc_unordered_map.vcproj", "{9C185DF3-B75F-1928-8F6D-735108AABE62}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adaptive_node_pool_test", "adaptive_node_pool_test.vcproj", "{CD57C283-1862-42FE-BF87-B96D3A2A7912}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adaptive_pool_test", "adaptive_pool_test.vcproj", "{58CE1D84-1962-4FE9-BA0D-A4F7973A4652}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "barrier_test", "barrier_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792661}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cached_adaptive_pool_test", "cached_adaptive_pool_test.vcproj", "{5188E3CE-2964-F43E-FB87-B037AC692D59}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "deque_test", "deque_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792655}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_adaptive_pool", "doc_adaptive_pool.vcproj", "{57C832B1-17D2-9537-FA12-827220448554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_allocator", "doc_allocator.vcproj", "{581B1C83-4E12-9526-020F-012482540054}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cached_adaptive_pool", "doc_cached_adaptive_pool.vcproj", "{536C8251-7E12-9537-A1E2-822073258554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_cached_node_allocator", "doc_cached_node_allocator.vcproj", "{283AD375-7D12-5866-23BF-854308651275}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_aligned_allocation", "doc_managed_aligned_allocation.vcproj", "{58DE18C3-3261-2F3E-FD47-83760B9FA761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_managed_raw_allocation", "doc_managed_raw_allocation.vcproj", "{5198EFC3-2731-F34E-4FD8-1859AC94F761}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_map", "doc_map.vcproj", "{59CEC183-8192-8F6D-4FB7-BA260A79D352}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_node_allocator", "doc_node_allocator.vcproj", "{51B17C83-E172-5396-0FA2-825472008554}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_private_adaptive_pool", "doc_private_adaptive_pool.vcproj", "{83258CB1-127E-9375-F872-8324A1054454}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "doc_private_node_allocator", "doc_private_node_allocator.vcproj", "{2B75C833-17D2-4956-A23F-820854254175}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flat_tree_test", "flat_tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792637}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "managed_windows_shared_memory_test", "managed_windows_shared_memory.vcproj", "{5D18CE83-1926-7AE4-FE94-B606D9B23131}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "offset_ptr_test", "offset_ptr_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "private_adaptive_pool_test", "private_adaptive_pool_test.vcproj", "{5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slist_test", "slist_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792608}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stable_vector_test", "stable_vector_test.vcproj", "{5E11C8D3-FA52-760A-84FE-943A6BA05A21}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tree_test", "tree_test.vcproj", "{58CCE183-6092-48FE-A4F7-BA0D3A792606}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vector_test", "vector_test.vcproj", "{5CE11C83-096A-84FE-4FA2-D3A6BA792002}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_shared_memory_test", "windows_shared_memory_test.vcproj", "{E35C288C-F48E-6914-4FA7-5BA006383C10}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectDependencies) = postSolution + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Debug.ActiveCfg = Debug|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Debug.Build.0 = Debug|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Release.ActiveCfg = Release|Win32 + {FF56BAF1-32EC-4B22-B6BD-95A3A67C3135}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792662}.Release.Build.0 = Release|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.ActiveCfg = Debug|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Debug.Build.0 = Debug|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.ActiveCfg = Release|Win32 + {58DE8A13-4FA7-6252-36FE-B3A0A6D92812}.Release.Build.0 = Release|Win32 + {58C183CE-6203-FE12-A237-BA8976695960}.Debug.ActiveCfg = Debug|Win32 + {58C183CE-6203-FE12-A237-BA8976695960}.Debug.Build.0 = Debug|Win32 + {58C183CE-6203-FE12-A237-BA8976695960}.Release.ActiveCfg = Release|Win32 + {58C183CE-6203-FE12-A237-BA8976695960}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792659}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792658}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792657}.Release.Build.0 = Release|Win32 + {5C1B8183-0296-4F83-1F22-001005220544}.Debug.ActiveCfg = Debug|Win32 + {5C1B8183-0296-4F83-1F22-001005220544}.Debug.Build.0 = Debug|Win32 + {5C1B8183-0296-4F83-1F22-001005220544}.Release.ActiveCfg = Release|Win32 + {5C1B8183-0296-4F83-1F22-001005220544}.Release.Build.0 = Release|Win32 + {58C1FE83-2906-E643-2F12-024410052254}.Debug.ActiveCfg = Debug|Win32 + {58C1FE83-2906-E643-2F12-024410052254}.Debug.Build.0 = Debug|Win32 + {58C1FE83-2906-E643-2F12-024410052254}.Release.ActiveCfg = Release|Win32 + {58C1FE83-2906-E643-2F12-024410052254}.Release.Build.0 = Release|Win32 + {58C1B183-9026-4E63-12F2-005412200054}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9026-4E63-12F2-005412200054}.Debug.Build.0 = Debug|Win32 + {58C1B183-9026-4E63-12F2-005412200054}.Release.ActiveCfg = Release|Win32 + {58C1B183-9026-4E63-12F2-005412200054}.Release.Build.0 = Release|Win32 + {58C1B183-9026-4E63-12F2-005202441254}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9026-4E63-12F2-005202441254}.Debug.Build.0 = Debug|Win32 + {58C1B183-9026-4E63-12F2-005202441254}.Release.ActiveCfg = Release|Win32 + {58C1B183-9026-4E63-12F2-005202441254}.Release.Build.0 = Release|Win32 + {5CB81183-29FB-F843-24FF-022050100544}.Debug.ActiveCfg = Debug|Win32 + {5CB81183-29FB-F843-24FF-022050100544}.Debug.Build.0 = Debug|Win32 + {5CB81183-29FB-F843-24FF-022050100544}.Release.ActiveCfg = Release|Win32 + {5CB81183-29FB-F843-24FF-022050100544}.Release.Build.0 = Release|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.ActiveCfg = Debug|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Debug.Build.0 = Debug|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.ActiveCfg = Release|Win32 + {6DE178C3-12FE-6032-4FC7-879B63B9F651}.Release.Build.0 = Release|Win32 + {58FBE8C3-9026-FAB2-E643-000522441254}.Debug.ActiveCfg = Debug|Win32 + {58FBE8C3-9026-FAB2-E643-000522441254}.Debug.Build.0 = Debug|Win32 + {58FBE8C3-9026-FAB2-E643-000522441254}.Release.ActiveCfg = Release|Win32 + {58FBE8C3-9026-FAB2-E643-000522441254}.Release.Build.0 = Release|Win32 + {5C18831B-F162-FA96-E6C3-FA5122040054}.Debug.ActiveCfg = Debug|Win32 + {5C18831B-F162-FA96-E6C3-FA5122040054}.Debug.Build.0 = Debug|Win32 + {5C18831B-F162-FA96-E6C3-FA5122040054}.Release.ActiveCfg = Release|Win32 + {5C18831B-F162-FA96-E6C3-FA5122040054}.Release.Build.0 = Release|Win32 + {5C1B1043-1EFF-2793-4E63-245241283054}.Debug.ActiveCfg = Debug|Win32 + {5C1B1043-1EFF-2793-4E63-245241283054}.Debug.Build.0 = Debug|Win32 + {5C1B1043-1EFF-2793-4E63-245241283054}.Release.ActiveCfg = Release|Win32 + {5C1B1043-1EFF-2793-4E63-245241283054}.Release.Build.0 = Release|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Debug.Build.0 = Debug|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Release.ActiveCfg = Release|Win32 + {58C1B183-9026-4E12-00F2-001200540054}.Release.Build.0 = Release|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.ActiveCfg = Debug|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Debug.Build.0 = Debug|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.ActiveCfg = Release|Win32 + {5C19CF83-4FB7-8219-8F6D-3BA9D2715A22}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792653}.Release.Build.0 = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.ActiveCfg = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.Build.0 = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.ActiveCfg = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.Build.0 = Release|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.ActiveCfg = Debug|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Debug.Build.0 = Debug|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.ActiveCfg = Release|Win32 + {5E18CC83-6092-48FE-A677-B832A0D3A650}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792649}.Release.Build.0 = Release|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.ActiveCfg = Debug|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Debug.Build.0 = Debug|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.ActiveCfg = Release|Win32 + {5189DEA3-3261-F33E-47ED-83BC69F66061}.Release.Build.0 = Release|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.ActiveCfg = Debug|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Debug.Build.0 = Debug|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.ActiveCfg = Release|Win32 + {5C82D1D3-3861-3AF1-03EF-89AED4716761}.Release.Build.0 = Release|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.ActiveCfg = Debug|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Debug.Build.0 = Debug|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.ActiveCfg = Release|Win32 + {8E0C437E-3613-FD46-F3AE-876A0731CA85}.Release.Build.0 = Release|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Debug.ActiveCfg = Debug|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Debug.Build.0 = Debug|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Release.ActiveCfg = Release|Win32 + {8418EC1A-5631-1AFE-FE74-8A2E76407A31}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4FC-BA0D3A792647}.Release.Build.0 = Release|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Debug.Build.0 = Debug|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.ActiveCfg = Release|Win32 + {58CCE183-5091-48FE-A4FC-BA0D3A792446}.Release.Build.0 = Release|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.ActiveCfg = Debug|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Debug.Build.0 = Debug|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.ActiveCfg = Release|Win32 + {818C43EE-3561-F3AE-4FD7-8A2076E76A31}.Release.Build.0 = Release|Win32 + {51B189C3-4E63-9026-12F2-12200AF54054}.Debug.ActiveCfg = Debug|Win32 + {51B189C3-4E63-9026-12F2-12200AF54054}.Debug.Build.0 = Debug|Win32 + {51B189C3-4E63-9026-12F2-12200AF54054}.Release.ActiveCfg = Release|Win32 + {51B189C3-4E63-9026-12F2-12200AF54054}.Release.Build.0 = Release|Win32 + {5C1B1813-12C2-0296-4E63-244549126520}.Debug.ActiveCfg = Debug|Win32 + {5C1B1813-12C2-0296-4E63-244549126520}.Debug.Build.0 = Debug|Win32 + {5C1B1813-12C2-0296-4E63-244549126520}.Release.ActiveCfg = Release|Win32 + {5C1B1813-12C2-0296-4E63-244549126520}.Release.Build.0 = Release|Win32 + {58C1B183-0296-EA42-EF04-005120054104}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-0296-EA42-EF04-005120054104}.Debug.Build.0 = Debug|Win32 + {58C1B183-0296-EA42-EF04-005120054104}.Release.ActiveCfg = Release|Win32 + {58C1B183-0296-EA42-EF04-005120054104}.Release.Build.0 = Release|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.ActiveCfg = Debug|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Debug.Build.0 = Debug|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.ActiveCfg = Release|Win32 + {918C5DF3-1928-B73F-F626-7358518CBE62}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792645}.Release.Build.0 = Release|Win32 + {58C181B3-9516-463E-2F12-122155400054}.Debug.ActiveCfg = Debug|Win32 + {58C181B3-9516-463E-2F12-122155400054}.Debug.Build.0 = Debug|Win32 + {58C181B3-9516-463E-2F12-122155400054}.Release.ActiveCfg = Release|Win32 + {58C181B3-9516-463E-2F12-122155400054}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792643}.Release.Build.0 = Release|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.ActiveCfg = Debug|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Debug.Build.0 = Debug|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.ActiveCfg = Release|Win32 + {58CC8E13-0962-8F4E-77A6-BD3A6832A042}.Release.Build.0 = Release|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Debug.Build.0 = Debug|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.ActiveCfg = Release|Win32 + {58CCE183-6032-12FE-4FC7-83A79F760B61}.Release.Build.0 = Release|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.ActiveCfg = Debug|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Debug.Build.0 = Debug|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.ActiveCfg = Release|Win32 + {51CE89A3-6092-F4EA-48A7-B4B9AC326093}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792652}.Release.Build.0 = Release|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.ActiveCfg = Debug|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Debug.Build.0 = Debug|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.ActiveCfg = Release|Win32 + {589C2EB3-8A57-1862-F4EA-A6B14C7329A3}.Release.Build.0 = Release|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Debug.ActiveCfg = Debug|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Debug.Build.0 = Debug|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Release.ActiveCfg = Release|Win32 + {58C1B183-9260-4E8F-F200-000000000041}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A677-BA0D3A832640}.Release.Build.0 = Release|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.ActiveCfg = Debug|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Debug.Build.0 = Debug|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.ActiveCfg = Release|Win32 + {5E17C9C3-1362-2E1E-C84F-8A76B6739F21}.Release.Build.0 = Release|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.ActiveCfg = Debug|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Debug.Build.0 = Debug|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.ActiveCfg = Release|Win32 + {8C5CE183-0326-47FC-12FE-8B6F7963A071}.Release.Build.0 = Release|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.ActiveCfg = Debug|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Debug.Build.0 = Debug|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Release.ActiveCfg = Release|Win32 + {571C3483-87C7-6921-1238-B086B3E766C9}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792639}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792638}.Release.Build.0 = Release|Win32 + {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Debug.ActiveCfg = Debug|Win32 + {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Debug.Build.0 = Debug|Win32 + {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Release.ActiveCfg = Release|Win32 + {51D8E9C3-2D65-48FE-3AA7-7922C0E36329}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.ActiveCfg = Debug|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Debug.Build.0 = Debug|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.ActiveCfg = Release|Win32 + {5E81CD01-4FA2-2A96-84FE-DA631CA20962}.Release.Build.0 = Release|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Debug.ActiveCfg = Debug|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Debug.Build.0 = Debug|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Release.ActiveCfg = Release|Win32 + {5821C383-6092-12FE-A877-BA0D33467633}.Release.Build.0 = Release|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.ActiveCfg = Debug|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Debug.Build.0 = Debug|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.ActiveCfg = Release|Win32 + {58BD1CC3-6972-F3F7-84BE-0DB736035922}.Release.Build.0 = Release|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.ActiveCfg = Debug|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Debug.Build.0 = Debug|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.ActiveCfg = Release|Win32 + {5CCE1883-0926-F7A4-8FE4-BA0606D92331}.Release.Build.0 = Release|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.ActiveCfg = Debug|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Debug.Build.0 = Debug|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.ActiveCfg = Release|Win32 + {5BD1C7C3-3F7F-6972-84BE-B731D9236035}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792632}.Release.Build.0 = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.ActiveCfg = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Debug.Build.0 = Debug|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.ActiveCfg = Release|Win32 + {58DF28E3-0926-F47A-E28A-B03A4D619631}.Release.Build.0 = Release|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.ActiveCfg = Debug|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Debug.Build.0 = Debug|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.ActiveCfg = Release|Win32 + {588CCD13-2962-83FE-F4B7-92230DB73629}.Release.Build.0 = Release|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.ActiveCfg = Debug|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Debug.Build.0 = Debug|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.ActiveCfg = Release|Win32 + {5C6D9CE1-2609-F7A4-8FE4-BA0883602330}.Release.Build.0 = Release|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.ActiveCfg = Debug|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Debug.Build.0 = Debug|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.ActiveCfg = Release|Win32 + {58E18CC3-6092-8F4E-A3E7-A792230D3629}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792628}.Release.Build.0 = Release|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.ActiveCfg = Debug|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Debug.Build.0 = Debug|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.ActiveCfg = Release|Win32 + {9285DFD3-1928-F662-CB73-73518CB53A62}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A27}.Release.Build.0 = Release|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.ActiveCfg = Debug|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Debug.Build.0 = Debug|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.ActiveCfg = Release|Win32 + {58CC2563-6092-48FE-FAF7-BA046A792658}.Release.Build.0 = Release|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.ActiveCfg = Debug|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Debug.Build.0 = Debug|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.ActiveCfg = Release|Win32 + {5183C8CE-F2E1-3620-237A-B765C9896390}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792625}.Release.Build.0 = Release|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.ActiveCfg = Debug|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Debug.Build.0 = Debug|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.ActiveCfg = Release|Win32 + {5C83CE18-4F48-A7FE-6092-B7920AD3A624}.Release.Build.0 = Release|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.ActiveCfg = Debug|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Debug.Build.0 = Debug|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.ActiveCfg = Release|Win32 + {58CCE283-1609-48FE-A4F7-BA0D3A793523}.Release.Build.0 = Release|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.ActiveCfg = Debug|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Debug.Build.0 = Debug|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.ActiveCfg = Release|Win32 + {48C1FBE8-F7A4-0961-48FE-7D93A63B0A04}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792622}.Release.Build.0 = Release|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.ActiveCfg = Debug|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Debug.Build.0 = Debug|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.ActiveCfg = Release|Win32 + {8A519DC3-6092-A4FE-F748-BA91328D6522}.Release.Build.0 = Release|Win32 + {0000058C-0000-0000-0000-000000000021}.Debug.ActiveCfg = Debug|Win32 + {0000058C-0000-0000-0000-000000000021}.Debug.Build.0 = Debug|Win32 + {0000058C-0000-0000-0000-000000000021}.Release.ActiveCfg = Release|Win32 + {0000058C-0000-0000-0000-000000000021}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792620}.Release.Build.0 = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.ActiveCfg = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Debug.Build.0 = Debug|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.ActiveCfg = Release|Win32 + {83581CCE-487E-3292-A4E7-BA07926D3A14}.Release.Build.0 = Release|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Debug.Build.0 = Debug|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.ActiveCfg = Release|Win32 + {58CCE183-4AFE-6092-C4F5-BA0D3A692628}.Release.Build.0 = Release|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Debug.Build.0 = Debug|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.ActiveCfg = Release|Win32 + {58CCE183-4AFE-C4F5-6292-B25062C3A898}.Release.Build.0 = Release|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.ActiveCfg = Debug|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Debug.Build.0 = Debug|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.ActiveCfg = Release|Win32 + {5CE28C83-48FE-1676-4FA7-B50D3A76A013}.Release.Build.0 = Release|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.ActiveCfg = Debug|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Debug.Build.0 = Debug|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.ActiveCfg = Release|Win32 + {5CE18C83-6025-36FE-A4F7-BA09176D3A11}.Release.Build.0 = Release|Win32 + {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Debug.ActiveCfg = Debug|Win32 + {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Debug.Build.0 = Debug|Win32 + {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Release.ActiveCfg = Release|Win32 + {5E2838CC-0916-8F4E-A4F7-93506BA0D310}.Release.Build.0 = Release|Win32 + {5371C383-6092-1238-A877-BAEB37867609}.Debug.ActiveCfg = Debug|Win32 + {5371C383-6092-1238-A877-BAEB37867609}.Debug.Build.0 = Debug|Win32 + {5371C383-6092-1238-A877-BAEB37867609}.Release.ActiveCfg = Release|Win32 + {5371C383-6092-1238-A877-BAEB37867609}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D4A792607}.Release.Build.0 = Release|Win32 + {571C3383-6092-A877-1238-B3786BAE7605}.Debug.ActiveCfg = Debug|Win32 + {571C3383-6092-A877-1238-B3786BAE7605}.Debug.Build.0 = Debug|Win32 + {571C3383-6092-A877-1238-B3786BAE7605}.Release.ActiveCfg = Release|Win32 + {571C3383-6092-A877-1238-B3786BAE7605}.Release.Build.0 = Release|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.ActiveCfg = Debug|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Debug.Build.0 = Debug|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.ActiveCfg = Release|Win32 + {C3CE1183-09F2-A46A-4FE6-D06BA7923A02}.Release.Build.0 = Release|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.ActiveCfg = Debug|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.Build.0 = Debug|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Release.ActiveCfg = Release|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792603}.Release.Build.0 = Release|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Debug.Build.0 = Debug|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.ActiveCfg = Release|Win32 + {58CCE183-6032-12FE-A4F7-BA893A767601}.Release.Build.0 = Release|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Debug.ActiveCfg = Debug|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Debug.Build.0 = Debug|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Release.ActiveCfg = Release|Win32 + {518CE8C3-6512-FA75-46EF-B917A3A116D1}.Release.Build.0 = Release|Win32 + {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Debug.ActiveCfg = Debug|Win32 + {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Debug.Build.0 = Debug|Win32 + {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Release.ActiveCfg = Release|Win32 + {518CE8C3-5DA7-6256-46EF-97A116702AD1}.Release.Build.0 = Release|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.ActiveCfg = Debug|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Debug.Build.0 = Debug|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.ActiveCfg = Release|Win32 + {4E887AC3-F8EA-6923-A744-C264A398C913}.Release.Build.0 = Release|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.ActiveCfg = Debug|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Debug.Build.0 = Debug|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.ActiveCfg = Release|Win32 + {9C185DF3-B75F-1928-8F6D-735108AABE62}.Release.Build.0 = Release|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.ActiveCfg = Debug|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Debug.Build.0 = Debug|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.ActiveCfg = Release|Win32 + {CD57C283-1862-42FE-BF87-B96D3A2A7912}.Release.Build.0 = Release|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Debug.ActiveCfg = Debug|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Debug.Build.0 = Debug|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Release.ActiveCfg = Release|Win32 + {58CE1D84-1962-4FE9-BA0D-A4F7973A4652}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792661}.Release.Build.0 = Release|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Debug.ActiveCfg = Debug|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Debug.Build.0 = Debug|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Release.ActiveCfg = Release|Win32 + {5188E3CE-2964-F43E-FB87-B037AC692D59}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792655}.Release.Build.0 = Release|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Debug.ActiveCfg = Debug|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Debug.Build.0 = Debug|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Release.ActiveCfg = Release|Win32 + {57C832B1-17D2-9537-FA12-827220448554}.Release.Build.0 = Release|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Debug.ActiveCfg = Debug|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Debug.Build.0 = Debug|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Release.ActiveCfg = Release|Win32 + {581B1C83-4E12-9526-020F-012482540054}.Release.Build.0 = Release|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Debug.ActiveCfg = Debug|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Debug.Build.0 = Debug|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Release.ActiveCfg = Release|Win32 + {536C8251-7E12-9537-A1E2-822073258554}.Release.Build.0 = Release|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Debug.ActiveCfg = Debug|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Debug.Build.0 = Debug|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Release.ActiveCfg = Release|Win32 + {283AD375-7D12-5866-23BF-854308651275}.Release.Build.0 = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.ActiveCfg = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Debug.Build.0 = Debug|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.ActiveCfg = Release|Win32 + {58DE18C3-3261-2F3E-FD47-83760B9FA761}.Release.Build.0 = Release|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Debug.ActiveCfg = Debug|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Debug.Build.0 = Debug|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Release.ActiveCfg = Release|Win32 + {5198EFC3-2731-F34E-4FD8-1859AC94F761}.Release.Build.0 = Release|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Debug.ActiveCfg = Debug|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Debug.Build.0 = Debug|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Release.ActiveCfg = Release|Win32 + {59CEC183-8192-8F6D-4FB7-BA260A79D352}.Release.Build.0 = Release|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Debug.ActiveCfg = Debug|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Debug.Build.0 = Debug|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Release.ActiveCfg = Release|Win32 + {51B17C83-E172-5396-0FA2-825472008554}.Release.Build.0 = Release|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Debug.ActiveCfg = Debug|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Debug.Build.0 = Debug|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Release.ActiveCfg = Release|Win32 + {83258CB1-127E-9375-F872-8324A1054454}.Release.Build.0 = Release|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Debug.ActiveCfg = Debug|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Debug.Build.0 = Debug|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Release.ActiveCfg = Release|Win32 + {2B75C833-17D2-4956-A23F-820854254175}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792637}.Release.Build.0 = Release|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Debug.ActiveCfg = Debug|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Debug.Build.0 = Debug|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Release.ActiveCfg = Release|Win32 + {5D18CE83-1926-7AE4-FE94-B606D9B23131}.Release.Build.0 = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Debug.ActiveCfg = Debug|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Debug.Build.0 = Debug|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Release.ActiveCfg = Release|Win32 + {5CE14C83-4962-8F5E-4FA7-B0D3A7B93635}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792608}.Release.Build.0 = Release|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.ActiveCfg = Debug|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Debug.Build.0 = Debug|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.ActiveCfg = Release|Win32 + {5E11C8D3-FA52-760A-84FE-943A6BA05A21}.Release.Build.0 = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.ActiveCfg = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Debug.Build.0 = Debug|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.ActiveCfg = Release|Win32 + {58CCE183-6092-48FE-A4F7-BA0D3A792606}.Release.Build.0 = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.ActiveCfg = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Debug.Build.0 = Debug|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.ActiveCfg = Release|Win32 + {5CE11C83-096A-84FE-4FA2-D3A6BA792002}.Release.Build.0 = Release|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Debug.ActiveCfg = Debug|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Debug.Build.0 = Debug|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.ActiveCfg = Release|Win32 + {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/proj/vc7ide/doc_contB.vcproj b/proj/vc7ide/doc_contB.vcproj deleted file mode 100644 index 9f545a6..0000000 --- a/proj/vc7ide/doc_contB.vcproj +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/proj/vc7ide/doc_named_conditionA.vcproj b/proj/vc7ide/doc_named_conditionA.vcproj deleted file mode 100644 index 909275b..0000000 --- a/proj/vc7ide/doc_named_conditionA.vcproj +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/proj/vc7ide/doc_named_conditionB.vcproj b/proj/vc7ide/doc_named_conditionB.vcproj deleted file mode 100644 index 1ac14ae..0000000 --- a/proj/vc7ide/doc_named_conditionB.vcproj +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/proj/vc7ide/interprocesslib.vcproj b/proj/vc7ide/interprocesslib.vcproj index 9d16880..a029330 100644 --- a/proj/vc7ide/interprocesslib.vcproj +++ b/proj/vc7ide/interprocesslib.vcproj @@ -191,9 +191,6 @@ - - @@ -246,19 +243,16 @@ Name="posix" Filter=""> + RelativePath="..\..\..\..\boost\interprocess\sync\posix\condition.hpp"> + RelativePath="..\..\..\..\boost\interprocess\sync\posix\mutex.hpp"> + RelativePath="..\..\..\..\boost\interprocess\sync\posix\named_mutex.hpp"> - - + RelativePath="..\..\..\..\boost\interprocess\sync\posix\named_semaphore.hpp"> @@ -266,30 +260,30 @@ + + + + + RelativePath="..\..\..\..\boost\interprocess\sync\spin\condition.hpp"> + RelativePath="..\..\..\..\boost\interprocess\sync\spin\mutex.hpp"> + RelativePath="..\..\..\..\boost\interprocess\sync\spin\recursive_mutex.hpp"> - - - - + RelativePath="..\..\..\..\boost\interprocess\sync\spin\semaphore.hpp"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -566,6 +604,9 @@ + + @@ -590,11 +631,14 @@ + + + RelativePath="..\..\test\robust_mutex_test.hpp"> @@ -609,31 +653,6 @@ RelativePath="..\..\test\vector_test.hpp"> - - - - - - - - - - - - - - @@ -1254,9 +1273,6 @@ - - diff --git a/proj/vc7ide/list_ex.vcproj b/proj/vc7ide/list_test.vcproj similarity index 100% rename from proj/vc7ide/list_ex.vcproj rename to proj/vc7ide/list_test.vcproj diff --git a/proj/vc7ide/pair_test.vcproj b/proj/vc7ide/pair_test.vcproj deleted file mode 100644 index 6f32b3e..0000000 --- a/proj/vc7ide/pair_test.vcproj +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/test/adaptive_pool_test.cpp b/test/adaptive_pool_test.cpp index fe3b85e..2b4443b 100644 --- a/test/adaptive_pool_test.cpp +++ b/test/adaptive_pool_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -29,12 +29,20 @@ typedef adaptive_pool typedef ipcdetail::adaptive_pool_v1 shmem_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class adaptive_pool; -template class ipcdetail::adaptive_pool_v1; template class adaptive_pool; + +namespace ipcdetail { + +template class ipcdetail::adaptive_pool_v1; template class ipcdetail::adaptive_pool_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/allocator_v1.hpp b/test/allocator_v1.hpp index 612c4c9..79ce2f4 100644 --- a/test/allocator_v1.hpp +++ b/test/allocator_v1.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -86,7 +86,7 @@ class allocator_v1 //!Returns the segment manager. Never throws segment_manager* get_segment_manager()const - { return ipcdetail::get_pointer(mp_mngr); } + { return ipcdetail::to_raw_pointer(mp_mngr); } /* //!Returns address of mutable object. Never throws pointer address(reference value) const @@ -116,12 +116,12 @@ class allocator_v1 //!Deallocates memory previously allocated. Never throws void deallocate(const pointer &ptr, size_type) - { mp_mngr->deallocate((void*)ipcdetail::get_pointer(ptr)); } + { mp_mngr->deallocate((void*)ipcdetail::to_raw_pointer(ptr)); } //!Construct object, calling constructor. //!Throws if T(const T&) throws void construct(const pointer &ptr, const_reference value) - { new((void*)ipcdetail::get_pointer(ptr)) value_type(value); } + { new((void*)ipcdetail::to_raw_pointer(ptr)) value_type(value); } //!Destroys object. Throws if object's destructor throws void destroy(const pointer &ptr) diff --git a/test/allocexcept_test.cpp b/test/allocexcept_test.cpp index 9de6540..775d948 100644 --- a/test/allocexcept_test.cpp +++ b/test/allocexcept_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/anonymous_shared_memory_test.cpp b/test/anonymous_shared_memory_test.cpp index 46c6a19..efe053d 100644 --- a/test/anonymous_shared_memory_test.cpp +++ b/test/anonymous_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/boost_interprocess_check.hpp b/test/boost_interprocess_check.hpp index 0487387..5e79b8a 100644 --- a/test/boost_interprocess_check.hpp +++ b/test/boost_interprocess_check.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -18,7 +18,7 @@ namespace boost { namespace interprocess { namespace test { #define BOOST_INTERPROCES_CHECK( P ) \ - if(!(P)) do{ std::cout << "Failed: " << #P << " file: " << __FILE__ << " line : " << __LINE__ << std::endl; throw boost::interprocess::interprocess_exception(#P);}while(0) + if(!(P)) do{ assert(P); std::cout << "Failed: " << #P << " file: " << __FILE__ << " line : " << __LINE__ << std::endl; throw boost::interprocess::interprocess_exception(#P);}while(0) }}} //namespace boost { namespace interprocess { namespace test { diff --git a/test/bufferstream_test.cpp b/test/bufferstream_test.cpp index dc1498f..2030649 100644 --- a/test/bufferstream_test.cpp +++ b/test/bufferstream_test.cpp @@ -13,7 +13,8 @@ #include #include -using namespace boost::interprocess; +namespace boost{ +namespace interprocess{ //Force instantiations to catch compile-time errors template class basic_bufferbuf; @@ -21,6 +22,10 @@ template class basic_bufferstream; template class basic_ibufferstream; template class basic_obufferstream; +}} + +using namespace boost::interprocess; + static int bufferstream_test() { //Static big enough buffer diff --git a/test/cached_adaptive_pool_test.cpp b/test/cached_adaptive_pool_test.cpp index 2d7f409..28a6e97 100644 --- a/test/cached_adaptive_pool_test.cpp +++ b/test/cached_adaptive_pool_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -31,12 +31,20 @@ typedef ipcdetail::cached_adaptive_pool_v1 cached_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class cached_adaptive_pool; -template class ipcdetail::cached_adaptive_pool_v1; template class cached_adaptive_pool; + +namespace ipcdetail { + +template class ipcdetail::cached_adaptive_pool_v1; template class ipcdetail::cached_adaptive_pool_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/cached_node_allocator_test.cpp b/test/cached_node_allocator_test.cpp index 555db6b..35c9de7 100644 --- a/test/cached_node_allocator_test.cpp +++ b/test/cached_node_allocator_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -29,12 +29,20 @@ typedef ipcdetail::cached_node_allocator_v1 cached_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class cached_node_allocator; -template class ipcdetail::cached_node_allocator_v1; template class cached_node_allocator; + +namespace ipcdetail { + +template class ipcdetail::cached_node_allocator_v1; template class ipcdetail::cached_node_allocator_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/condition_test.cpp b/test/condition_test.cpp index c607f3d..72ccaf5 100644 --- a/test/condition_test.cpp +++ b/test/condition_test.cpp @@ -9,17 +9,32 @@ ////////////////////////////////////////////////////////////////////////////// #include -#include +#include #include #include #include "condition_test_template.hpp" +#if defined(BOOST_INTERPROCESS_WINDOWS) +#include +#include +#include +#include +#endif + using namespace boost::interprocess; int main () { - return test::do_test_condition() ? - 0 : -1; + #if defined(BOOST_INTERPROCESS_WINDOWS) + if(!test::do_test_condition()) + return 1; + if(!test::do_test_condition()) + return 1; + #endif + if(!test::do_test_condition()) + return 1; + + return 0; } #include diff --git a/test/condition_test_template.hpp b/test/condition_test_template.hpp index ced4aa5..24d9b59 100644 --- a/test/condition_test_template.hpp +++ b/test/condition_test_template.hpp @@ -10,7 +10,7 @@ // It is provided "as is" without express or implied warranty. ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -22,10 +22,10 @@ #include #include - +#include "boost_interprocess_check.hpp" #include - #include +#include #include #include #include @@ -50,7 +50,7 @@ inline boost::xtime delay(int secs, int msecs=0, int nsecs=0) boost::xtime xt; int ret = boost::xtime_get(&xt, boost::TIME_UTC); - assert(ret == static_cast(boost::TIME_UTC));(void)ret; + BOOST_INTERPROCES_CHECK(ret == static_cast(boost::TIME_UTC));(void)ret; nsecs += xt.nsec; msecs += nsecs / NANOSECONDS_PER_MILLISECOND; secs += msecs / MILLISECONDS_PER_SECOND; @@ -99,10 +99,10 @@ void condition_test_thread(condition_test_data* data) { boost::interprocess::scoped_lock lock(data->mutex); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); while (!(data->notified > 0)) data->condition.wait(lock); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); data->awoken++; } @@ -121,38 +121,38 @@ void condition_test_waits(condition_test_data* data) { boost::interprocess::scoped_lock lock(data->mutex); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); // Test wait. while (data->notified != 1) data->condition.wait(lock); - assert(lock ? true : false); - assert(data->notified == 1); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data->notified == 1); data->awoken++; data->condition.notify_one(); // Test predicate wait. data->condition.wait(lock, cond_predicate(data->notified, 2)); - assert(lock ? true : false); - assert(data->notified == 2); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data->notified == 2); data->awoken++; data->condition.notify_one(); // Test timed_wait. while (data->notified != 3) data->condition.timed_wait(lock, ptime_delay(5)); - assert(lock ? true : false); - assert(data->notified == 3); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data->notified == 3); data->awoken++; data->condition.notify_one(); // Test predicate timed_wait. cond_predicate pred(data->notified, 4); bool ret = data->condition.timed_wait(lock, ptime_delay(5), pred); - assert(ret);(void)ret; - assert(lock ? true : false); - assert(pred()); - assert(data->notified == 4); + BOOST_INTERPROCES_CHECK(ret);(void)ret; + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(pred()); + BOOST_INTERPROCES_CHECK(data->notified == 4); data->awoken++; data->condition.notify_one(); } @@ -166,13 +166,13 @@ void do_test_condition_notify_one() { boost::interprocess::scoped_lock lock(data.mutex); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); data.notified++; data.condition.notify_one(); } thread.join(); - assert(data.awoken == 1); + BOOST_INTERPROCES_CHECK(data.awoken == 1); } template @@ -188,13 +188,13 @@ void do_test_condition_notify_all() { boost::interprocess::scoped_lock lock(data.mutex); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); data.notified++; data.condition.notify_all(); } threads.join_all(); - assert(data.awoken == NUMTHREADS); + BOOST_INTERPROCES_CHECK(data.awoken == NUMTHREADS); } template @@ -207,43 +207,43 @@ void do_test_condition_waits() { boost::interprocess::scoped_lock lock(data.mutex); - assert(lock ? true : false); + BOOST_INTERPROCES_CHECK(lock ? true : false); boost::thread::sleep(delay(1)); data.notified++; data.condition.notify_one(); while (data.awoken != 1) data.condition.wait(lock); - assert(lock ? true : false); - assert(data.awoken == 1); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data.awoken == 1); boost::thread::sleep(delay(1)); data.notified++; data.condition.notify_one(); while (data.awoken != 2) data.condition.wait(lock); - assert(lock ? true : false); - assert(data.awoken == 2); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data.awoken == 2); boost::thread::sleep(delay(1)); data.notified++; data.condition.notify_one(); while (data.awoken != 3) data.condition.wait(lock); - assert(lock ? true : false); - assert(data.awoken == 3); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data.awoken == 3); boost::thread::sleep(delay(1)); data.notified++; data.condition.notify_one(); while (data.awoken != 4) data.condition.wait(lock); - assert(lock ? true : false); - assert(data.awoken == 4); + BOOST_INTERPROCES_CHECK(lock ? true : false); + BOOST_INTERPROCES_CHECK(data.awoken == 4); } thread.join(); - assert(data.awoken == 4); + BOOST_INTERPROCES_CHECK(data.awoken == 4); } /* //Message queue simulation test @@ -339,9 +339,9 @@ void do_test_condition_queue_notify_one(void) cond_empty.notify_one(); } thgroup.join_all(); - assert(count == 0); - assert(waiting_readers == 0); - assert(waiting_writer == 0); + BOOST_INTERPROCES_CHECK(count == 0); + BOOST_INTERPROCES_CHECK(waiting_readers == 0); + BOOST_INTERPROCES_CHECK(waiting_writer == 0); } } @@ -382,9 +382,9 @@ void do_test_condition_queue_notify_all(void) cond_empty.notify_all(); } thgroup.join_all(); - assert(count == 0); - assert(waiting_readers == 0); - assert(waiting_writer == 0); + BOOST_INTERPROCES_CHECK(count == 0); + BOOST_INTERPROCES_CHECK(waiting_readers == 0); + BOOST_INTERPROCES_CHECK(waiting_writer == 0); } } diff --git a/test/data_test.cpp b/test/data_test.cpp index af19d90..2ab17d4 100644 --- a/test/data_test.cpp +++ b/test/data_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/deque_test.cpp b/test/deque_test.cpp index e694fdf..c7a2988 100644 --- a/test/deque_test.cpp +++ b/test/deque_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -43,10 +43,6 @@ using namespace boost::interprocess; -//Explicit instantiation to detect compilation errors -template class boost::interprocess::deque >; - //Function to check if both sets are equal template bool copyable_only(V1 *, V2 *, ipcdetail::false_type) @@ -66,12 +62,12 @@ bool copyable_only(V1 *shmdeque, V2 *stddeque, ipcdetail::true_type) { IntType move_me(1); stddeque->insert(stddeque->begin()+size/2, 50, 1); - shmdeque->insert(shmdeque->begin()+size/2, 50, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->begin()+size/2, 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; } { IntType move_me(2); - shmdeque->assign(shmdeque->size()/2, boost::interprocess::move(move_me)); + shmdeque->assign(shmdeque->size()/2, boost::move(move_me)); stddeque->assign(stddeque->size()/2, 2); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; } @@ -80,13 +76,13 @@ bool copyable_only(V1 *shmdeque, V2 *stddeque, ipcdetail::true_type) stddeque->clear(); shmdeque->clear(); stddeque->insert(stddeque->begin(), 50, 1); - shmdeque->insert(shmdeque->begin(), 50, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->begin(), 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; stddeque->insert(stddeque->begin()+20, 50, 1); - shmdeque->insert(shmdeque->begin()+20, 50, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->begin()+20, 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; stddeque->insert(stddeque->begin()+20, 20, 1); - shmdeque->insert(shmdeque->begin()+20, 20, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->begin()+20, 20, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; } { @@ -94,44 +90,23 @@ bool copyable_only(V1 *shmdeque, V2 *stddeque, ipcdetail::true_type) stddeque->clear(); shmdeque->clear(); stddeque->insert(stddeque->end(), 50, 1); - shmdeque->insert(shmdeque->end(), 50, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->end(), 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; stddeque->insert(stddeque->end()-20, 50, 1); - shmdeque->insert(shmdeque->end()-20, 50, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->end()-20, 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; stddeque->insert(stddeque->end()-20, 20, 1); - shmdeque->insert(shmdeque->end()-20, 20, boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->end()-20, 20, boost::move(move_me)); if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; } return true; } -//Test recursive structures -class recursive_deque -{ -public: - int id_; - deque deque_; -}; template class AllocatorType > bool do_test() { - //Test for recursive types - { - deque recursive_deque_deque; - } - - { - //Now test move semantics - deque original; - deque move_ctor(boost::interprocess::move(original)); - deque move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); - } - //Customize managed_shared_memory class typedef basic_managed_shared_memory insert(shmdeque->end(), boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->end(), boost::move(move_me)); stddeque->insert(stddeque->end(), i); shmdeque->insert(shmdeque->end(), IntType(i)); stddeque->insert(stddeque->end(), int(i)); @@ -184,7 +159,7 @@ bool do_test() for(i = 0; i < max*50; ++i){ IntType move_me(i); - shmdeque->push_back(boost::interprocess::move(move_me)); + shmdeque->push_back(boost::move(move_me)); stddeque->push_back(i); shmdeque->push_back(IntType(i)); stddeque->push_back(i); @@ -196,7 +171,7 @@ bool do_test() for(i = 0; i < max*50; ++i){ IntType move_me(i); - shmdeque->push_front(boost::interprocess::move(move_me)); + shmdeque->push_front(boost::move(move_me)); stddeque->push_front(i); shmdeque->push_front(IntType(i)); stddeque->push_front(int(i)); @@ -205,6 +180,7 @@ bool do_test() typename MyShmDeque::iterator it; typename MyShmDeque::const_iterator cit = it; + (void)cit; shmdeque->erase(shmdeque->begin()++); stddeque->erase(stddeque->begin()++); @@ -219,7 +195,7 @@ bool do_test() IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me (-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -242,7 +218,7 @@ bool do_test() IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -267,7 +243,7 @@ bool do_test() for(i = 0; i < max; ++i){ IntType move_me(i); - shmdeque->insert(shmdeque->begin(), boost::interprocess::move(move_me)); + shmdeque->insert(shmdeque->begin(), boost::move(move_me)); stddeque->insert(stddeque->begin(), i); } if(!test::CheckEqualContainers(shmdeque, stddeque)) return false; diff --git a/test/dummy_test_allocator.hpp b/test/dummy_test_allocator.hpp index be092fe..6f90761 100644 --- a/test/dummy_test_allocator.hpp +++ b/test/dummy_test_allocator.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/enable_shared_from_this_test.cpp b/test/enable_shared_from_this_test.cpp index 286cd64..81734b0 100644 --- a/test/enable_shared_from_this_test.cpp +++ b/test/enable_shared_from_this_test.cpp @@ -3,7 +3,7 @@ // // This file is the adaptation of shared_from_this_test.cpp from smart_ptr library // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/expand_bwd_test_allocator.hpp b/test/expand_bwd_test_allocator.hpp index b4876d9..2a9c547 100644 --- a/test/expand_bwd_test_allocator.hpp +++ b/test/expand_bwd_test_allocator.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/file_lock_test.cpp b/test/file_lock_test.cpp index a11ad92..f9ed7e5 100644 --- a/test/file_lock_test.cpp +++ b/test/file_lock_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -64,9 +64,9 @@ int main () { //Now test move semantics file_lock mapping(get_filename().c_str()); - file_lock move_ctor(boost::interprocess::move(mapping)); + file_lock move_ctor(boost::move(mapping)); file_lock move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); mapping.swap(move_assign); } diff --git a/test/file_mapping_test.cpp b/test/file_mapping_test.cpp index b8e6866..bdda811 100644 --- a/test/file_mapping_test.cpp +++ b/test/file_mapping_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -32,7 +32,7 @@ inline std::string get_filename() file_mapping get_file_mapping() { file_mapping f; - return file_mapping(boost::interprocess::move(f)); + return file_mapping(boost::move(f)); } int main () @@ -138,9 +138,9 @@ int main () { //Now test move semantics file_mapping mapping(get_filename().c_str(), read_only); - file_mapping move_ctor(boost::interprocess::move(mapping)); + file_mapping move_ctor(boost::move(mapping)); file_mapping move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); mapping.swap(move_assign); file_mapping ret(get_file_mapping()); } diff --git a/test/flat_tree_test.cpp b/test/flat_tree_test.cpp index 2d80ba2..46ff0c9 100644 --- a/test/flat_tree_test.cpp +++ b/test/flat_tree_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -31,32 +31,7 @@ ///////////////////////////////////////////////////////////////// using namespace boost::interprocess; -/* -//Explicit instantiation to detect compilation errors -template class boost::interprocess::flat_set - - ,test::dummy_test_allocator >; -template class boost::interprocess::flat_map - - ,test::dummy_test_allocator > >; - -template class boost::interprocess::flat_multiset - - ,test::dummy_test_allocator >; - -template class boost::interprocess::flat_multimap - - ,test::dummy_test_allocator > >; -*/ //Customize managed_shared_memory class typedef basic_managed_shared_memory ,shmem_move_copy_pair_allocator_t> MyMoveCopyShmMultiMap; - -//Test recursive structures -class recursive_flat_set -{ -public: - int id_; - flat_set flat_set_; - friend bool operator< (const recursive_flat_set &a, const recursive_flat_set &b) - { return a.id_ < b.id_; } -}; - -class recursive_flat_map -{ -public: - int id_; - flat_map map_; - recursive_flat_map (const recursive_flat_map&x) - :id_(x.id_), map_(x.map_) - {} - recursive_flat_map &operator=(const recursive_flat_map &x) - { id_ = x.id_; map_ = x.map_; return *this; } - - friend bool operator< (const recursive_flat_map &a, const recursive_flat_map &b) - { return a.id_ < b.id_; } -}; - -//Test recursive structures -class recursive_flat_multiset -{ -public: - int id_; - flat_multiset flat_set_; - friend bool operator< (const recursive_flat_multiset &a, const recursive_flat_set &b) - { return a.id_ < b.id_; } -}; - -class recursive_flat_multimap -{ -public: - int id_; - flat_map map_; - recursive_flat_multimap (const recursive_flat_multimap&x) - :id_(x.id_), map_(x.map_) - {} - recursive_flat_multimap &operator=(const recursive_flat_multimap &x) - { id_ = x.id_; map_ = x.map_; return *this; } - friend bool operator< (const recursive_flat_multimap &a, const recursive_flat_multimap &b) - { return a.id_ < b.id_; } -}; - -template -void test_move() -{ - //Now test move semantics - C original; - C move_ctor(boost::interprocess::move(original)); - C move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); -} - int main() { using namespace boost::interprocess::test; - //Now test move semantics - { - test_move >(); - test_move >(); - test_move >(); - test_move >(); - } - - if (0 != set_test - #include #include #include //mapped_region #include //anonymous_shared_memory #include //managed_multi_shared_memory +#include //static_assert #include //std::size_t @@ -27,14 +27,10 @@ bool test_types_and_convertions() typedef intersegment_ptr pvint_t; typedef intersegment_ptr pcvint_t; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); int dummy_int = 9; { pint_t pint(&dummy_int); pcint_t pcint(pint); diff --git a/test/intrusive_ptr_test.cpp b/test/intrusive_ptr_test.cpp index adcf284..ab4993e 100644 --- a/test/intrusive_ptr_test.cpp +++ b/test/intrusive_ptr_test.cpp @@ -129,7 +129,7 @@ void pointer_constructor() boost::interprocess::offset_ptr p = new X; BOOST_TEST(p->use_count() == 0); - intrusive_ptr_add_ref(get_pointer(p)); + intrusive_ptr_add_ref(p.get()); BOOST_TEST(p->use_count() == 1); boost::interprocess::intrusive_ptr px(p, false); @@ -249,37 +249,21 @@ void test() boost::interprocess::intrusive_ptr px; BOOST_TEST(px? false: true); BOOST_TEST(!px); - -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) - using boost::get_pointer; -#endif - - BOOST_TEST(get_pointer(px) == px.get()); } { boost::interprocess::intrusive_ptr px(0); BOOST_TEST(px? false: true); BOOST_TEST(!px); - -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) - using boost::get_pointer; -#endif - - BOOST_TEST(get_pointer(px) == px.get()); } { -#if defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) - using boost::get_pointer; -#endif boost::interprocess::intrusive_ptr px (boost::interprocess::offset_ptr(new X)); BOOST_TEST(px? true: false); BOOST_TEST(!!px); - BOOST_TEST(&*px == get_pointer(px.get())); + BOOST_TEST(&*px == boost::interprocess::ipcdetail::to_raw_pointer(px.get())); BOOST_TEST(px.operator ->() == px.get()); - BOOST_TEST(get_pointer(px) == px.get()); } } diff --git a/test/list_test.cpp b/test/list_test.cpp index e717331..434f1c7 100644 --- a/test/list_test.cpp +++ b/test/list_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -20,10 +20,6 @@ using namespace boost::interprocess; -//Explicit instantiation to detect compilation errors -template class boost::interprocess::list >; - typedef allocator ShmemAllocator; typedef list MyList; @@ -39,30 +35,8 @@ typedef list MyCopyMoveL typedef allocator ShmemCopyAllocator; typedef list MyCopyList; - -class recursive_list -{ -public: - int id_; - list list_; -}; - -void recursive_list_test()//Test for recursive types -{ - list recursive_list_list; -} - int main () { - recursive_list_test(); - { - //Now test move semantics - list original; - list move_ctor(boost::interprocess::move(original)); - list move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); - } if(test::list_test()) return 1; diff --git a/test/list_test.hpp b/test/list_test.hpp index 7d1625a..40d4dd3 100644 --- a/test/list_test.hpp +++ b/test/list_test.hpp @@ -35,7 +35,7 @@ struct push_data_function typedef typename MyShmList::value_type IntType; for(int i = 0; i < max; ++i){ IntType move_me(i); - shmlist->push_back(boost::interprocess::move(move_me)); + shmlist->push_back(boost::move(move_me)); stdlist->push_back(i); shmlist->push_back(IntType(i)); stdlist->push_back(int(i)); @@ -55,7 +55,7 @@ struct push_data_function typedef typename MyShmList::value_type IntType; for(int i = 0; i < max; ++i){ IntType move_me(i); - shmlist->push_front(boost::interprocess::move(move_me)); + shmlist->push_front(boost::move(move_me)); stdlist->push_front(i); shmlist->push_front(IntType(i)); stdlist->push_front(int(i)); @@ -139,7 +139,7 @@ int list_test (bool copied_allocators_equal = true) IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -169,7 +169,7 @@ int list_test (bool copied_allocators_equal = true) IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ diff --git a/test/managed_mapped_file_test.cpp b/test/managed_mapped_file_test.cpp index 1157874..327bb69 100644 --- a/test/managed_mapped_file_test.cpp +++ b/test/managed_mapped_file_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -212,9 +212,9 @@ int main () { //Now test move semantics managed_mapped_file original(open_only, FileName); - managed_mapped_file move_ctor(boost::interprocess::move(original)); + managed_mapped_file move_ctor(boost::move(original)); managed_mapped_file move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); move_assign.swap(original); } } diff --git a/test/managed_shared_memory_test.cpp b/test/managed_shared_memory_test.cpp index 25e0bde..0ddf285 100644 --- a/test/managed_shared_memory_test.cpp +++ b/test/managed_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -203,9 +203,9 @@ int main () { //Now test move semantics managed_shared_memory original(open_only, ShmemName); - managed_shared_memory move_ctor(boost::interprocess::move(original)); + managed_shared_memory move_ctor(boost::move(original)); managed_shared_memory move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); move_assign.swap(original); } diff --git a/test/managed_windows_shared_memory_test.cpp b/test/managed_windows_shared_memory_test.cpp index b66c2cb..9eac25d 100644 --- a/test/managed_windows_shared_memory_test.cpp +++ b/test/managed_windows_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -131,9 +131,9 @@ int main () //Now test move semantics managed_windows_shared_memory original(open_only, MemName); - managed_windows_shared_memory move_ctor(boost::interprocess::move(original)); + managed_windows_shared_memory move_ctor(boost::move(original)); managed_windows_shared_memory move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); } } diff --git a/test/managed_xsi_shared_memory_test.cpp b/test/managed_xsi_shared_memory_test.cpp index 608e546..70b073c 100644 --- a/test/managed_xsi_shared_memory_test.cpp +++ b/test/managed_xsi_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2008-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2008-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -151,9 +151,9 @@ int main () { //Now test move semantics managed_xsi_shared_memory original(open_only, key); - managed_xsi_shared_memory move_ctor(boost::interprocess::move(original)); + managed_xsi_shared_memory move_ctor(boost::move(original)); managed_xsi_shared_memory move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); move_assign.swap(original); } } diff --git a/test/map_test.hpp b/test/map_test.hpp index ffb4ecb..6d186cb 100644 --- a/test/map_test.hpp +++ b/test/map_test.hpp @@ -74,7 +74,7 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(i/2); IntType i2(i/2); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } typedef typename MyStdMap::value_type StdValueType; @@ -89,7 +89,7 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(i/2); IntType i2(i/2); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } MyShmMap *shmmap2 = @@ -115,7 +115,7 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } for(int i = 0; i < 50; ++i){ @@ -125,7 +125,7 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } MyShmMap *shmmap3 = @@ -170,19 +170,19 @@ int map_test () for(int i = 0; i < max; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect3[max]; for(int i = 0; i < max; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } for(int i = 0; i < max; ++i){ - shmmap->insert(boost::interprocess::move(aux_vect[i])); + shmmap->insert(boost::move(aux_vect[i])); stdmap->insert(StdPairType(i, i)); - shmmultimap->insert(boost::interprocess::move(aux_vect3[i])); + shmmultimap->insert(boost::move(aux_vect3[i])); stdmultimap->insert(StdPairType(i, i)); } @@ -191,6 +191,7 @@ int map_test () typename MyShmMap::iterator it; typename MyShmMap::const_iterator cit = it; + (void)cit; shmmap->erase(shmmap->begin()++); stdmap->erase(stdmap->begin()++); @@ -231,13 +232,13 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect3[50]; for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } shmmap->insert(::boost::make_move_iterator(&aux_vect[0]), ::boost::make_move_iterator(aux_vect + 50)); @@ -264,28 +265,28 @@ int map_test () for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect3[50]; for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect4[50]; for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect4[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect4[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect5[50]; for(int i = 0; i < 50; ++i){ IntType i1(-1); IntType i2(-1); - new(&aux_vect5[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect5[i])IntPairType(boost::move(i1), boost::move(i2)); } shmmap->insert(::boost::make_move_iterator(&aux_vect[0]), ::boost::make_move_iterator(aux_vect + 50)); @@ -317,19 +318,19 @@ int map_test () for(int i = 0; i < max; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect[i])IntPairType(boost::move(i1), boost::move(i2)); } IntPairType aux_vect3[max]; for(int i = 0; i < max; ++i){ IntType i1(i); IntType i2(i); - new(&aux_vect3[i])IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&aux_vect3[i])IntPairType(boost::move(i1), boost::move(i2)); } for(int i = 0; i < max; ++i){ - shmmap->insert(boost::interprocess::move(aux_vect[i])); + shmmap->insert(boost::move(aux_vect[i])); stdmap->insert(StdPairType(i, i)); - shmmultimap->insert(boost::interprocess::move(aux_vect3[i])); + shmmultimap->insert(boost::move(aux_vect3[i])); stdmultimap->insert(StdPairType(i, i)); } @@ -341,17 +342,17 @@ int map_test () { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmap->insert(shmmap->begin(), boost::interprocess::move(intpair)); + shmmap->insert(shmmap->begin(), boost::move(intpair)); stdmap->insert(stdmap->begin(), StdPairType(i, i)); //PrintContainers(shmmap, stdmap); { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmultimap->insert(shmmultimap->begin(), boost::interprocess::move(intpair)); + shmmultimap->insert(shmmultimap->begin(), boost::move(intpair)); stdmultimap->insert(stdmultimap->begin(), StdPairType(i, i)); //PrintContainers(shmmultimap, stdmultimap); if(!CheckEqualPairContainers(shmmap, stdmap)) @@ -361,16 +362,16 @@ int map_test () { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmap->insert(shmmap->end(), boost::interprocess::move(intpair)); + shmmap->insert(shmmap->end(), boost::move(intpair)); stdmap->insert(stdmap->end(), StdPairType(i, i)); { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmultimap->insert(shmmultimap->end(), boost::interprocess::move(intpair)); + shmmultimap->insert(shmmultimap->end(), boost::move(intpair)); stdmultimap->insert(stdmultimap->end(), StdPairType(i, i)); if(!CheckEqualPairContainers(shmmap, stdmap)) return 1; @@ -379,19 +380,19 @@ int map_test () { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmap->insert(shmmap->lower_bound(IntType(i)), boost::interprocess::move(intpair)); + shmmap->insert(shmmap->lower_bound(IntType(i)), boost::move(intpair)); stdmap->insert(stdmap->lower_bound(i), StdPairType(i, i)); //PrintContainers(shmmap, stdmap); { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } { IntType i1(i); - shmmultimap->insert(shmmultimap->lower_bound(boost::interprocess::move(i1)), boost::interprocess::move(intpair)); + shmmultimap->insert(shmmultimap->lower_bound(boost::move(i1)), boost::move(intpair)); stdmultimap->insert(stdmultimap->lower_bound(i), StdPairType(i, i)); } @@ -403,22 +404,22 @@ int map_test () { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } { IntType i1(i); - shmmap->insert(shmmap->upper_bound(boost::interprocess::move(i1)), boost::interprocess::move(intpair)); + shmmap->insert(shmmap->upper_bound(boost::move(i1)), boost::move(intpair)); stdmap->insert(stdmap->upper_bound(i), StdPairType(i, i)); } //PrintContainers(shmmap, stdmap); { IntType i1(i); IntType i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } { IntType i1(i); - shmmultimap->insert(shmmultimap->upper_bound(boost::interprocess::move(i1)), boost::interprocess::move(intpair)); + shmmultimap->insert(shmmultimap->upper_bound(boost::move(i1)), boost::move(intpair)); stdmultimap->insert(stdmultimap->upper_bound(i), StdPairType(i, i)); } //PrintContainers(shmmultimap, stdmultimap); @@ -450,14 +451,14 @@ int map_test () IntPairType intpair; { IntType i1(i), i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmap->insert(boost::interprocess::move(intpair)); + shmmap->insert(boost::move(intpair)); { IntType i1(i), i2(i); - new(&intpair)IntPairType(boost::interprocess::move(i1), boost::interprocess::move(i2)); + new(&intpair)IntPairType(boost::move(i1), boost::move(i2)); } - shmmultimap->insert(boost::interprocess::move(intpair)); + shmmultimap->insert(boost::move(intpair)); if(shmmap->count(IntType(i)) != typename MyShmMultiMap::size_type(1)) return 1; if(shmmultimap->count(IntType(i)) != typename MyShmMultiMap::size_type(j+1)) @@ -523,14 +524,14 @@ int map_test_copyable () for(i = 0; i < max; ++i){ { IntType i1(i), i2(i); - IntPairType intpair1(boost::interprocess::move(i1), boost::interprocess::move(i2)); - shmmap->insert(boost::interprocess::move(intpair1)); + IntPairType intpair1(boost::move(i1), boost::move(i2)); + shmmap->insert(boost::move(intpair1)); stdmap->insert(StdPairType(i, i)); } { IntType i1(i), i2(i); - IntPairType intpair2(boost::interprocess::move(i1), boost::interprocess::move(i2)); - shmmultimap->insert(boost::interprocess::move(intpair2)); + IntPairType intpair2(boost::move(i1), boost::move(i2)); + shmmultimap->insert(boost::move(intpair2)); stdmultimap->insert(StdPairType(i, i)); } } diff --git a/test/mapped_file_test.cpp b/test/mapped_file_test.cpp index 74b0f30..f7d1799 100644 --- a/test/mapped_file_test.cpp +++ b/test/mapped_file_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -79,9 +79,9 @@ int main () std::memset(file1.get_user_address(), 0, file1.get_user_size()); //Now test move semantics - mapped_file move_ctor(boost::interprocess::move(file1)); + mapped_file move_ctor(boost::move(file1)); mapped_file move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); } // file_mapping::remove(get_filename().c_str()); return 0; diff --git a/test/memory_algorithm_test_template.hpp b/test/memory_algorithm_test_template.hpp index 1c95da0..0ece550 100644 --- a/test/memory_algorithm_test_template.hpp +++ b/test/memory_algorithm_test_template.hpp @@ -679,7 +679,7 @@ bool test_many_equal_allocation(Allocator &a) typename multiallocation_chain::size_type n = chain.size(); while(!chain.empty()){ - buffers.push_back(ipcdetail::get_pointer(chain.front())); + buffers.push_back(ipcdetail::to_raw_pointer(chain.front())); chain.pop_front(); } if(n != std::size_t((i+1)*2)) @@ -788,7 +788,7 @@ bool test_many_different_allocation(Allocator &a) break; typename multiallocation_chain::size_type n = chain.size(); while(!chain.empty()){ - buffers.push_back(ipcdetail::get_pointer(chain.front())); + buffers.push_back(ipcdetail::to_raw_pointer(chain.front())); chain.pop_front(); } if(n != ArraySize) @@ -866,10 +866,10 @@ bool test_many_deallocation(Allocator &a) multiallocation_chain chain = a.allocate_many(requested_sizes, ArraySize, 1, std::nothrow); if(chain.empty()) break; - buffers.push_back(boost::interprocess::move(chain)); + buffers.push_back(boost::move(chain)); } for(int i = 0, max = (int)buffers.size(); i != max; ++i){ - a.deallocate_many(boost::interprocess::move(buffers[i])); + a.deallocate_many(boost::move(buffers[i])); } buffers.clear(); bool ok = free_memory == a.get_free_memory() && @@ -882,10 +882,10 @@ bool test_many_deallocation(Allocator &a) multiallocation_chain chain(a.allocate_many(i*4, ArraySize, std::nothrow)); if(chain.empty()) break; - buffers.push_back(boost::interprocess::move(chain)); + buffers.push_back(boost::move(chain)); } for(int i = 0, max = (int)buffers.size(); i != max; ++i){ - a.deallocate_many(boost::interprocess::move(buffers[i])); + a.deallocate_many(boost::move(buffers[i])); } buffers.clear(); diff --git a/test/message_queue_test.cpp b/test/message_queue_test.cpp index 10a4e7f..d0c89f8 100644 --- a/test/message_queue_test.cpp +++ b/test/message_queue_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/multi_index_test.cpp b/test/multi_index_test.cpp index ab197cb..cebdc78 100644 --- a/test/multi_index_test.cpp +++ b/test/multi_index_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -61,6 +61,9 @@ struct id{}; struct age{}; struct name{}; +namespace boost { +namespace multi_index { + // Explicit instantiations to catch compile-time errors template class bmi::multi_index_container< employee, @@ -100,6 +103,8 @@ template class bmi::multi_index_container< node_allocator >; +}} + int main () { return 0; diff --git a/test/mutex_test.cpp b/test/mutex_test.cpp index 0fcdb6e..22acb21 100644 --- a/test/mutex_test.cpp +++ b/test/mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -12,9 +12,22 @@ #include #include "mutex_test_template.hpp" +#if defined(BOOST_INTERPROCESS_WINDOWS) +#include +#include +#endif + int main () { using namespace boost::interprocess; + + #if defined(BOOST_INTERPROCESS_WINDOWS) + test::test_all_lock(); + test::test_all_mutex(); + test::test_all_lock(); + test::test_all_mutex(); + #endif + test::test_all_lock(); test::test_all_mutex(); return 0; diff --git a/test/mutex_test_template.hpp b/test/mutex_test_template.hpp index 45ce9d0..2870c4d 100644 --- a/test/mutex_test_template.hpp +++ b/test/mutex_test_template.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -26,9 +26,9 @@ #include "boost_interprocess_check.hpp" #include "util.hpp" #include -#include #include #include +#include namespace boost { namespace interprocess { namespace test { @@ -261,8 +261,8 @@ void test_mutex_lock() boost::thread::sleep(xsecs(1*BaseSeconds)); tm2.join(); - assert(d1.m_value == 1); - assert(d2.m_value == 2); + BOOST_INTERPROCES_CHECK(d1.m_value == 1); + BOOST_INTERPROCES_CHECK(d2.m_value == 2); } template @@ -302,10 +302,10 @@ void test_mutex_lock_timeout() boost::thread::sleep(xsecs(1*BaseSeconds)); tm2.join(); - assert(d1.m_value == 1); - assert(d2.m_value == -1); - assert(d1.m_error == no_error); - assert(d2.m_error == boost::interprocess::timeout_when_locking_error); + BOOST_INTERPROCES_CHECK(d1.m_value == 1); + BOOST_INTERPROCES_CHECK(d2.m_value == -1); + BOOST_INTERPROCES_CHECK(d1.m_error == no_error); + BOOST_INTERPROCES_CHECK(d2.m_error == boost::interprocess::timeout_when_locking_error); } template @@ -340,8 +340,8 @@ void test_mutex_try_lock() tm1.join(); tm2.join(); //Only the first should succeed locking - assert(d1.m_value == 1); - assert(d2.m_value == -1); + BOOST_INTERPROCES_CHECK(d1.m_value == 1); + BOOST_INTERPROCES_CHECK(d2.m_value == -1); } template @@ -378,8 +378,8 @@ void test_mutex_timed_lock() tm2.join(); //Both should succeed locking - assert(d1.m_value == 1); - assert(d2.m_value == 2); + BOOST_INTERPROCES_CHECK(d1.m_value == 1); + BOOST_INTERPROCES_CHECK(d2.m_value == 2); } template diff --git a/test/mutex_timeout_test.cpp b/test/mutex_timeout_test.cpp index 75b8974..b09ab27 100644 --- a/test/mutex_timeout_test.cpp +++ b/test/mutex_timeout_test.cpp @@ -21,7 +21,6 @@ int main () { using namespace boost::interprocess; - test::test_mutex_lock_timeout(); test::test_mutex_lock_timeout(); diff --git a/test/named_condition_test.cpp b/test/named_condition_test.cpp index 4a12c90..b90d115 100644 --- a/test/named_condition_test.cpp +++ b/test/named_condition_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -13,10 +13,10 @@ #include #include #include -#include #include "condition_test_template.hpp" #include "named_creation_template.hpp" #include +#include #include "get_process_id_name.hpp" using namespace boost::interprocess; @@ -34,6 +34,9 @@ struct condition_deleter } }; +inline std::string num_to_string(int n) +{ std::stringstream s; s << n; return s.str(); } + //This wrapper is necessary to have a default constructor //in generic mutex_test_template functions class named_condition_test_wrapper @@ -43,10 +46,10 @@ class named_condition_test_wrapper named_condition_test_wrapper() : named_condition(open_or_create, - (test::add_to_process_id_name("test_cond") + boost::lexical_cast(count)).c_str()) + (test::add_to_process_id_name("test_cond") + num_to_string(count)).c_str()) { condition_deleter::name += test::add_to_process_id_name("test_cond"); - condition_deleter::name += boost::lexical_cast(count); + condition_deleter::name += num_to_string(count); ++count; } @@ -108,10 +111,10 @@ class named_mutex_test_wrapper public: named_mutex_test_wrapper() : named_mutex(open_or_create, - (test::add_to_process_id_name("test_mutex") + boost::lexical_cast(count)).c_str()) + (test::add_to_process_id_name("test_mutex") + num_to_string(count)).c_str()) { mutex_deleter::name += test::add_to_process_id_name("test_mutex"); - mutex_deleter::name += boost::lexical_cast(count); + mutex_deleter::name += num_to_string(count); ++count; } diff --git a/test/named_construct_test.cpp b/test/named_construct_test.cpp index 294e091..2536e63 100644 --- a/test/named_construct_test.cpp +++ b/test/named_construct_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2008-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2008-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/named_creation_template.hpp b/test/named_creation_template.hpp index 3d76828..d2d543d 100644 --- a/test/named_creation_template.hpp +++ b/test/named_creation_template.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/named_mutex_test.cpp b/test/named_mutex_test.cpp index 01b770c..e4d1612 100644 --- a/test/named_mutex_test.cpp +++ b/test/named_mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/named_recursive_mutex_test.cpp b/test/named_recursive_mutex_test.cpp index 5255ac5..f4778b9 100644 --- a/test/named_recursive_mutex_test.cpp +++ b/test/named_recursive_mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/named_semaphore_test.cpp b/test/named_semaphore_test.cpp index f410a1d..94bbdfd 100644 --- a/test/named_semaphore_test.cpp +++ b/test/named_semaphore_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/named_upgradable_mutex_test.cpp b/test/named_upgradable_mutex_test.cpp index 692375a..b7b7c9c 100644 --- a/test/named_upgradable_mutex_test.cpp +++ b/test/named_upgradable_mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/node_allocator_test.cpp b/test/node_allocator_test.cpp index bf3efd2..ba6052f 100644 --- a/test/node_allocator_test.cpp +++ b/test/node_allocator_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -28,12 +28,20 @@ typedef node_allocator typedef ipcdetail::node_allocator_v1 shmem_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class node_allocator; -template class ipcdetail::node_allocator_v1; template class node_allocator; + +namespace ipcdetail { + +template class ipcdetail::node_allocator_v1; template class ipcdetail::node_allocator_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/null_index_test.cpp b/test/null_index_test.cpp index e0aedc9..7da718e 100644 --- a/test/null_index_test.cpp +++ b/test/null_index_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/offset_ptr_test.cpp b/test/offset_ptr_test.cpp index 13af11d..48bd99a 100644 --- a/test/offset_ptr_test.cpp +++ b/test/offset_ptr_test.cpp @@ -11,24 +11,38 @@ #include #include #include +#include +#include using namespace boost::interprocess; -bool test_types_and_convertions() +class Base +{}; + +class Derived + : public Base +{}; + +class VirtualDerived + : public virtual Base +{}; + +bool test_types_and_conversions() { typedef offset_ptr pint_t; typedef offset_ptr pcint_t; typedef offset_ptr pvint_t; typedef offset_ptr pcvint_t; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; - if(!ipcdetail::is_same::value) - return false; + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); int dummy_int = 9; { pint_t pint(&dummy_int); pcint_t pcint(pint); @@ -65,6 +79,72 @@ bool test_types_and_convertions() if(pint) return false; + if(pint != 0) + return false; + + if(0 != pint) + return false; + + pint = &dummy_int; + if(0 == pint) + return false; + + if(pint == 0) + return false; + + pcint = &dummy_int; + + if( (pcint - pint) != 0) + return false; + + if( (pint - pcint) != 0) + return false; + + return true; +} + +template +bool test_base_derived_impl() +{ + typename DerivedPtr::element_type d; + DerivedPtr pderi(&d); + + BasePtr pbase(pderi); + pbase = pderi; + if(pbase != pderi) + return false; + if(!(pbase == pderi)) + return false; + if((pbase - pderi) != 0) + return false; + if(pbase < pderi) + return false; + if(pbase > pderi) + return false; + if(!(pbase <= pderi)) + return false; + if(!(pbase >= pderi)) + return false; + + return true; +} + +bool test_base_derived() +{ + typedef offset_ptr pbase_t; + typedef offset_ptr pcbas_t; + typedef offset_ptr pderi_t; + typedef offset_ptr pvder_t; + + if(!test_base_derived_impl()) + return false; + if(!test_base_derived_impl()) + return false; + if(!test_base_derived_impl()) + return false; + if(!test_base_derived_impl()) + return false; + return true; } @@ -178,14 +258,34 @@ bool test_comparison() return true; } +bool test_pointer_traits() +{ + typedef offset_ptr OInt; + typedef boost::intrusive::pointer_traits< OInt > PTOInt; + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::value)); + BOOST_STATIC_ASSERT((ipcdetail::is_same::type, offset_ptr >::value)); + int dummy; + OInt oi(&dummy); + if(boost::intrusive::pointer_traits::pointer_to(dummy) != oi){ + return false; + } + return true; +} + int main() { - if(!test_types_and_convertions()) + if(!test_types_and_conversions()) + return 1; + if(!test_base_derived()) return 1; if(!test_arithmetic()) return 1; if(!test_comparison()) return 1; + if(!test_pointer_traits()) + return 1; return 0; } diff --git a/test/pair_test.cpp b/test/pair_test.cpp deleted file mode 100644 index 2efe126..0000000 --- a/test/pair_test.cpp +++ /dev/null @@ -1,54 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/interprocess for documentation. -// -////////////////////////////////////////////////////////////////////////////// -#include -#include -#include "movable_int.hpp" -#include "emplace_test.hpp" -#include - -//non_copymovable_int -//copyable_int -//movable_int -//movable_and_copyable_int - - -using namespace ::boost::interprocess; - -int main () -{ - { - pair p1; - pair p2; - pair p3; - pair p4; - } - { //Constructible from two values - pair p1(1, 2); - pair p2(1, 2); - pair p3(1, 2); - pair p4(1, 2); - } - - { //Constructible from internal types - pair p2(test::copyable_int(1), test::copyable_int(2)); - { - test::movable_int a(1), b(2); - pair p3(::boost::move(a), ::boost::move(b)); - } - { - test::movable_and_copyable_int a(1), b(2); - pair p4(::boost::move(a), ::boost::move(b)); - } - } - //piecewise_construct missing... - return 0; -} - -#include diff --git a/test/print_container.hpp b/test/print_container.hpp index 2965ec9..49904ab 100644 --- a/test/print_container.hpp +++ b/test/print_container.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/private_adaptive_pool_test.cpp b/test/private_adaptive_pool_test.cpp index c4d0965..c93ddfb 100644 --- a/test/private_adaptive_pool_test.cpp +++ b/test/private_adaptive_pool_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -28,12 +28,20 @@ typedef private_adaptive_pool typedef ipcdetail::private_adaptive_pool_v1 priv_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class private_adaptive_pool; -template class ipcdetail::private_adaptive_pool_v1; template class private_adaptive_pool; + +namespace ipcdetail { + +template class ipcdetail::private_adaptive_pool_v1; template class ipcdetail::private_adaptive_pool_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/private_node_allocator_test.cpp b/test/private_node_allocator_test.cpp index f2698e8..5abd662 100644 --- a/test/private_node_allocator_test.cpp +++ b/test/private_node_allocator_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -28,12 +28,20 @@ typedef private_node_allocator typedef ipcdetail::private_node_allocator_v1 priv_node_allocator_v1_t; +namespace boost { +namespace interprocess { + //Explicit instantiations to catch compilation errors template class private_node_allocator; -template class ipcdetail::private_node_allocator_v1; template class private_node_allocator; + +namespace ipcdetail { + +template class ipcdetail::private_node_allocator_v1; template class ipcdetail::private_node_allocator_v1; +}}} + //Alias list types typedef list MyShmList; typedef list MyShmListV1; diff --git a/test/recursive_mutex_test.cpp b/test/recursive_mutex_test.cpp index bb1ae79..d445598 100644 --- a/test/recursive_mutex_test.cpp +++ b/test/recursive_mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -9,15 +9,28 @@ ////////////////////////////////////////////////////////////////////////////// #include +#if defined(BOOST_INTERPROCESS_WINDOWS) +#include +#include +#endif #include #include -#include #include "mutex_test_template.hpp" -#include "named_creation_template.hpp" int main () { using namespace boost::interprocess; + #if defined(BOOST_INTERPROCESS_WINDOWS) + // + test::test_all_lock(); + test::test_all_mutex(); + test::test_all_recursive_lock(); + // + test::test_all_lock(); + test::test_all_mutex(); + test::test_all_recursive_lock(); + #endif + // test::test_all_lock(); test::test_all_mutex(); test::test_all_recursive_lock(); diff --git a/test/robust_emulation_test.cpp b/test/robust_emulation_test.cpp index 3e0f1ec..3e2d9e9 100644 --- a/test/robust_emulation_test.cpp +++ b/test/robust_emulation_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2010-2010. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2010-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -10,13 +10,13 @@ #include #include "robust_mutex_test.hpp" #include -#include +#include int main(int argc, char *argv[]) { using namespace boost::interprocess; return test::robust_mutex_test - < ipcdetail::robust_emulation_mutex >(argc, argv); + < ipcdetail::robust_spin_mutex >(argc, argv); } #include diff --git a/test/robust_mutex_test.hpp b/test/robust_mutex_test.hpp index e4292bc..f404643 100644 --- a/test/robust_mutex_test.hpp +++ b/test/robust_mutex_test.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2010-2010. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2010-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/robust_recursive_emulation_test.cpp b/test/robust_recursive_emulation_test.cpp index 1b8555e..bfda4cc 100644 --- a/test/robust_recursive_emulation_test.cpp +++ b/test/robust_recursive_emulation_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2010-2010. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2010-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -10,14 +10,14 @@ #include #include "robust_mutex_test.hpp" #include -#include +#include int main(int argc, char *argv[]) { using namespace boost::interprocess; return test::robust_mutex_test - < ipcdetail::robust_emulation_mutex >(argc, argv); + < ipcdetail::robust_spin_mutex >(argc, argv); } #include diff --git a/test/semaphore_test.cpp b/test/semaphore_test.cpp index 1416a41..2eba6bd 100644 --- a/test/semaphore_test.cpp +++ b/test/semaphore_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/semaphore_test_template.hpp b/test/semaphore_test_template.hpp deleted file mode 100644 index a3a7c7a..0000000 --- a/test/semaphore_test_template.hpp +++ /dev/null @@ -1,320 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/interprocess for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_INTERPROCESS_TEST_SEMAPHORE_TEST_TEMPLATE_HEADER -#define BOOST_INTERPROCESS_TEST_SEMAPHORE_TEST_TEMPLATE_HEADER - -#include -#include -#include "boost_interprocess_check.hpp" -#include "util.hpp" -#include -#include -#include - -namespace boost { namespace interprocess { namespace test { - -template -struct test_wait -{ - void operator()() - {/* - mutex_type interprocess_mutex; - boost::interprocess::interprocess_condition interprocess_condition; - - // Test the lock's constructors. - { - wait_type lock(interprocess_mutex, boost::interprocess::defer_lock); - BOOST_INTERPROCES_CHECK(!lock); - } - wait_type lock(interprocess_mutex); - BOOST_INTERPROCES_CHECK(lock ? true : false); - - // Test the lock and unlock methods. - lock.unlock(); - BOOST_INTERPROCES_CHECK(!lock); - lock.lock(); - BOOST_INTERPROCES_CHECK(lock ? true : false);*/ - } -}; - -template -struct test_try_wait -{ - void operator()() - {/* - mutex_type interprocess_mutex; - boost::interprocess::interprocess_condition interprocess_condition; - - // Test the lock's constructors. - { - try_to_wait_type lock(interprocess_mutex, boost::interprocess::try_to_lock); - BOOST_INTERPROCES_CHECK(lock ? true : false); - } - { - try_to_wait_type lock(interprocess_mutex, boost::interprocess::defer_lock); - BOOST_INTERPROCES_CHECK(!lock); - } - try_to_wait_type lock(interprocess_mutex); - BOOST_INTERPROCES_CHECK(lock ? true : false); - - // Test the lock, unlock and trylock methods. - lock.unlock(); - BOOST_INTERPROCES_CHECK(!lock); - lock.lock(); - BOOST_INTERPROCES_CHECK(lock ? true : false); - lock.unlock(); - BOOST_INTERPROCES_CHECK(!lock); - BOOST_INTERPROCES_CHECK(lock.try_lock()); - BOOST_INTERPROCES_CHECK(lock ? true : false);*/ - } -}; - -template -struct test_timed_wait -{ - void operator()() - {/* - mutex_type interprocess_mutex; - boost::interprocess::interprocess_condition interprocess_condition; - - // Test the lock's constructors. - { - // Construct and initialize an xtime for a fast time out. - boost::posix_time::ptime pt = delay(100, 0); - - timed_wait_type lock(interprocess_mutex, pt); - BOOST_INTERPROCES_CHECK(lock ? true : false); - } - { - timed_wait_type lock(interprocess_mutex, boost::interprocess::defer_lock); - BOOST_INTERPROCES_CHECK(!lock); - } - timed_wait_type lock(interprocess_mutex); - BOOST_INTERPROCES_CHECK(lock ? true : false); - - // Test the lock, unlock and timedlock methods. - lock.unlock(); - BOOST_INTERPROCES_CHECK(!lock); - lock.lock(); - BOOST_INTERPROCES_CHECK(lock ? true : false); - lock.unlock(); - BOOST_INTERPROCES_CHECK(!lock); - boost::posix_time::ptime pt = delay(10, 0); - BOOST_INTERPROCES_CHECK(lock.timed_lock(pt)); - BOOST_INTERPROCES_CHECK(lock ? true : false);*/ - } -}; - -template -struct test_recursive_lock -{ - void operator()() - {/* - mutex_type mx; - { - wait_type lock1(mx); - wait_type lock2(mx); - } - { - wait_type lock1(mx, defer_lock); - wait_type lock2(mx, defer_lock); - } - { - wait_type lock1(mx, try_to_lock); - wait_type lock2(mx, try_to_lock); - } - { - //This should always lock - boost::posix_time::ptime pt = delay(3); - wait_type lock1(mx, pt); - wait_type lock2(mx, pt); - }*/ - } -}; - -// plain_exclusive exercises the "infinite" lock for each -// read_write_mutex type. - -template -void wait_and_sleep(void *arg, P &sm) -{ - data

*pdata = static_cast*>(arg); - boost::interprocess::scoped_lock

l(sm); - boost::thread::sleep(xsecs(3*BaseSeconds)); - ++shared_val; - pdata->m_value = shared_val; -} - -template -void try_wait_and_sleep(void *arg, P &sm) -{ - data

*pdata = static_cast*>(arg); - boost::interprocess::scoped_lock

l(sm, boost::interprocess::defer_lock); - if (l.try_lock()){ - boost::thread::sleep(xsecs(3*BaseSeconds)); - ++shared_val; - pdata->m_value = shared_val; - } -} - -template -void timed_wait_and_sleep(void *arg, P &sm) -{ - data

*pdata = static_cast*>(arg); - boost::posix_time::ptime pt(delay(pdata->m_secs)); - boost::interprocess::scoped_lock

- l (sm, boost::interprocess::defer_lock); - if (l.timed_lock(pt)){ - boost::thread::sleep(xsecs(3*BaseSeconds)); - ++shared_val; - pdata->m_value = shared_val; - } -} - -template -void test_mutex_lock(P &sm) -{ - shared_val = 0; - - data

m1(1,sm); - data

m2(2,sm); - - // Locker one launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm1(thread_adapter

(&wait_and_sleep, &m1, sm)); - - //Wait 1*BaseSeconds - boost::thread::sleep(xsecs(1*BaseSeconds)); - - // Locker two launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm2(thread_adapter

(&wait_and_sleep, &m2, sm)); - - //Wait completion - tm1.join(); - tm2.join(); - - assert(m1.m_value == 1); - assert(m2.m_value == 2); -} - -template -void test_mutex_try_lock(P &sm) -{ - shared_val = 0; - - data

m1(1,sm); - data

m2(2,sm); - - // Locker one launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm1(thread_adapter

(&try_wait_and_sleep, &m1, sm)); - - //Wait 1*BaseSeconds - boost::thread::sleep(xsecs(1*BaseSeconds)); - - // Locker two launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm2(thread_adapter

(&try_wait_and_sleep, &m2, sm)); - - //Wait completion - tm1.join(); - tm2.join(); - //Only the first should succeed locking - assert(m1.m_value == 1); - assert(m2.m_value == -1); -} - -template -void test_mutex_timed_lock(P &sm) - -{ - { - shared_val = 0; - - data

m1(1, sm, 3); - data

m2(2, sm, 3); - - // Locker one launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm1(thread_adapter

(&timed_wait_and_sleep, &m1, sm)); - - //Wait 1*BaseSeconds - boost::thread::sleep(xsecs(1*BaseSeconds)); - - // Locker two launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm2(thread_adapter

(&timed_wait_and_sleep, &m2, sm)); - - //Wait completion - tm1.join(); - tm2.join(); - - //Both should succeed locking - assert(m1.m_value == 1); - assert(m2.m_value == 2); - } - { - shared_val = 0; - - data

m1(1, sm, 3); - data

m2(2, sm, 3); - - // Locker one launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm1(thread_adapter

(&timed_wait_and_sleep, &m1, sm)); - - //Wait 1*BaseSeconds - boost::thread::sleep(xsecs(1*BaseSeconds)); - - // Locker two launches, holds the lock for 3*BaseSeconds seconds. - boost::thread tm2(thread_adapter

(&timed_wait_and_sleep, &m2, sm)); - - //Wait completion - tm1.join(); - tm2.join(); - - //Both should succeed locking - assert(m1.m_value == 1); - assert(m2.m_value == 2); - } -} - -template -inline void test_all_lock() -{ - //Now generic interprocess_mutex tests - std::cout << "test_wait<" << typeid(P).name() << ">" << std::endl; - test_wait

()(); - std::cout << "test_try_wait<" << typeid(P).name() << ">" << std::endl; - test_try_wait

()(); - std::cout << "test_timed_wait<" << typeid(P).name() << ">" << std::endl; - test_timed_wait

()(); -} - -template -inline void test_all_recursive_lock() -{ - //Now generic interprocess_mutex tests - std::cout << "test_recursive_lock<" << typeid(P).name() << ">" << std::endl; - test_recursive_lock

()(); -} - -template -void test_all_mutex() -{ - P mut; - std::cout << "test_mutex_lock<" << typeid(P).name() << ">" << std::endl; - test_mutex_lock(mut); - std::cout << "test_mutex_try_lock<" << typeid(P).name() << ">" << std::endl; - test_mutex_try_lock(mut); - std::cout << "test_mutex_timed_lock<" << typeid(P).name() << ">" << std::endl; - test_mutex_timed_lock(mut); -} - -}}} //namespace boost { namespace interprocess { namespace test { - -#include - -#endif //BOOST_INTERPROCESS_TEST_SEMAPHORE_TEST_TEMPLATE_HEADER diff --git a/test/set_test.hpp b/test/set_test.hpp index dc672d3..dc6f463 100644 --- a/test/set_test.hpp +++ b/test/set_test.hpp @@ -1,6 +1,6 @@ //////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -63,7 +63,7 @@ int set_test () IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(i/2); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -72,7 +72,7 @@ int set_test () IntType aux_vect3[50]; for(int i = 0; i < 50; ++i){ IntType move_me(i/2); - aux_vect3[i] = boost::interprocess::move(move_me); + aux_vect3[i] = boost::move(move_me); } MyShmSet *shmset2 = @@ -102,7 +102,7 @@ int set_test () //ordered range insertion for(int i = 0; i < 50; ++i){ IntType move_me(i); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } for(int i = 0; i < 50; ++i){ @@ -111,7 +111,7 @@ int set_test () for(int i = 0; i < 50; ++i){ IntType move_me(i); - aux_vect3[i] = boost::interprocess::move(move_me); + aux_vect3[i] = boost::move(move_me); } MyShmSet *shmset3 = @@ -153,21 +153,21 @@ int set_test () } if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(boost::interprocess::move(move_me)" << std::endl; + std::cout << "Error in shmset->insert(boost::move(move_me)" << std::endl; return 1; } int i, j; for(i = 0; i < max/2; ++i){ IntType move_me(i); - shmset->insert(boost::interprocess::move(move_me)); + shmset->insert(boost::move(move_me)); stdset->insert(i); IntType move_me2(i); - shmmultiset->insert(boost::interprocess::move(move_me2)); + shmmultiset->insert(boost::move(move_me2)); stdmultiset->insert(i); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(boost::interprocess::move(move_me)" << std::endl; + std::cout << "Error in shmset->insert(boost::move(move_me)" << std::endl; return 1; } // @@ -177,24 +177,25 @@ int set_test () stdmultiset->insert(i); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(boost::interprocess::move(move_me)" << std::endl; + std::cout << "Error in shmset->insert(boost::move(move_me)" << std::endl; return 1; } } if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(boost::interprocess::move(move_me)" << std::endl; + std::cout << "Error in shmset->insert(boost::move(move_me)" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(boost::interprocess::move(move_me)" << std::endl; + std::cout << "Error in shmmultiset->insert(boost::move(move_me)" << std::endl; return 1; } typename MyShmSet::iterator it; typename MyShmSet::const_iterator cit = it; + (void)cit; shmset->erase(shmset->begin()++); stdset->erase(stdset->begin()++); @@ -251,7 +252,7 @@ int set_test () IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -260,7 +261,7 @@ int set_test () IntType aux_vect3[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect3[i] = boost::interprocess::move(move_me); + aux_vect3[i] = boost::move(move_me); } shmset->insert(::boost::make_move_iterator(&aux_vect[0]), ::boost::make_move_iterator(aux_vect + 50)); @@ -296,7 +297,7 @@ int set_test () IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect[i] = boost::interprocess::move(move_me); + aux_vect[i] = boost::move(move_me); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -305,19 +306,19 @@ int set_test () IntType aux_vect3[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect3[i] = boost::interprocess::move(move_me); + aux_vect3[i] = boost::move(move_me); } IntType aux_vect4[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect4[i] = boost::interprocess::move(move_me); + aux_vect4[i] = boost::move(move_me); } IntType aux_vect5[50]; for(int i = 0; i < 50; ++i){ IntType move_me(-1); - aux_vect5[i] = boost::interprocess::move(move_me); + aux_vect5[i] = boost::move(move_me); } shmset->insert(::boost::make_move_iterator(&aux_vect[0]), ::boost::make_move_iterator(aux_vect + 50)); @@ -353,10 +354,10 @@ int set_test () for(i = 0; i < max/2; ++i){ IntType move_me(i); - shmset->insert(shmset->begin(), boost::interprocess::move(move_me)); + shmset->insert(shmset->begin(), boost::move(move_me)); stdset->insert(stdset->begin(), i); IntType move_me2(i); - shmmultiset->insert(shmmultiset->begin(), boost::interprocess::move(move_me2)); + shmmultiset->insert(shmmultiset->begin(), boost::move(move_me2)); stdmultiset->insert(stdmultiset->begin(), i); // shmset->insert(shmset->begin(), IntType(i)); @@ -366,80 +367,80 @@ int set_test () } if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(boost::interprocess::move(move_me)) try 2" << std::endl; + std::cout << "Error in shmset->insert(boost::move(move_me)) try 2" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(boost::interprocess::move(move_me2)) try 2" << std::endl; + std::cout << "Error in shmmultiset->insert(boost::move(move_me2)) try 2" << std::endl; return 1; } for(i = 0; i < max; ++i){ IntType move_me(i); - shmset->insert(shmset->begin(), boost::interprocess::move(move_me)); + shmset->insert(shmset->begin(), boost::move(move_me)); stdset->insert(stdset->begin(), i); //PrintContainers(shmset, stdset); IntType move_me2(i); - shmmultiset->insert(shmmultiset->begin(), boost::interprocess::move(move_me2)); + shmmultiset->insert(shmmultiset->begin(), boost::move(move_me2)); stdmultiset->insert(stdmultiset->begin(), i); //PrintContainers(shmmultiset, stdmultiset); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(shmset->begin(), boost::interprocess::move(move_me))" << std::endl; + std::cout << "Error in shmset->insert(shmset->begin(), boost::move(move_me))" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(shmmultiset->begin(), boost::interprocess::move(move_me2))" << std::endl; + std::cout << "Error in shmmultiset->insert(shmmultiset->begin(), boost::move(move_me2))" << std::endl; return 1; } IntType move_me3(i); - shmset->insert(shmset->end(), boost::interprocess::move(move_me3)); + shmset->insert(shmset->end(), boost::move(move_me3)); stdset->insert(stdset->end(), i); IntType move_me4(i); - shmmultiset->insert(shmmultiset->end(), boost::interprocess::move(move_me4)); + shmmultiset->insert(shmmultiset->end(), boost::move(move_me4)); stdmultiset->insert(stdmultiset->end(), i); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(shmset->end(), boost::interprocess::move(move_me3))" << std::endl; + std::cout << "Error in shmset->insert(shmset->end(), boost::move(move_me3))" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(shmmultiset->end(), boost::interprocess::move(move_me4))" << std::endl; + std::cout << "Error in shmmultiset->insert(shmmultiset->end(), boost::move(move_me4))" << std::endl; return 1; } { IntType move_me(i); - shmset->insert(shmset->upper_bound(move_me), boost::interprocess::move(move_me)); + shmset->insert(shmset->upper_bound(move_me), boost::move(move_me)); stdset->insert(stdset->upper_bound(i), i); //PrintContainers(shmset, stdset); IntType move_me2(i); - shmmultiset->insert(shmmultiset->upper_bound(move_me2), boost::interprocess::move(move_me2)); + shmmultiset->insert(shmmultiset->upper_bound(move_me2), boost::move(move_me2)); stdmultiset->insert(stdmultiset->upper_bound(i), i); //PrintContainers(shmmultiset, stdmultiset); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(shmset->upper_bound(move_me), boost::interprocess::move(move_me))" << std::endl; + std::cout << "Error in shmset->insert(shmset->upper_bound(move_me), boost::move(move_me))" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(shmmultiset->upper_bound(move_me2), boost::interprocess::move(move_me2))" << std::endl; + std::cout << "Error in shmmultiset->insert(shmmultiset->upper_bound(move_me2), boost::move(move_me2))" << std::endl; return 1; } } { IntType move_me(i); - shmset->insert(shmset->lower_bound(move_me), boost::interprocess::move(move_me2)); + shmset->insert(shmset->lower_bound(move_me), boost::move(move_me2)); stdset->insert(stdset->lower_bound(i), i); //PrintContainers(shmset, stdset); IntType move_me2(i); - shmmultiset->insert(shmmultiset->lower_bound(move_me2), boost::interprocess::move(move_me2)); + shmmultiset->insert(shmmultiset->lower_bound(move_me2), boost::move(move_me2)); stdmultiset->insert(stdmultiset->lower_bound(i), i); //PrintContainers(shmmultiset, stdmultiset); if(!CheckEqualContainers(shmset, stdset)){ - std::cout << "Error in shmset->insert(shmset->lower_bound(move_me), boost::interprocess::move(move_me2))" << std::endl; + std::cout << "Error in shmset->insert(shmset->lower_bound(move_me), boost::move(move_me2))" << std::endl; return 1; } if(!CheckEqualContainers(shmmultiset, stdmultiset)){ - std::cout << "Error in shmmultiset->insert(shmmultiset->lower_bound(move_me2), boost::interprocess::move(move_me2))" << std::endl; + std::cout << "Error in shmmultiset->insert(shmmultiset->lower_bound(move_me2), boost::move(move_me2))" << std::endl; return 1; } } @@ -465,9 +466,9 @@ int set_test () for(j = 0; j < 3; ++j) for(i = 0; i < 100; ++i){ IntType move_me(i); - shmset->insert(boost::interprocess::move(move_me)); + shmset->insert(boost::move(move_me)); IntType move_me2(i); - shmmultiset->insert(boost::interprocess::move(move_me2)); + shmmultiset->insert(boost::move(move_me2)); IntType count_me(i); if(shmset->count(count_me) != typename MyShmMultiSet::size_type(1)){ std::cout << "Error in shmset->count(count_me)" << std::endl; @@ -534,10 +535,10 @@ int set_test_copyable () int i; for(i = 0; i < max; ++i){ IntType move_me(i); - shmset->insert(boost::interprocess::move(move_me)); + shmset->insert(boost::move(move_me)); stdset->insert(i); IntType move_me2(i); - shmmultiset->insert(boost::interprocess::move(move_me2)); + shmmultiset->insert(boost::move(move_me2)); stdmultiset->insert(i); } if(!CheckEqualContainers(shmset, stdset)) return 1; diff --git a/test/sharable_mutex_test_template.hpp b/test/sharable_mutex_test_template.hpp index 88bce01..bc5ee16 100644 --- a/test/sharable_mutex_test_template.hpp +++ b/test/sharable_mutex_test_template.hpp @@ -10,7 +10,7 @@ // It is provided "as is" without express or implied warranty. ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -26,6 +26,7 @@ #include #include +#include "boost_interprocess_check.hpp" #include #include #include @@ -152,9 +153,9 @@ void test_plain_sharable_mutex() tw1.join(); //We can only assure that the writer will be first - assert(e1.m_value == 10); + BOOST_INTERPROCES_CHECK(e1.m_value == 10); //A that we will execute all - assert(s1.m_value == 20 || s2.m_value == 20 || e2.m_value == 20); + BOOST_INTERPROCES_CHECK(s1.m_value == 20 || s2.m_value == 20 || e2.m_value == 20); } { @@ -193,9 +194,9 @@ void test_plain_sharable_mutex() tw1.join(); //We can only assure that the shared will finish first... - assert(s1.m_value == 0 || s2.m_value == 0); + BOOST_INTERPROCES_CHECK(s1.m_value == 0 || s2.m_value == 0); //...and writers will be mutually excluded after readers - assert((e1.m_value == 10 && e2.m_value == 20) || + BOOST_INTERPROCES_CHECK((e1.m_value == 10 && e2.m_value == 20) || (e1.m_value == 20 && e2.m_value == 10) ); } } @@ -238,9 +239,9 @@ void test_try_sharable_mutex() thr1.join(); tw1.join(); - assert(e1.m_value == 10); - assert(s1.m_value == -1); // Try would return w/o waiting - assert(e2.m_value == -1); // Try would return w/o waiting + BOOST_INTERPROCES_CHECK(e1.m_value == 10); + BOOST_INTERPROCES_CHECK(s1.m_value == -1); // Try would return w/o waiting + BOOST_INTERPROCES_CHECK(e2.m_value == -1); // Try would return w/o waiting } template @@ -289,10 +290,10 @@ void test_timed_sharable_mutex() thr2.join(); tw2.join(); - assert(e1.m_value == 10); - assert(s1.m_value == -1); - assert(s2.m_value == 10); - assert(e2.m_value == -1); + BOOST_INTERPROCES_CHECK(e1.m_value == 10); + BOOST_INTERPROCES_CHECK(s1.m_value == -1); + BOOST_INTERPROCES_CHECK(s2.m_value == 10); + BOOST_INTERPROCES_CHECK(e2.m_value == -1); } template diff --git a/test/shared_memory_mapping_test.cpp b/test/shared_memory_mapping_test.cpp index 91b63eb..3b9ed33 100644 --- a/test/shared_memory_mapping_test.cpp +++ b/test/shared_memory_mapping_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -22,7 +22,7 @@ using namespace boost::interprocess; shared_memory_object get_shared_memory_mapping() { shared_memory_object sh; - return shared_memory_object(boost::interprocess::move(sh)); + return shared_memory_object(boost::move(sh)); } int main () @@ -172,9 +172,9 @@ int main () { //Now test move semantics shared_memory_object mapping(open_only, process_id.c_str(), read_write); - shared_memory_object move_ctor(boost::interprocess::move(mapping)); + shared_memory_object move_ctor(boost::move(mapping)); shared_memory_object move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); shared_memory_object ret(get_shared_memory_mapping()); } } diff --git a/test/shared_memory_test.cpp b/test/shared_memory_test.cpp index 6d953df..586ae80 100644 --- a/test/shared_memory_test.cpp +++ b/test/shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -70,9 +70,9 @@ int main () std::memset(shm1.get_user_address(), 0, shm1.get_user_size()); //Now test move semantics - shared_memory move_ctor(boost::interprocess::move(shm1)); + shared_memory move_ctor(boost::move(shm1)); shared_memory move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); } } catch(std::exception &ex){ diff --git a/test/shared_ptr_test.cpp b/test/shared_ptr_test.cpp index 30bc0b5..9348d96 100644 --- a/test/shared_ptr_test.cpp +++ b/test/shared_ptr_test.cpp @@ -1,7 +1,7 @@ ////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Peter Dimov 2002-2005, 2007. -// (C) Copyright Ion Gaztanaga 2006-2009. +// (C) Copyright Ion Gaztanaga 2006-2011. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -585,7 +585,7 @@ void test_alias() int_shared_ptr p; int_shared_ptr p2( p, &m ); - BOOST_TEST( ipcdetail::get_pointer(p2.get()) == &m ); + BOOST_TEST( ipcdetail::to_raw_pointer(p2.get()) == &m ); BOOST_TEST( p2? true: false ); BOOST_TEST( !!p2 ); BOOST_TEST( p2.use_count() == p.use_count() ); @@ -607,7 +607,7 @@ void test_alias() (shmem.construct(anonymous_instance)(), shmem)); const_int_shared_ptr p2( p, &m ); - BOOST_TEST( ipcdetail::get_pointer(p2.get()) == &m ); + BOOST_TEST( ipcdetail::to_raw_pointer(p2.get()) == &m ); BOOST_TEST( p2? true: false ); BOOST_TEST( !!p2 ); BOOST_TEST( p2.use_count() == p.use_count() ); diff --git a/test/slist_test.cpp b/test/slist_test.cpp index a2ece81..db271b3 100644 --- a/test/slist_test.cpp +++ b/test/slist_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -19,10 +19,6 @@ using namespace boost::interprocess; -//Explicit instantiation to detect compilation errors -template class boost::interprocess::slist >; - typedef allocator ShmemAllocator; typedef slist MyList; @@ -38,30 +34,8 @@ typedef slist MyCopyMove typedef allocator ShmemCopyAllocator; typedef slist MyCopyList; -class recursive_slist -{ -public: - int id_; - slist slist_; -}; - -void recursive_slist_test()//Test for recursive types -{ - slist recursive_list_list; -} - int main () { - recursive_slist_test(); - { - //Now test move semantics - slist original; - slist move_ctor(boost::interprocess::move(original)); - slist move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); - } - if(test::list_test()) return 1; diff --git a/test/stable_vector_test.cpp b/test/stable_vector_test.cpp index 4204082..5af9a1c 100644 --- a/test/stable_vector_test.cpp +++ b/test/stable_vector_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -29,33 +29,8 @@ using namespace boost::interprocess; -//Explicit instantiation to detect compilation errors -//template class stable_vector >; - -class recursive_vector -{ - public: - int id_; - stable_vector vector_; -}; - -void recursive_vector_test()//Test for recursive types -{ - stable_vector recursive_vector_vector; -} - int main() { - recursive_vector_test(); - { - //Now test move semantics - stable_vector original; - stable_vector move_ctor(boost::interprocess::move(original)); - stable_vector move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); - } typedef allocator ShmemAllocator; typedef stable_vector MyVector; diff --git a/test/string_test.cpp b/test/string_test.cpp index 04fa004..269a178 100644 --- a/test/string_test.cpp +++ b/test/string_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -37,13 +37,6 @@ typedef test::dummy_test_allocator DummyWCharAllocator; typedef basic_string, DummyWCharAllocator> DummyWString; typedef test::dummy_test_allocator DummyWStringAllocator; -//Explicit instantiations of interprocess::basic_string -template class basic_string, DummyCharAllocator>; -template class basic_string, DummyWCharAllocator>; -//Explicit instantiation of interprocess::vectors of interprocess::strings -template class vector; -template class vector; - struct StringEqual { template @@ -127,7 +120,7 @@ int string_test() std::sprintf(buffer, "%i", i); auxShmString += buffer; auxStdString += buffer; - shmStringVect->push_back(boost::interprocess::move(auxShmString)); + shmStringVect->push_back(boost::move(auxShmString)); stdStringVect->push_back(auxStdString); } @@ -157,7 +150,7 @@ int string_test() std::sprintf(buffer, "%i", i); auxShmString += buffer; auxStdString += buffer; - shmStringVect->insert(shmStringVect->begin(), boost::interprocess::move(auxShmString)); + shmStringVect->insert(shmStringVect->begin(), boost::move(auxShmString)); stdStringVect->insert(stdStringVect->begin(), auxStdString); } diff --git a/test/tree_test.cpp b/test/tree_test.cpp index 5c1da9a..54f8a4b 100644 --- a/test/tree_test.cpp +++ b/test/tree_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -105,72 +105,9 @@ typedef multimap ,shmem_move_copy_node_pair_allocator_t> MyMoveCopyShmMultiMap; -//Test recursive structures -class recursive_set -{ -public: - int id_; - set set_; - friend bool operator< (const recursive_set &a, const recursive_set &b) - { return a.id_ < b.id_; } -}; - -class recursive_map -{ - public: - int id_; - map map_; - friend bool operator< (const recursive_map &a, const recursive_map &b) - { return a.id_ < b.id_; } -}; - -//Test recursive structures -class recursive_multiset -{ -public: - int id_; - multiset multiset_; - friend bool operator< (const recursive_multiset &a, const recursive_multiset &b) - { return a.id_ < b.id_; } -}; - -class recursive_multimap -{ -public: - int id_; - multimap multimap_; - friend bool operator< (const recursive_multimap &a, const recursive_multimap &b) - { return a.id_ < b.id_; } -}; - -template -void test_move() -{ - //Now test move semantics - C original; - C move_ctor(boost::interprocess::move(original)); - C move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); -} int main () { - //Recursive container instantiation - { - set set_; - multiset multiset_; - map map_; - multimap multimap_; - } - //Now test move semantics - { - test_move >(); - test_move >(); - test_move >(); - test_move >(); - } - using namespace boost::interprocess::ipcdetail; if(0 != test::set_test #include #include -#include #include #include #include @@ -70,14 +69,14 @@ int main() //Test some copy constructors my_unique_ptr_class my_ptr3(0, segment.get_deleter()); - my_unique_ptr_class my_ptr4(boost::interprocess::move(my_ptr3)); + my_unique_ptr_class my_ptr4(boost::move(my_ptr3)); //Construct a list and fill MyList list(segment.get_segment_manager()); //Insert from my_unique_ptr_class - list.push_front(boost::interprocess::move(my_ptr)); - list.push_back(boost::interprocess::move(my_ptr2)); + list.push_front(boost::move(my_ptr)); + list.push_back(boost::move(my_ptr2)); //Check pointers assert(my_ptr.get() == 0); @@ -90,8 +89,8 @@ int main() MySet set(set_less_t(), segment.get_segment_manager()); //Insert in set from list passing ownership - set.insert(boost::interprocess::move(*list.begin())); - set.insert(boost::interprocess::move(*list.rbegin())); + set.insert(boost::move(*list.begin())); + set.insert(boost::move(*list.rbegin())); //Check pointers assert(list.begin()->get() == 0); @@ -113,12 +112,12 @@ int main() //Insert from my_unique_ptr_class if(ptr1 < ptr2){ - vector.insert(vector.begin(), boost::interprocess::move(*set.begin())); - vector.insert(vector.end(), boost::interprocess::move(*set.rbegin())); + vector.insert(vector.begin(), boost::move(*set.begin())); + vector.insert(vector.end(), boost::move(*set.rbegin())); } else{ - vector.insert(vector.begin(), boost::interprocess::move(*set.rbegin())); - vector.insert(vector.end(), boost::interprocess::move(*set.begin())); + vector.insert(vector.begin(), boost::move(*set.rbegin())); + vector.insert(vector.end(), boost::move(*set.begin())); } //Check pointers @@ -127,14 +126,14 @@ int main() assert(vector.begin()->get() == ptr1); assert(vector.rbegin()->get() == ptr2); - MyVector vector2(boost::interprocess::move(vector)); + MyVector vector2(boost::move(vector)); vector2.swap(vector); assert(vector.begin()->get() == ptr1); assert(vector.rbegin()->get() == ptr2); my_unique_ptr_class a(0, segment.get_deleter()), b(0, segment.get_deleter()); - a = boost::interprocess::move(b); + a = boost::move(b); } shared_memory_object::remove(process_name.c_str()); return 0; diff --git a/test/unordered_test.cpp b/test/unordered_test.cpp index d81d3e7..37343ea 100644 --- a/test/unordered_test.cpp +++ b/test/unordered_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2007-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2007-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -24,10 +24,6 @@ typedef bip::allocator ShmemAl typedef boost::unordered_set, std::equal_to, ShmemAllocator> MyUnorderedSet; typedef boost::unordered_multiset, std::equal_to, ShmemAllocator> MyUnorderedMultiSet; -//Explicit instantiation to catch compile-time errors -template class boost::unordered_set, std::equal_to, ShmemAllocator>; -template class boost::unordered_multiset, std::equal_to, ShmemAllocator>; - int main() { //Remove any other old shared memory from the system diff --git a/test/upgradable_mutex_test.cpp b/test/upgradable_mutex_test.cpp index 97deaae..61379dd 100644 --- a/test/upgradable_mutex_test.cpp +++ b/test/upgradable_mutex_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -35,135 +35,135 @@ int main () //Conversions to scoped_lock { scoped_lock lock(mut); - scoped_lock e_lock(boost::interprocess::move(lock)); + scoped_lock e_lock(boost::move(lock)); lock.swap(e_lock); } { scoped_lock lock(mut); scoped_lock e_lock(mut2); - e_lock = boost::interprocess::move(lock); + e_lock = boost::move(lock); } { upgradable_lock u_lock(mut); //This calls unlock_upgradable_and_lock() - scoped_lock e_lock(boost::interprocess::move(u_lock)); + scoped_lock e_lock(boost::move(u_lock)); } { upgradable_lock u_lock(mut); //This calls unlock_upgradable_and_lock() scoped_lock e_lock(mut2); - scoped_lock moved(boost::interprocess::move(u_lock)); - e_lock = boost::interprocess::move(moved); + scoped_lock moved(boost::move(u_lock)); + e_lock = boost::move(moved); } { upgradable_lock u_lock(mut); //This calls try_unlock_upgradable_and_lock() - scoped_lock e_lock(boost::interprocess::move(u_lock), try_to_lock); + scoped_lock e_lock(boost::move(u_lock), try_to_lock); } { upgradable_lock u_lock(mut); //This calls try_unlock_upgradable_and_lock() scoped_lock e_lock(mut2); - scoped_lock moved(boost::interprocess::move(u_lock), try_to_lock); - e_lock = boost::interprocess::move(moved); + scoped_lock moved(boost::move(u_lock), try_to_lock); + e_lock = boost::move(moved); } { boost::posix_time::ptime t = test::delay(100); upgradable_lock u_lock(mut); //This calls timed_unlock_upgradable_and_lock() - scoped_lock e_lock(boost::interprocess::move(u_lock), t); + scoped_lock e_lock(boost::move(u_lock), t); } { boost::posix_time::ptime t = test::delay(100); upgradable_lock u_lock(mut); //This calls timed_unlock_upgradable_and_lock() scoped_lock e_lock(mut2); - scoped_lock moved(boost::interprocess::move(u_lock), t); - e_lock = boost::interprocess::move(moved); + scoped_lock moved(boost::move(u_lock), t); + e_lock = boost::move(moved); } { sharable_lock s_lock(mut); //This calls try_unlock_sharable_and_lock() - scoped_lock e_lock(boost::interprocess::move(s_lock), try_to_lock); + scoped_lock e_lock(boost::move(s_lock), try_to_lock); } { sharable_lock s_lock(mut); //This calls try_unlock_sharable_and_lock() scoped_lock e_lock(mut2); - scoped_lock moved(boost::interprocess::move(s_lock), try_to_lock); - e_lock = boost::interprocess::move(moved); + scoped_lock moved(boost::move(s_lock), try_to_lock); + e_lock = boost::move(moved); } //Conversions to upgradable_lock { upgradable_lock lock(mut); - upgradable_lock u_lock(boost::interprocess::move(lock)); + upgradable_lock u_lock(boost::move(lock)); lock.swap(u_lock); } { upgradable_lock lock(mut); upgradable_lock u_lock(mut2); - upgradable_lock moved(boost::interprocess::move(lock)); - u_lock = boost::interprocess::move(moved); + upgradable_lock moved(boost::move(lock)); + u_lock = boost::move(moved); } { sharable_lock s_lock(mut); //This calls unlock_sharable_and_lock_upgradable() - upgradable_lock u_lock(boost::interprocess::move(s_lock), try_to_lock); + upgradable_lock u_lock(boost::move(s_lock), try_to_lock); } { sharable_lock s_lock(mut); //This calls unlock_sharable_and_lock_upgradable() upgradable_lock u_lock(mut2); - upgradable_lock moved(boost::interprocess::move(s_lock), try_to_lock); - u_lock = boost::interprocess::move(moved); + upgradable_lock moved(boost::move(s_lock), try_to_lock); + u_lock = boost::move(moved); } { scoped_lock e_lock(mut); //This calls unlock_and_lock_upgradable() - upgradable_lock u_lock(boost::interprocess::move(e_lock)); + upgradable_lock u_lock(boost::move(e_lock)); } { scoped_lock e_lock(mut); //This calls unlock_and_lock_upgradable() upgradable_lock u_lock(mut2); - upgradable_lock moved(boost::interprocess::move(e_lock)); - u_lock = boost::interprocess::move(moved); + upgradable_lock moved(boost::move(e_lock)); + u_lock = boost::move(moved); } //Conversions to sharable_lock { sharable_lock lock(mut); - sharable_lock s_lock(boost::interprocess::move(lock)); + sharable_lock s_lock(boost::move(lock)); lock.swap(s_lock); } { sharable_lock lock(mut); sharable_lock s_lock(mut2); - sharable_lock moved(boost::interprocess::move(lock)); - s_lock = boost::interprocess::move(moved); + sharable_lock moved(boost::move(lock)); + s_lock = boost::move(moved); } { upgradable_lock u_lock(mut); //This calls unlock_upgradable_and_lock_sharable() - sharable_lock s_lock(boost::interprocess::move(u_lock)); + sharable_lock s_lock(boost::move(u_lock)); } { upgradable_lock u_lock(mut); //This calls unlock_upgradable_and_lock_sharable() sharable_lock s_lock(mut2); - sharable_lock moved(boost::interprocess::move(u_lock)); - s_lock = boost::interprocess::move(moved); + sharable_lock moved(boost::move(u_lock)); + s_lock = boost::move(moved); } { scoped_lock e_lock(mut); //This calls unlock_and_lock_sharable() - sharable_lock s_lock(boost::interprocess::move(e_lock)); + sharable_lock s_lock(boost::move(e_lock)); } { scoped_lock e_lock(mut); //This calls unlock_and_lock_sharable() sharable_lock s_lock(mut2); - sharable_lock moved(boost::interprocess::move(e_lock)); - s_lock = boost::interprocess::move(moved); + sharable_lock moved(boost::move(e_lock)); + s_lock = boost::move(moved); } } diff --git a/test/user_buffer_test.cpp b/test/user_buffer_test.cpp index 34ddeae..b089609 100644 --- a/test/user_buffer_test.cpp +++ b/test/user_buffer_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -60,17 +60,17 @@ int main () { //Now test move semantics managed_heap_memory original(memsize); - managed_heap_memory move_ctor(boost::interprocess::move(original)); + managed_heap_memory move_ctor(boost::move(original)); managed_heap_memory move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); original.swap(move_assign); } { //Now test move semantics managed_external_buffer original(create_only, static_buffer, memsize); - managed_external_buffer move_ctor(boost::interprocess::move(original)); + managed_external_buffer move_ctor(boost::move(original)); managed_external_buffer move_assign; - move_assign = boost::interprocess::move(move_ctor); + move_assign = boost::move(move_ctor); original.swap(move_assign); } @@ -83,13 +83,13 @@ int main () //Test move semantics { wmanaged_external_buffer user_default; - wmanaged_external_buffer temp_external(boost::interprocess::move(user_buffer)); - user_default = boost::interprocess::move(temp_external); - user_buffer = boost::interprocess::move(user_default); + wmanaged_external_buffer temp_external(boost::move(user_buffer)); + user_default = boost::move(temp_external); + user_buffer = boost::move(user_default); wmanaged_heap_memory heap_default; - wmanaged_heap_memory temp_heap(boost::interprocess::move(heap_buffer)); - heap_default = boost::interprocess::move(temp_heap); - heap_buffer = boost::interprocess::move(heap_default); + wmanaged_heap_memory temp_heap(boost::move(heap_buffer)); + heap_default = boost::move(temp_heap); + heap_buffer = boost::move(heap_default); } //Initialize memory diff --git a/test/util.hpp b/test/util.hpp index fa52d0c..18cda96 100644 --- a/test/util.hpp +++ b/test/util.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -22,9 +22,8 @@ #define BOOST_INTERPROCESS_TEST_UTIL_HEADER #include -#include -#include #include +#include #include #include @@ -32,21 +31,14 @@ #include #include -#ifndef DEFAULT_EXECUTION_MONITOR_TYPE -# define DEFAULT_EXECUTION_MONITOR_TYPE execution_monitor::use_condition -#endif - namespace boost { namespace interprocess { namespace test { inline void sleep(const boost::posix_time::ptime &xt) { - boost::interprocess::interprocess_mutex mx; - boost::interprocess::scoped_lock - lock(mx); - boost::interprocess::interprocess_condition cond; - cond.timed_wait(lock, xt); + boost::interprocess::ipcdetail::thread_sleep + ((xt - microsec_clock::universal_time()).total_milliseconds()); } inline boost::posix_time::ptime delay(int secs, int msecs=0, int nsecs = 0) diff --git a/test/vector_test.cpp b/test/vector_test.cpp index ed8bada..0111b32 100644 --- a/test/vector_test.cpp +++ b/test/vector_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -28,10 +28,6 @@ using namespace boost::interprocess; -//Explicit instantiation to detect compilation errors -template class boost::interprocess::vector >; - int test_expand_bwd() { //Now test all back insertion possibilities @@ -67,29 +63,8 @@ int test_expand_bwd() return 0; } -class recursive_vector -{ - public: - int id_; - vector vector_; -}; - -void recursive_vector_test()//Test for recursive types -{ - vector recursive_vector_vector; -} - int main() { - recursive_vector_test(); - { - //Now test move semantics - vector original; - vector move_ctor(boost::interprocess::move(original)); - vector move_assign; - move_assign = boost::interprocess::move(move_ctor); - move_assign.swap(original); - } typedef allocator ShmemAllocator; typedef vector MyVector; diff --git a/test/vector_test.hpp b/test/vector_test.hpp index 7c5ee1c..1948495 100644 --- a/test/vector_test.hpp +++ b/test/vector_test.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -53,18 +53,18 @@ bool copyable_only(V1 *shmvector, V2 *stdvector, boost::interprocess::ipcdetail: { IntType move_me(1); stdvector->insert(stdvector->begin()+size/2, 50, 1); - shmvector->insert(shmvector->begin()+size/2, 50, boost::interprocess::move(move_me)); + shmvector->insert(shmvector->begin()+size/2, 50, boost::move(move_me)); if(!test::CheckEqualContainers(shmvector, stdvector)) return false; } { IntType move_me(2); - shmvector->assign(shmvector->size()/2, boost::interprocess::move(move_me)); + shmvector->assign(shmvector->size()/2, boost::move(move_me)); stdvector->assign(stdvector->size()/2, 2); if(!test::CheckEqualContainers(shmvector, stdvector)) return false; } { IntType move_me(3); - shmvector->assign(shmvector->size()*3-1, boost::interprocess::move(move_me)); + shmvector->assign(shmvector->size()*3-1, boost::move(move_me)); stdvector->assign(stdvector->size()*3-1, 3); if(!test::CheckEqualContainers(shmvector, stdvector)) return false; } @@ -114,7 +114,7 @@ int vector_test() for(int i = 0; i < max; ++i){ IntType new_int(i); - shmvector->insert(shmvector->end(), boost::interprocess::move(new_int)); + shmvector->insert(shmvector->end(), boost::move(new_int)); stdvector->insert(stdvector->end(), i); if(!test::CheckEqualContainers(shmvector, stdvector)) return 1; } @@ -123,6 +123,7 @@ int vector_test() typename MyShmVector::iterator shmit(shmvector->begin()); typename MyStdVector::iterator stdit(stdvector->begin()); typename MyShmVector::const_iterator cshmit = shmit; + (void)cshmit; ++shmit; ++stdit; shmvector->erase(shmit); stdvector->erase(stdit); @@ -138,7 +139,7 @@ int vector_test() for(int i = 0; i < 50; ++i){ IntType new_int(-1); //BOOST_STATIC_ASSERT((::boost::move_ipcdetail::is_copy_constructible::value == false)); - aux_vect[i] = boost::interprocess::move(new_int); + aux_vect[i] = boost::move(new_int); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -161,7 +162,7 @@ int vector_test() IntType aux_vect[50]; for(int i = 0; i < 50; ++i){ IntType new_int(-1); - aux_vect[i] = boost::interprocess::move(new_int); + aux_vect[i] = boost::move(new_int); } int aux_vect2[50]; for(int i = 0; i < 50; ++i){ @@ -179,7 +180,7 @@ int vector_test() if(!test::CheckEqualContainers(shmvector, stdvector)) return 1; IntType push_back_this(1); - shmvector->push_back(boost::interprocess::move(push_back_this)); + shmvector->push_back(boost::move(push_back_this)); stdvector->push_back(int(1)); shmvector->push_back(IntType(1)); stdvector->push_back(int(1)); @@ -196,7 +197,7 @@ int vector_test() for(int i = 0; i < max; ++i){ IntType insert_this(i); - shmvector->insert(shmvector->begin(), boost::interprocess::move(insert_this)); + shmvector->insert(shmvector->begin(), boost::move(insert_this)); stdvector->insert(stdvector->begin(), i); shmvector->insert(shmvector->begin(), IntType(i)); stdvector->insert(stdvector->begin(), int(i)); diff --git a/test/vectorstream_test.cpp b/test/vectorstream_test.cpp index efec5a5..ca72452 100644 --- a/test/vectorstream_test.cpp +++ b/test/vectorstream_test.cpp @@ -18,7 +18,6 @@ #include #include #include -#include #include using namespace boost::interprocess; diff --git a/test/windows_shared_memory_mapping_test.cpp b/test/windows_shared_memory_mapping_test.cpp index 842b406..5dd9024 100644 --- a/test/windows_shared_memory_mapping_test.cpp +++ b/test/windows_shared_memory_mapping_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/windows_shared_memory_test.cpp b/test/windows_shared_memory_test.cpp index d132a3f..84bae98 100644 --- a/test/windows_shared_memory_test.cpp +++ b/test/windows_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -33,7 +33,7 @@ static const char *name_initialization_routine() static const std::size_t ShmSize = 1000; typedef ipcdetail::managed_open_or_create_impl - windows_shared_memory_t; + windows_shared_memory_t; //This wrapper is necessary to have a common constructor //in generic named_creation_template functions diff --git a/test/xsi_shared_memory_mapping_test.cpp b/test/xsi_shared_memory_mapping_test.cpp index c540ac7..2520c29 100644 --- a/test/xsi_shared_memory_mapping_test.cpp +++ b/test/xsi_shared_memory_mapping_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2009. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //