X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;ds=inline;f=folly%2Fsmall_vector.h;h=67f18108b0c7b7dc37d08af0f331e57d954c6812;hb=3e19d28a142149241d81c5e736aa4117fe7cbec8;hp=b8009b018acf4e1231fc20a13a772ce71518a24c;hpb=2c62efc80d48c20d4ae6bad40997363dc6dcf544;p=folly.git diff --git a/folly/small_vector.h b/folly/small_vector.h index b8009b01..67f18108 100644 --- a/folly/small_vector.h +++ b/folly/small_vector.h @@ -45,13 +45,13 @@ #include #include -#include #include #include -#include #include #include #include +#include +#include #include #include #include @@ -378,7 +378,7 @@ T* pointerFlagClear(T* p) { inline void* shiftPointer(void* p, size_t sizeBytes) { return static_cast(p) + sizeBytes; } -} +} // namespace detail ////////////////////////////////////////////////////////////////////// FOLLY_PACK_PUSH @@ -413,6 +413,7 @@ class small_vector : public detail::small_vector_base< typedef value_type& reference; typedef value_type const& const_reference; typedef value_type* iterator; + typedef value_type* pointer; typedef value_type const* const_iterator; typedef std::ptrdiff_t difference_type; @@ -420,6 +421,9 @@ class small_vector : public detail::small_vector_base< typedef std::reverse_iterator const_reverse_iterator; small_vector() = default; + // Allocator is unused here. It is taken in for compatibility with std::vector + // interface, but it will be ignored. + small_vector(const std::allocator&) {} small_vector(small_vector const& o) { auto n = o.size(); @@ -1137,7 +1141,7 @@ class small_vector : public detail::small_vector_base< union Data { explicit Data() { - pdata_.heap_ = 0; + pdata_.heap_ = nullptr; } PointerType pdata_;