summaryrefslogtreecommitdiffstats
path: root/Utilities/std/cmext
diff options
context:
space:
mode:
authorKitware Robot <kwrobot@kitware.com>2020-08-29 20:27:37 (GMT)
committerKyle Edwards <kyle.edwards@kitware.com>2020-09-03 13:30:21 (GMT)
commitbdca8b01d2d96d63e685e7eca03e0f51f5410fdf (patch)
treef7e14aa6967bd3981b0bff21c4f0e113de275fb3 /Utilities/std/cmext
parent093ba4061da68d8c86a09b3631767912ffb183e2 (diff)
downloadCMake-bdca8b01d2d96d63e685e7eca03e0f51f5410fdf.zip
CMake-bdca8b01d2d96d63e685e7eca03e0f51f5410fdf.tar.gz
CMake-bdca8b01d2d96d63e685e7eca03e0f51f5410fdf.tar.bz2
Modernize: Use #pragma once in all header files
#pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
Diffstat (limited to 'Utilities/std/cmext')
-rw-r--r--Utilities/std/cmext/algorithm5
-rw-r--r--Utilities/std/cmext/iterator5
-rw-r--r--Utilities/std/cmext/memory5
-rw-r--r--Utilities/std/cmext/string_view5
-rw-r--r--Utilities/std/cmext/type_traits5
5 files changed, 5 insertions, 20 deletions
diff --git a/Utilities/std/cmext/algorithm b/Utilities/std/cmext/algorithm
index 251c89a..11514fc 100644
--- a/Utilities/std/cmext/algorithm
+++ b/Utilities/std/cmext/algorithm
@@ -3,8 +3,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#ifndef cmext_algorithm
-#define cmext_algorithm
+#pragma once
#include <algorithm>
#include <iterator>
@@ -247,5 +246,3 @@ bool contains(Range const& range, Key const& key)
#endif
} // namespace cm
-
-#endif
diff --git a/Utilities/std/cmext/iterator b/Utilities/std/cmext/iterator
index ce9462f..83d7890 100644
--- a/Utilities/std/cmext/iterator
+++ b/Utilities/std/cmext/iterator
@@ -3,8 +3,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#ifndef cmext_iterator
-#define cmext_iterator
+#pragma once
#include <iterator>
@@ -47,5 +46,3 @@ using is_input_range =
#endif
} // namespace cm
-
-#endif
diff --git a/Utilities/std/cmext/memory b/Utilities/std/cmext/memory
index fa326f0..3681d97 100644
--- a/Utilities/std/cmext/memory
+++ b/Utilities/std/cmext/memory
@@ -3,8 +3,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#ifndef cmext_memory
-#define cmext_memory
+#pragma once
#include <typeinfo>
@@ -37,5 +36,3 @@ T& dynamic_reference_cast(O& item)
}
} // namespace cm
-
-#endif
diff --git a/Utilities/std/cmext/string_view b/Utilities/std/cmext/string_view
index ad52b11..369cc90 100644
--- a/Utilities/std/cmext/string_view
+++ b/Utilities/std/cmext/string_view
@@ -3,8 +3,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#ifndef cmext_string_view
-#define cmext_string_view
+#pragma once
#include <cstddef>
@@ -38,5 +37,3 @@ inline static_string_view operator"" _s(const char* data, size_t size)
} // namespace cm
using cm::operator"" _s;
-
-#endif
diff --git a/Utilities/std/cmext/type_traits b/Utilities/std/cmext/type_traits
index f02b488..4468e31 100644
--- a/Utilities/std/cmext/type_traits
+++ b/Utilities/std/cmext/type_traits
@@ -3,8 +3,7 @@
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
file Copyright.txt or https://cmake.org/licensing for details. */
-#ifndef cmext_type_traits
-#define cmext_type_traits
+#pragma once
#include <memory>
@@ -84,5 +83,3 @@ using is_sequence_container =
!cm::is_unordered_associative_container<T>::value>;
} // namespace cm
-
-#endif