mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-24 00:49:47 +02:00
Removed redundant try-catch, zone's constructor never throw.
In the C++11 version, added noexcept. In the C++03 version, added throw() as comments because actual throw() introduces some overhead. Untabified.
This commit is contained in:
@@ -149,7 +149,7 @@ private:
|
|||||||
finalizer_array finalizer_array_;
|
finalizer_array finalizer_array_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE);
|
zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE) noexcept;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static zone* create(size_t chunk_size);
|
static zone* create(size_t chunk_size);
|
||||||
@@ -185,13 +185,7 @@ inline zone* zone::create(size_t chunk_size)
|
|||||||
if (!z) {
|
if (!z) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
new (z) zone(chunk_size);
|
new (z) zone(chunk_size);
|
||||||
}
|
|
||||||
catch (...) {
|
|
||||||
::free(z);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -201,7 +195,7 @@ inline void zone::destroy(zone* z)
|
|||||||
::free(z);
|
::free(z);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline zone::zone(size_t chunk_size):chunk_size_(chunk_size), chunk_list_(chunk_size_)
|
inline zone::zone(size_t chunk_size) noexcept:chunk_size_(chunk_size), chunk_list_(chunk_size_)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ class zone {
|
|||||||
finalizer_array finalizer_array_;
|
finalizer_array finalizer_array_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE);
|
zone(size_t chunk_size = MSGPACK_ZONE_CHUNK_SIZE) /* throw() */;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static zone* create(size_t chunk_size);
|
static zone* create(size_t chunk_size);
|
||||||
@@ -187,13 +187,7 @@ inline zone* zone::create(size_t chunk_size)
|
|||||||
if (!z) {
|
if (!z) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
try {
|
|
||||||
new (z) zone(chunk_size);
|
new (z) zone(chunk_size);
|
||||||
}
|
|
||||||
catch (...) {
|
|
||||||
::free(z);
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
return z;
|
return z;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,7 +197,7 @@ inline void zone::destroy(zone* z)
|
|||||||
::free(z);
|
::free(z);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline zone::zone(size_t chunk_size):chunk_size_(chunk_size), chunk_list_(chunk_size_)
|
inline zone::zone(size_t chunk_size) /* throw() */ :chunk_size_(chunk_size), chunk_list_(chunk_size_)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -307,4 +301,3 @@ T* zone::allocate(<%=(1..i).map{|j|"A#{j} a#{j}"}.join(', ')%>)
|
|||||||
} // namespace msgpack
|
} // namespace msgpack
|
||||||
|
|
||||||
#endif /* msgpack/zone.hpp */
|
#endif /* msgpack/zone.hpp */
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user