Issue #100 remove auto_ptr and c++03 support.

Problem:
auto_ptr is deprecated.

Solution:
use unique_ptr which is only available in c++11 and newer.
Also fix how unit tests are run as part of the build to keep them from being
deleted when they fail.

Testing:
Unit tests on linux run.
This commit is contained in:
Dixon, Scott
2018-06-26 20:56:53 -07:00
parent dfcdf22eda
commit 4750a50099
15 changed files with 35 additions and 58 deletions
+2 -4
View File
@@ -3,8 +3,6 @@
*/
#if __GNUC__
// We need auto_ptr for compatibility reasons
# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
# pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
#endif
@@ -59,7 +57,7 @@ TEST(Map, Basic)
uavcan::PoolAllocator<uavcan::MemPoolBlockSize * POOL_BLOCKS, uavcan::MemPoolBlockSize> pool;
typedef Map<std::string, std::string> MapType;
std::auto_ptr<MapType> map(new MapType(pool));
std::unique_ptr<MapType> map(new MapType(pool));
// Empty
ASSERT_FALSE(map->access("hi"));
@@ -198,7 +196,7 @@ TEST(Map, PrimitiveKey)
uavcan::PoolAllocator<uavcan::MemPoolBlockSize * POOL_BLOCKS, uavcan::MemPoolBlockSize> pool;
typedef Map<short, short> MapType;
std::auto_ptr<MapType> map(new MapType(pool));
std::unique_ptr<MapType> map(new MapType(pool));
// Empty
ASSERT_FALSE(map->access(1));