diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-02-05 09:46:23 -0800 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-02-05 09:46:23 -0800 |
commit | dabc5d57bf473708295800a7991bc1fafdf76288 (patch) | |
tree | 9dfb8313596dd61e2c600cf02548b191f9753daf /third_party/base/template_util.h | |
parent | 7061d1af45752617fafa85e2242dc5b2844650b5 (diff) | |
download | pdfium-dabc5d57bf473708295800a7991bc1fafdf76288.tar.xz |
Add namespace and-re-arrange PDFium's local copy of chromium /base.
Any projects DEPS'd into chromium and requiring a /base
subset should have a local copy of that subset in a
separate namespace. This will avoid future naming conflicts.
Re-arrange the directory structure to better identify what
came from chromium's base, and to make drop-in replacement
easier for files that contain hard-coded "base/" in their
#include directives.
R=jam@chromium.org
Review URL: https://codereview.chromium.org/900753002
Diffstat (limited to 'third_party/base/template_util.h')
-rw-r--r-- | third_party/base/template_util.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/third_party/base/template_util.h b/third_party/base/template_util.h new file mode 100644 index 0000000000..ab660940f0 --- /dev/null +++ b/third_party/base/template_util.h @@ -0,0 +1,35 @@ +// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef PDFIUM_THIRD_PARTY_BASE_TEMPLATE_UTIL_H_ +#define PDFIUM_THIRD_PARTY_BASE_TEMPLATE_UTIL_H_ + +#include <cstddef> // For size_t. + +namespace pdfium { +namespace base { + +template<class T, T v> +struct integral_constant { + static const T value = v; + typedef T value_type; + typedef integral_constant<T, v> type; +}; + +typedef integral_constant<bool, true> true_type; +typedef integral_constant<bool, false> false_type; + +template <class T, class U> struct is_same : public false_type {}; +template <class T> struct is_same<T,T> : true_type {}; + +template<bool B, class T = void> +struct enable_if {}; + +template<class T> +struct enable_if<true, T> { typedef T type; }; + +} // namespace base +} // namespace pdfium + +#endif // PDFIUM_THIRD_PARTY_BASE_TEMPLATE_UTIL_H_ |