Simplify array_deleter interface

[SVN r81237]
This commit is contained in:
Glen Fernandes
2012-11-07 18:58:41 +00:00
parent 5d9312239c
commit 89190ca17e

View File

@ -23,23 +23,23 @@ namespace boost {
~array_deleter() {
destroy();
}
void construct(void* memory, std::size_t count) {
for (object = static_cast<T*>(memory); size < count; size++) {
void construct(T* memory, std::size_t count) {
for (object = memory; size < count; size++) {
void* p1 = object + size;
::new(p1) T();
}
}
#if defined(BOOST_HAS_VARIADIC_TMPL) && defined(BOOST_HAS_RVALUE_REFS)
template<typename... Args>
void construct(void* memory, std::size_t count, Args&&... args) {
for (object = static_cast<T*>(memory); size < count; size++) {
void construct(T* memory, std::size_t count, Args&&... args) {
for (object = memory; size < count; size++) {
void* p1 = object + size;
::new(p1) T(args...);
}
}
#endif
void construct_noinit(void* memory, std::size_t count) {
for (object = static_cast<T*>(memory); size < count; size++) {
void construct_noinit(T* memory, std::size_t count) {
for (object = memory; size < count; size++) {
void* p1 = object + size;
::new(p1) T;
}