base/parameter_pack.h Document __type_pack_element

Adds a comment documenting __type_pack_element

Change-Id: Id3ee1203a7b63f7e0805e0a6f331b4f33162a724
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1525938
Auto-Submit: Alex Clarke <alexclarke@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Alex Clarke <alexclarke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641549}
diff --git a/base/parameter_pack.h b/base/parameter_pack.h
index 95a6f6b5..8fec8fba 100644
--- a/base/parameter_pack.h
+++ b/base/parameter_pack.h
@@ -91,6 +91,9 @@
   // Helper for extracting the Nth type from a parameter pack.
   template <size_t N>
 #if defined(__clang__) && !defined(OS_NACL)
+  // A clang extension which efficiently returns the Nth type from a pack. This
+  // is faster to compile than std::tuple_element<>.
+  // See: https://ldionne.com/2015/11/29/efficient-parameter-pack-indexing/
   using NthType = __type_pack_element<N, Ts...>;
 #else
   using NthType = typename std::tuple_element<N, std::tuple<Ts...>>::type;