summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorAdam Midvidy <amidvidy@gmail.com>2014-09-23 10:46:49 -0400
committerBenety Goh <benety@mongodb.com>2014-09-24 09:45:44 -0400
commit2a342fcbbddbf13bc18e5cf36dee2bd35711b8bb (patch)
treeec741b67ff5b2459429611bd476d8af401e1b2e0 /src/mongo
parent2ce51c8e0d4bf84589bffa87e59f2401578c2572 (diff)
downloadmongo-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.h4
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;
}