update boost

This commit is contained in:
2023-11-24 12:56:13 -06:00
parent cfc99971af
commit 19d727037a
9260 changed files with 849256 additions and 299957 deletions

View File

@@ -110,48 +110,48 @@ class basic_managed_memory_impl
typedef basic_managed_memory_impl
<CharType, MemoryAlgorithm, IndexType, Offset> self_t;
protected:
template<class ManagedMemory>
static bool grow(const char *filename, size_type extra_bytes)
template<class ManagedMemory, class CharT>
static bool grow(const CharT *filename, size_type extra_bytes)
{
typedef typename ManagedMemory::device_type device_type;
//Increase file size
try{
BOOST_TRY{
offset_t old_size;
{
device_type f(open_or_create, filename, read_write);
if(!f.get_size(old_size))
return false;
f.truncate(old_size + extra_bytes);
f.truncate(old_size + static_cast<offset_t>(extra_bytes));
}
ManagedMemory managed_memory(open_only, filename);
//Grow always works
managed_memory.self_t::grow(extra_bytes);
}
catch(...){
BOOST_CATCH(...){
return false;
}
} BOOST_CATCH_END
return true;
}
template<class ManagedMemory>
static bool shrink_to_fit(const char *filename)
template<class ManagedMemory, class CharT>
static bool shrink_to_fit(const CharT *filename)
{
typedef typename ManagedMemory::device_type device_type;
size_type new_size;
try{
BOOST_TRY{
ManagedMemory managed_memory(open_only, filename);
managed_memory.get_size();
managed_memory.self_t::shrink_to_fit();
new_size = managed_memory.get_size();
}
catch(...){
BOOST_CATCH(...){
return false;
}
} BOOST_CATCH_END
//Decrease file size
{
device_type f(open_or_create, filename, read_write);
f.truncate(new_size);
f.truncate(static_cast<offset_t>(new_size));
}
return true;
}
@@ -177,12 +177,12 @@ class basic_managed_memory_impl
//throw if constructor allocates memory. So we must catch it.
BOOST_TRY{
//Let's construct the allocator in memory
BOOST_ASSERT((0 == (std::size_t)addr % boost::move_detail::alignment_of<segment_manager>::value));
mp_header = ::new(addr, boost_container_new_t()) segment_manager(size);
}
BOOST_CATCH(...){
return false;
}
BOOST_CATCH_END
} BOOST_CATCH_END
return true;
}