diff options
author | Adam Midvidy <amidvidy@gmail.com> | 2014-09-23 10:46:49 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2014-09-24 09:45:44 -0400 |
commit | 2a342fcbbddbf13bc18e5cf36dee2bd35711b8bb (patch) | |
tree | ec741b67ff5b2459429611bd476d8af401e1b2e0 /src/mongo | |
parent | 2ce51c8e0d4bf84589bffa87e59f2401578c2572 (diff) | |
download | mongo-2a342fcbbddbf13bc18e5cf36dee2bd35711b8bb.tar.gz |
SERVER-15331 don't let readNative be used on non-POD types either
Closes #791
Signed-off-by: Benety Goh <benety@mongodb.com>
Diffstat (limited to 'src/mongo')
-rw-r--r-- | src/mongo/base/data_view.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/base/data_view.h b/src/mongo/base/data_view.h index c7fca719840..9b3bf3aa727 100644 --- a/src/mongo/base/data_view.h +++ b/src/mongo/base/data_view.h @@ -52,6 +52,10 @@ namespace mongo { template<typename T> const ConstDataView& readNative(T* t, size_t offset = 0) const { +#if MONGO_HAVE_STD_IS_TRIVIALLY_COPYABLE + static_assert(std::is_trivially_copyable<T>::value, + "Type for DataView::readNative must be trivially copyable"); +#endif std::memcpy(t, view(offset), sizeof(*t)); return *this; } |