An Optional<T> is pod-like if the inner type is.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 22 Feb 2013 18:58:26 +0000 (18:58 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 22 Feb 2013 18:58:26 +0000 (18:58 +0000)
llvm-svn: 175908

llvm/include/llvm/ADT/Optional.h

index fd1da74..81d73ed 100644 (file)
@@ -142,6 +142,12 @@ template <typename T>
 struct simplify_type<Optional<T> >
   : public simplify_type<const Optional<T> > {};
 
+template <typename T> struct isPodLike;
+template <typename T> struct isPodLike<Optional<T> > {
+  // An Optional<T> is pod-like if T is.
+  static const bool value = isPodLike<T>::value;
+};
+
 /// \brief Poison comparison between two \c Optional objects. Clients needs to
 /// explicitly compare the underlying values and account for empty \c Optional
 /// objects.