/*
- * Copyright 2016 Facebook, Inc.
+ * Copyright 2017 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*/
-#ifndef FOLLY_TUPLEOPS_H_
-#define FOLLY_TUPLEOPS_H_
+#pragma once
#include <limits>
#include <tuple>
// where k = min(tuple_size<T>::value - start, n)
// (that is, it's a TemplateSeq of at most n elements, but won't extend
// past the end of the given tuple)
-template <class T,
- std::size_t start = 0,
- std::size_t n = std::numeric_limits<std::size_t>::max(),
- std::size_t size =
- std::tuple_size<typename std::remove_reference<T>::type>::value,
- class Enable = typename std::enable_if<(start <= size)>::type>
+template <
+ class T,
+ std::size_t start = 0,
+ std::size_t n = std::numeric_limits<std::size_t>::max(),
+ std::size_t size =
+ std::tuple_size<typename std::remove_reference<T>::type>::value,
+ class Enable = typename std::enable_if<(start <= size)>::type>
struct TemplateTupleRange {
using type = typename TemplateRange<
std::size_t,
}
};
-} // namespace detail
+} // namespace detail
// Return a tuple consisting of the elements at a range of indices.
//
std::forward<U>(cdr));
}
-} // namespaces
-
-#endif /* FOLLY_TUPLEOPS_H_ */
+} // namespace folly