X-Git-Url: http://xvm.mit.edu/gitweb/invirt/third/libt4.git/blobdiff_plain/46fb2b4bbe3a0a8516ab04cfafa895a882c70f86..5d99dbf06a14904944f5593c63705934bdfdcfb7:/types.h diff --git a/types.h b/types.h index e6b5895..e78186c 100644 --- a/types.h +++ b/types.h @@ -50,6 +50,7 @@ using std::ostream; using std::istream; using std::ostream_iterator; using std::istream_iterator; +using std::ios; #include using std::numeric_limits; @@ -77,6 +78,11 @@ using std::stoi; #include using std::thread; +using std::call_once; +using std::once_flag; +namespace this_thread { + using namespace std::this_thread; +} #include using std::tuple; @@ -92,10 +98,12 @@ using std::is_member_function_pointer; using std::is_same; using std::underlying_type; using std::enable_if; +using std::remove_reference; #include using std::pair; using std::declval; +using std::forward; #include using std::vector; @@ -145,4 +153,21 @@ LEXICOGRAPHIC_OPERATOR(_c_, <) LEXICOGRAPHIC_OPERATOR(_c_, <=) \ LEXICOGRAPHIC_OPERATOR(_c_, >) LEXICOGRAPHIC_OPERATOR(_c_, >=) \ LEXICOGRAPHIC_OPERATOR(_c_, ==) LEXICOGRAPHIC_OPERATOR(_c_, !=) +// The following implementation of tuple_indices is redistributed under the MIT +// License as an insubstantial portion of the LLVM compiler infrastructure. + +template struct tuple_indices {}; +template struct make_indices_imp; +template struct make_indices_imp, E> { + typedef typename make_indices_imp, E>::type type; +}; +template struct make_indices_imp, E> { + typedef tuple_indices type; +}; +template struct make_tuple_indices { + typedef typename make_indices_imp, E>::type type; +}; + +#include "endian.h" + #endif