diff options
author | kmartynkov <kmartynkov@yandex-team.ru> | 2022-02-10 16:46:21 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:46:21 +0300 |
commit | 097711d7a4756680acf65caaf38b43d832f7d3e9 (patch) | |
tree | 6bcd8314a437e0abeee48e691ebbede37cb0d3ec | |
parent | 637de640c39b46c13f29619057a54f4cf3e1241b (diff) | |
download | ydb-097711d7a4756680acf65caaf38b43d832f7d3e9.tar.gz |
Restoring authorship annotation for <kmartynkov@yandex-team.ru>. Commit 1 of 2.
24 files changed, 1620 insertions, 1620 deletions
diff --git a/build/external_resources/gradle/ya.make b/build/external_resources/gradle/ya.make index 579d41e50e..5cdba58f0b 100644 --- a/build/external_resources/gradle/ya.make +++ b/build/external_resources/gradle/ya.make @@ -2,10 +2,10 @@ RESOURCES_LIBRARY() OWNER(g:mapkit) -# Gradle 6.1.1 -# Build time: 2020-01-24 22:30:24 UTC -# Revision: a8c3750babb99d1894378073499d6716a1a1fa5d -DECLARE_EXTERNAL_RESOURCE(GRADLE sbr:2566840956) +# Gradle 6.1.1 +# Build time: 2020-01-24 22:30:24 UTC +# Revision: a8c3750babb99d1894378073499d6716a1a1fa5d +DECLARE_EXTERNAL_RESOURCE(GRADLE sbr:2566840956) DECLARE_EXTERNAL_RESOURCE(GRADLE_DEBUG_STORE sbr:1192738881) END() diff --git a/build/external_resources/mapsmobi_ios_pods/ya.make b/build/external_resources/mapsmobi_ios_pods/ya.make index a733c6beb4..c0ab2a3dae 100644 --- a/build/external_resources/mapsmobi_ios_pods/ya.make +++ b/build/external_resources/mapsmobi_ios_pods/ya.make @@ -3,7 +3,7 @@ RESOURCES_LIBRARY() OWNER(g:mapkit) IF (OS_IOS) - DECLARE_EXTERNAL_RESOURCE(MAPSMOBI_IOS_PODS sbr:2586181384) + DECLARE_EXTERNAL_RESOURCE(MAPSMOBI_IOS_PODS sbr:2586181384) CFLAGS(GLOBAL "-I$MAPSMOBI_IOS_PODS_RESOURCE_GLOBAL/Pods/Headers/Public") ELSE() MESSAGE(FATAL_ERROR Unsupported platform) diff --git a/build/external_resources/mapsmobi_maven_repo/ya.make b/build/external_resources/mapsmobi_maven_repo/ya.make index 2487263d6b..48ffccb969 100644 --- a/build/external_resources/mapsmobi_maven_repo/ya.make +++ b/build/external_resources/mapsmobi_maven_repo/ya.make @@ -3,7 +3,7 @@ RESOURCES_LIBRARY() OWNER(g:mapkit) IF (OS_ANDROID) - DECLARE_EXTERNAL_RESOURCE(MAPSMOBI_MAVEN_REPO sbr:2586526945) + DECLARE_EXTERNAL_RESOURCE(MAPSMOBI_MAVEN_REPO sbr:2586526945) ELSE() MESSAGE(FATAL_ERROR Unsupported platform) ENDIF() diff --git a/build/platform/ios_sdk/ya.make b/build/platform/ios_sdk/ya.make index b1246a70b9..2054370aaf 100644 --- a/build/platform/ios_sdk/ya.make +++ b/build/platform/ios_sdk/ya.make @@ -4,12 +4,12 @@ OWNER(somov) SET(NEED_PLATFORM_PEERDIRS no) -IF (OS_IOS AND NOT OS_IOSSIM) - # iOS 14.5 SDK / Xcode 12.5.1 (12E507) - DECLARE_EXTERNAL_RESOURCE(IOS_SDK_ROOT sbr:2661782168) -ELSEIF (OS_IOSSIM) - # iOS Simulator 14.5 SDK / Xcode 12.5.1 (12E507) - DECLARE_EXTERNAL_RESOURCE(IOS_SDK_ROOT sbr:2661786760) +IF (OS_IOS AND NOT OS_IOSSIM) + # iOS 14.5 SDK / Xcode 12.5.1 (12E507) + DECLARE_EXTERNAL_RESOURCE(IOS_SDK_ROOT sbr:2661782168) +ELSEIF (OS_IOSSIM) + # iOS Simulator 14.5 SDK / Xcode 12.5.1 (12E507) + DECLARE_EXTERNAL_RESOURCE(IOS_SDK_ROOT sbr:2661786760) ELSE() MESSAGE(FATAL_ERROR "There is no iOS SDK for the selected target platform") ENDIF() diff --git a/build/platform/mapkit/ya.make b/build/platform/mapkit/ya.make index 513dff5bcf..861cacbf8b 100644 --- a/build/platform/mapkit/ya.make +++ b/build/platform/mapkit/ya.make @@ -8,11 +8,11 @@ IF (OS_ANDROID) IF (MAPS_MOBILE_EXPORT_CPP_API) # Sandbox Resource ID duplicates # arcadia/sandbox/projects/maps/mobile/MapsMobileMakeArtifacts/__init__.py - DECLARE_EXTERNAL_RESOURCE(MAPKIT_ANDROID_LIBCXX_HEADERS sbr:2527848662) + DECLARE_EXTERNAL_RESOURCE(MAPKIT_ANDROID_LIBCXX_HEADERS sbr:2527848662) CFLAGS(GLOBAL -nostdinc++ GLOBAL -cxx-isystem GLOBAL $MAPKIT_ANDROID_LIBCXX_HEADERS_RESOURCE_GLOBAL) ENDIF() - DECLARE_EXTERNAL_RESOURCE(MAPKIT_ANDROID_LIBCXX_LIBRARIES sbr:2527853263) + DECLARE_EXTERNAL_RESOURCE(MAPKIT_ANDROID_LIBCXX_LIBRARIES sbr:2527853263) IF (ARCH_ARM7) SET(ARCH_NAME arm) diff --git a/build/scripts/gen_aar_gradle_script.py b/build/scripts/gen_aar_gradle_script.py index 4594e67278..b9da55266f 100644 --- a/build/scripts/gen_aar_gradle_script.py +++ b/build/scripts/gen_aar_gradle_script.py @@ -80,7 +80,7 @@ buildscript {{ }} dependencies {{ - classpath 'com.android.tools.build:gradle:4.0.2' + classpath 'com.android.tools.build:gradle:4.0.2' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' }} }} @@ -143,13 +143,13 @@ android {{ compileOnly(bundle) }} - android.libraryVariants.all {{ variant -> - def suffix = variant.buildType.name.capitalize() - - def sourcesJarTask = project.tasks.create(name: "sourcesJar${{suffix}}", type: Jar) {{ - classifier = 'sources' - from android.sourceSets.main.java.srcDirs - include '**/*.java' + android.libraryVariants.all {{ variant -> + def suffix = variant.buildType.name.capitalize() + + def sourcesJarTask = project.tasks.create(name: "sourcesJar${{suffix}}", type: Jar) {{ + classifier = 'sources' + from android.sourceSets.main.java.srcDirs + include '**/*.java' eachFile {{ fcd -> def segments = fcd.relativePath.segments if (segments[0] == 'impl') {{ @@ -159,27 +159,27 @@ android {{ includeEmptyDirs = false }} - def manifestFile = android.sourceSets.main.manifest.srcFile - def manifestXml = new XmlParser().parse(manifestFile) + def manifestFile = android.sourceSets.main.manifest.srcFile + def manifestXml = new XmlParser().parse(manifestFile) - def packageName = manifestXml['@package'] + def packageName = manifestXml['@package'] def groupName = packageName.tokenize('.')[0..-2].join('.') - def androidNs = new groovy.xml.Namespace("http://schemas.android.com/apk/res/android") - def packageVersion = manifestXml.attributes()[androidNs.versionName] - - def writePomTask = project.tasks.create(name: "writePom${{suffix}}") {{ - pom {{ - project {{ - groupId groupName - version packageVersion - packaging 'aar' - }} - }}.writeTo("$buildDir/${{rootProject.name}}$packageSuffix-pom.xml") - }} - - tasks["bundle${{suffix}}Aar"].dependsOn sourcesJarTask - tasks["bundle${{suffix}}Aar"].dependsOn writePomTask + def androidNs = new groovy.xml.Namespace("http://schemas.android.com/apk/res/android") + def packageVersion = manifestXml.attributes()[androidNs.versionName] + + def writePomTask = project.tasks.create(name: "writePom${{suffix}}") {{ + pom {{ + project {{ + groupId groupName + version packageVersion + packaging 'aar' + }} + }}.writeTo("$buildDir/${{rootProject.name}}$packageSuffix-pom.xml") + }} + + tasks["bundle${{suffix}}Aar"].dependsOn sourcesJarTask + tasks["bundle${{suffix}}Aar"].dependsOn writePomTask }} android.libraryVariants.all {{ variant -> @@ -309,16 +309,16 @@ def gen_build_script(args): aars=wrap(args.aars), compile_only_aars=wrap(args.compile_only_aars), aidl_dirs=wrap(args.aidl_dirs), - assets_dirs=wrap(args.assets_dirs), + assets_dirs=wrap(args.assets_dirs), bundles=wrap(bundles), do_not_strip=do_not_strip, enable_javadoc=enable_javadoc, flat_dirs_repo=flat_dirs_repo, - java_dirs=wrap(args.java_dirs), + java_dirs=wrap(args.java_dirs), jni_libs_dirs=wrap(args.jni_libs_dirs), keystore=keystore, - manifest=args.manifest, - maven_repos=maven_repos, + manifest=args.manifest, + maven_repos=maven_repos, proguard_rules=args.proguard_rules, res_dirs=wrap(args.res_dirs), ) @@ -328,7 +328,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('--aars', nargs='*', default=[]) parser.add_argument('--compile-only-aars', nargs='*', default=[]) - parser.add_argument('--aidl-dirs', nargs='*', default=[]) + parser.add_argument('--aidl-dirs', nargs='*', default=[]) parser.add_argument('--assets-dirs', nargs='*', default=[]) parser.add_argument('--bundle-name', nargs='?', default='default-bundle-name') parser.add_argument('--bundles', nargs='*', default=[]) @@ -360,15 +360,15 @@ if __name__ == '__main__': args.build_gradle = os.path.join(args.output_dir, 'build.gradle') args.settings_gradle = os.path.join(args.output_dir, 'settings.gradle') - args.gradle_properties = os.path.join(args.output_dir, 'gradle.properties') + args.gradle_properties = os.path.join(args.output_dir, 'gradle.properties') content = gen_build_script(args) with open(args.build_gradle, 'w') as f: f.write(content) - with open(args.gradle_properties, 'w') as f: - f.write('android.useAndroidX=true') - + with open(args.gradle_properties, 'w') as f: + f.write('android.useAndroidX=true') + if args.bundle_name: with open(args.settings_gradle, 'w') as f: f.write('rootProject.name = "{}"'.format(args.bundle_name)) diff --git a/build/scripts/gen_test_apk_gradle_script.py b/build/scripts/gen_test_apk_gradle_script.py index d1a78ceb1c..1177070176 100644 --- a/build/scripts/gen_test_apk_gradle_script.py +++ b/build/scripts/gen_test_apk_gradle_script.py @@ -31,7 +31,7 @@ buildscript {{ }} dependencies {{ - classpath 'com.android.tools.build:gradle:3.5.3' + classpath 'com.android.tools.build:gradle:3.5.3' }} }} @@ -83,17 +83,17 @@ android {{ applicationVariants.all {{ variant -> variant.outputs.each {{ output -> - def fileName = "$projectDir/output/{app_id}.apk" - output.outputFileName = new File(output.outputFile.parent, fileName).getName() + def fileName = "$projectDir/output/{app_id}.apk" + output.outputFileName = new File(output.outputFile.parent, fileName).getName() }} }} dependencies {{ - implementation 'com.google.android.gms:play-services-location:16.0.0' - implementation 'com.google.android.gms:play-services-gcm:16.0.0' - implementation 'com.evernote:android-job:1.2.6' - implementation 'androidx.annotation:annotation:1.1.0' - implementation 'androidx.core:core:1.1.0' + implementation 'com.google.android.gms:play-services-location:16.0.0' + implementation 'com.google.android.gms:play-services-gcm:16.0.0' + implementation 'com.evernote:android-job:1.2.6' + implementation 'androidx.annotation:annotation:1.1.0' + implementation 'androidx.core:core:1.1.0' }} }} """ @@ -173,17 +173,17 @@ if __name__ == '__main__': args.build_gradle = os.path.join(args.output_dir, 'build.gradle') args.settings_gradle = os.path.join(args.output_dir, 'settings.gradle') - args.gradle_properties = os.path.join(args.output_dir, 'gradle.properties') + args.gradle_properties = os.path.join(args.output_dir, 'gradle.properties') content = gen_build_script(args) with open(args.build_gradle, 'w') as f: f.write(content) - with open(args.gradle_properties, 'w') as f: - f.write('''android.enableJetifier=true - android.useAndroidX=true - org.gradle.jvmargs=-Xmx8192m -XX:MaxPermSize=512m''') - + with open(args.gradle_properties, 'w') as f: + f.write('''android.enableJetifier=true + android.useAndroidX=true + org.gradle.jvmargs=-Xmx8192m -XX:MaxPermSize=512m''') + if args.bundle_name: with open(args.settings_gradle, 'w') as f: f.write('rootProject.name = "{}"'.format(args.bundle_name)) diff --git a/build/ymake_conf.py b/build/ymake_conf.py index 30219eb85e..d5ea94adb9 100755 --- a/build/ymake_conf.py +++ b/build/ymake_conf.py @@ -95,9 +95,9 @@ class Platform(object): self.is_macos = self.os == 'macos' self.is_macos_x86_64 = self.is_macos and self.is_x86_64 self.is_macos_arm64 = self.is_macos and self.is_arm64 - self.is_iossim = self.os == 'iossim' or (self.os == 'ios' and self.is_intel) - self.is_ios = self.os == 'ios' or self.is_iossim - self.is_apple = self.is_macos or self.is_ios + self.is_iossim = self.os == 'iossim' or (self.os == 'ios' and self.is_intel) + self.is_ios = self.os == 'ios' or self.is_iossim + self.is_apple = self.is_macos or self.is_ios self.is_windows = self.os == 'windows' self.is_windows_x86_64 = self.is_windows and self.is_x86_64 @@ -141,7 +141,7 @@ class Platform(object): if self.is_iossim: yield 'IOS' yield 'OS_IOS' - yield 'OS_IOSSIM' + yield 'OS_IOSSIM' @property def arch_variables(self): @@ -1129,21 +1129,21 @@ class GnuToolchain(Toolchain): for lib_path in build.host.library_path_variables: self.env.setdefault(lib_path, []).append('{}/lib'.format(self.tc.name_marker)) - macos_version_min = '10.11' - macos_arm64_version_min = '11.0' - ios_version_min = '11.0' - # min ios simulator version for Metal App is 13.0 - # https://developer.apple.com/documentation/metal/supporting_simulator_in_a_metal_app - # Mapkit (MAPSMOBI_BUILD_TARGET) uses Metal Framework - if preset('MAPSMOBI_BUILD_TARGET') and target.is_iossim and target.is_armv8: - ios_version_min = '13.0' - + macos_version_min = '10.11' + macos_arm64_version_min = '11.0' + ios_version_min = '11.0' + # min ios simulator version for Metal App is 13.0 + # https://developer.apple.com/documentation/metal/supporting_simulator_in_a_metal_app + # Mapkit (MAPSMOBI_BUILD_TARGET) uses Metal Framework + if preset('MAPSMOBI_BUILD_TARGET') and target.is_iossim and target.is_armv8: + ios_version_min = '13.0' + swift_target = select(default=None, selectors=[ - (target.is_iossim and target.is_x86_64, 'x86_64-apple-ios{}-simulator'.format(ios_version_min)), - (target.is_iossim and target.is_x86, 'i386-apple-ios{}-simulator'.format(ios_version_min)), - (target.is_iossim and target.is_armv8, 'arm64-apple-ios{}-simulator'.format(ios_version_min)), - (not target.is_iossim and target.is_ios and target.is_armv8, 'arm64-apple-ios9'), - (not target.is_iossim and target.is_ios and target.is_armv7, 'armv7-apple-ios9'), + (target.is_iossim and target.is_x86_64, 'x86_64-apple-ios{}-simulator'.format(ios_version_min)), + (target.is_iossim and target.is_x86, 'i386-apple-ios{}-simulator'.format(ios_version_min)), + (target.is_iossim and target.is_armv8, 'arm64-apple-ios{}-simulator'.format(ios_version_min)), + (not target.is_iossim and target.is_ios and target.is_armv8, 'arm64-apple-ios9'), + (not target.is_iossim and target.is_ios and target.is_armv7, 'armv7-apple-ios9'), ]) if swift_target: self.swift_flags_platform += ['-target', swift_target] @@ -1151,7 +1151,7 @@ class GnuToolchain(Toolchain): if self.tc.is_from_arcadia: self.swift_lib_path = select(default=None, selectors=[ (host.is_macos and target.is_iossim, '$SWIFT_XCODE_TOOLCHAIN_ROOT_RESOURCE_GLOBAL/usr/lib/swift/iphonesimulator'), - (host.is_macos and not target.is_iossim and target.is_ios and (target.is_armv8 or target.is_armv7), '$SWIFT_XCODE_TOOLCHAIN_ROOT_RESOURCE_GLOBAL/usr/lib/swift/iphoneos'), + (host.is_macos and not target.is_iossim and target.is_ios and (target.is_armv8 or target.is_armv7), '$SWIFT_XCODE_TOOLCHAIN_ROOT_RESOURCE_GLOBAL/usr/lib/swift/iphoneos'), ]) if self.tc.is_clang: @@ -1163,7 +1163,7 @@ class GnuToolchain(Toolchain): (target.is_linux and target.is_armv7 and target.armv7_float_abi == 'hard', 'arm-linux-gnueabihf'), (target.is_linux and target.is_armv7 and target.armv7_float_abi == 'softfp', 'arm-linux-gnueabi'), (target.is_linux and target.is_powerpc, 'powerpc64le-linux-gnu'), - (target.is_iossim and target.is_arm64, 'arm64-apple-ios{}-simulator'.format(ios_version_min)), + (target.is_iossim and target.is_arm64, 'arm64-apple-ios{}-simulator'.format(ios_version_min)), (target.is_apple and target.is_x86, 'i386-apple-darwin14'), (target.is_apple and target.is_x86_64, 'x86_64-apple-darwin14'), (target.is_apple and target.is_macos_arm64, 'arm64-apple-macos11'), @@ -1233,12 +1233,12 @@ class GnuToolchain(Toolchain): if target_flags: self.c_flags_platform.extend(target_flags) - if target.is_ios: + if target.is_ios: self.c_flags_platform.append('-D__IOS__=1') if self.tc.is_from_arcadia: if target.is_apple: - if target.is_ios: + if target.is_ios: self.setup_sdk(project='build/platform/ios_sdk', var='${IOS_SDK_ROOT_RESOURCE_GLOBAL}') self.platform_projects.append('build/platform/macos_system_stl') if target.is_macos: @@ -1934,8 +1934,8 @@ class LD(Linker): self.ld_sdk = select(default=None, selectors=[ (target.is_macos_arm64, '-Wl,-sdk_version,11.0'), (target.is_macos, '-Wl,-sdk_version,10.15'), - (not target.is_iossim and target.is_ios, '-Wl,-sdk_version,13.1'), - (target.is_iossim, '-Wl,-sdk_version,14.5'), + (not target.is_iossim and target.is_ios, '-Wl,-sdk_version,13.1'), + (target.is_iossim, '-Wl,-sdk_version,14.5'), ]) if self.ld_sdk: diff --git a/contrib/libs/openssl/crypto/ya.make b/contrib/libs/openssl/crypto/ya.make index 3acfb0cac7..6bbc447a43 100644 --- a/contrib/libs/openssl/crypto/ya.make +++ b/contrib/libs/openssl/crypto/ya.make @@ -73,10 +73,10 @@ IF (OS_WINDOWS) ENDIF() ENDIF() -IF (OS_DARWIN AND ARCH_ARM64) - SET(DARWIN_ARM64 yes) -ENDIF() - +IF (OS_DARWIN AND ARCH_ARM64) + SET(DARWIN_ARM64 yes) +ENDIF() + NO_COMPILER_WARNINGS() NO_RUNTIME() @@ -90,13 +90,13 @@ CFLAGS( -DZLIB ) -IF (NOT IOS_ARM64 AND NOT DARWIN_ARM64) - CFLAGS( - -DDSO_NONE - -DAESNI_ASM - ) -ENDIF() - +IF (NOT IOS_ARM64 AND NOT DARWIN_ARM64) + CFLAGS( + -DDSO_NONE + -DAESNI_ASM + ) +ENDIF() + IF (NOT WINDOWS_I686) CFLAGS( -DECP_NISTZ256_ASM @@ -929,7 +929,7 @@ IF (OS_DARWIN AND ARCH_ARM64) bn/bn_asm.c camellia/camellia.c camellia/cmll_cbc.c - dso/dso_dlfcn.c + dso/dso_dlfcn.c rc4/rc4_enc.c rc4/rc4_skey.c whrlpool/wp_block.c diff --git a/contrib/restricted/boost/boost/algorithm/string/find_iterator.hpp b/contrib/restricted/boost/boost/algorithm/string/find_iterator.hpp index 75287d9672..555d8d4b2d 100644 --- a/contrib/restricted/boost/boost/algorithm/string/find_iterator.hpp +++ b/contrib/restricted/boost/boost/algorithm/string/find_iterator.hpp @@ -248,8 +248,8 @@ namespace boost { m_bEof(Other.m_bEof) {} - split_iterator& operator=(const split_iterator& Other) = default; - + split_iterator& operator=(const split_iterator& Other) = default; + //! Constructor /*! Construct new split_iterator for a given finder diff --git a/contrib/restricted/boost/boost/circular_buffer/base.hpp b/contrib/restricted/boost/boost/circular_buffer/base.hpp index 47441544d4..20deacb78f 100644 --- a/contrib/restricted/boost/boost/circular_buffer/base.hpp +++ b/contrib/restricted/boost/boost/circular_buffer/base.hpp @@ -4,9 +4,9 @@ // Copyright (c) 2013 Paul A. Bristow // Doxygen comments changed. // Copyright (c) 2013 Antony Polukhin // Move semantics implementation. -// Copyright 2014,2018 Glen Joseph Fernandes -// (glenjofe@gmail.com) - +// Copyright 2014,2018 Glen Joseph Fernandes +// (glenjofe@gmail.com) + // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -21,8 +21,8 @@ #include <boost/config.hpp> #include <boost/concept_check.hpp> #include <boost/limits.hpp> -#include <boost/core/allocator_access.hpp> -#include <boost/core/empty_value.hpp> +#include <boost/core/allocator_access.hpp> +#include <boost/core/empty_value.hpp> #include <boost/type_traits/is_stateless.hpp> #include <boost/type_traits/is_integral.hpp> #include <boost/type_traits/is_scalar.hpp> @@ -33,7 +33,7 @@ #include <boost/move/adl_move_swap.hpp> #include <boost/move/move.hpp> #include <algorithm> -#include <iterator> +#include <iterator> #include <utility> #include <deque> #include <stdexcept> @@ -49,14 +49,14 @@ namespace boost { \brief Circular buffer - a STL compliant container. \tparam T The type of the elements stored in the <code>circular_buffer</code>. \par Type Requirements T - The <code>T</code> has to be <a href="https://www.boost.org/sgi/stl/Assignable.html"> + The <code>T</code> has to be <a href="https://www.boost.org/sgi/stl/Assignable.html"> SGIAssignable</a> (SGI STL defined combination of <a href="../../../utility/Assignable.html"> Assignable</a> and <a href="../../../utility/CopyConstructible.html">CopyConstructible</a>). - Moreover <code>T</code> has to be <a href="https://www.boost.org/sgi/stl/DefaultConstructible.html"> + Moreover <code>T</code> has to be <a href="https://www.boost.org/sgi/stl/DefaultConstructible.html"> DefaultConstructible</a> if supplied as a default parameter when invoking some of the <code>circular_buffer</code>'s methods e.g. <code>insert(iterator pos, const value_type& item = %value_type())</code>. And - <a href="https://www.boost.org/sgi/stl/EqualityComparable.html">EqualityComparable</a> and/or + <a href="https://www.boost.org/sgi/stl/EqualityComparable.html">EqualityComparable</a> and/or <a href="../../../utility/LessThanComparable.html">LessThanComparable</a> if the <code>circular_buffer</code> will be compared with another container. \tparam Alloc The allocator type used for all internal memory management. @@ -70,15 +70,15 @@ namespace boost { */ template <class T, class Alloc> class circular_buffer -: +: /*! \cond */ #if BOOST_CB_ENABLE_DEBUG -public cb_details::debug_iterator_registry, +public cb_details::debug_iterator_registry, #endif /*! \endcond */ -private empty_value<Alloc> +private empty_value<Alloc> { - typedef empty_value<Alloc> base; + typedef empty_value<Alloc> base; // Requirements //BOOST_CLASS_REQUIRE(T, boost, SGIAssignableConcept); @@ -99,31 +99,31 @@ public: typedef circular_buffer<T, Alloc> this_type; //! The type of elements stored in the <code>circular_buffer</code>. - typedef typename Alloc::value_type value_type; + typedef typename Alloc::value_type value_type; //! A pointer to an element. - typedef typename allocator_pointer<Alloc>::type pointer; + typedef typename allocator_pointer<Alloc>::type pointer; //! A const pointer to the element. - typedef typename allocator_const_pointer<Alloc>::type const_pointer; + typedef typename allocator_const_pointer<Alloc>::type const_pointer; //! A reference to an element. - typedef value_type& reference; + typedef value_type& reference; //! A const reference to an element. - typedef const value_type& const_reference; + typedef const value_type& const_reference; //! The distance type. /*! (A signed integral type used to represent the distance between two iterators.) */ - typedef typename allocator_difference_type<Alloc>::type difference_type; + typedef typename allocator_difference_type<Alloc>::type difference_type; //! The size type. /*! (An unsigned integral type that can represent any non-negative value of the container's distance type.) */ - typedef typename allocator_size_type<Alloc>::type size_type; + typedef typename allocator_size_type<Alloc>::type size_type; //! The type of an allocator used in the <code>circular_buffer</code>. typedef Alloc allocator_type; @@ -131,22 +131,22 @@ public: // Iterators //! A const (random access) iterator used to iterate through the <code>circular_buffer</code>. - typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::const_traits<Alloc> > const_iterator; + typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::const_traits<Alloc> > const_iterator; //! A (random access) iterator used to iterate through the <code>circular_buffer</code>. - typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::nonconst_traits<Alloc> > iterator; + typedef cb_details::iterator< circular_buffer<T, Alloc>, cb_details::nonconst_traits<Alloc> > iterator; //! A const iterator used to iterate backwards through a <code>circular_buffer</code>. - typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; //! An iterator used to iterate backwards through a <code>circular_buffer</code>. - typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; // Container specific types //! An array range. /*! - (A typedef for the <a href="https://www.boost.org/sgi/stl/pair.html"><code>std::pair</code></a> where + (A typedef for the <a href="https://www.boost.org/sgi/stl/pair.html"><code>std::pair</code></a> where its first element is a pointer to a beginning of an array and its second element represents a size of the array.) */ @@ -154,7 +154,7 @@ public: //! A range of a const array. /*! - (A typedef for the <a href="https://www.boost.org/sgi/stl/pair.html"><code>std::pair</code></a> where + (A typedef for the <a href="https://www.boost.org/sgi/stl/pair.html"><code>std::pair</code></a> where its first element is a pointer to a beginning of a const array and its second element represents a size of the const array.) */ @@ -219,7 +219,7 @@ public: Constant (in the size of the <code>circular_buffer</code>). \sa <code>get_allocator()</code> for obtaining an allocator %reference. */ - allocator_type get_allocator() const BOOST_NOEXCEPT { return alloc(); } + allocator_type get_allocator() const BOOST_NOEXCEPT { return alloc(); } //! Get the allocator reference. /*! @@ -235,7 +235,7 @@ public: although use of stateful allocators in STL is discouraged. \sa <code>get_allocator() const</code> */ - allocator_type& get_allocator() BOOST_NOEXCEPT { return alloc(); } + allocator_type& get_allocator() BOOST_NOEXCEPT { return alloc(); } // Element access @@ -287,7 +287,7 @@ public: */ const_iterator begin() const BOOST_NOEXCEPT { return const_iterator(this, empty() ? 0 : m_first); } - const_iterator cbegin() const BOOST_NOEXCEPT { return begin(); } + const_iterator cbegin() const BOOST_NOEXCEPT { return begin(); } //! Get the const iterator pointing to the end of the <code>circular_buffer</code>. /*! \return A const random access iterator pointing to the element "one behind" the last element of the <code> @@ -304,7 +304,7 @@ public: */ const_iterator end() const BOOST_NOEXCEPT { return const_iterator(this, 0); } - const_iterator cend() const BOOST_NOEXCEPT { return end(); } + const_iterator cend() const BOOST_NOEXCEPT { return end(); } //! Get the iterator pointing to the beginning of the "reversed" <code>circular_buffer</code>. /*! \return A reverse random access iterator pointing to the last element of the <code>circular_buffer</code>. @@ -668,7 +668,7 @@ public: break; } if (is_uninitialized(dest)) { - boost::allocator_construct(alloc(), boost::to_address(dest), boost::move_if_noexcept(*src)); + boost::allocator_construct(alloc(), boost::to_address(dest), boost::move_if_noexcept(*src)); ++constructed; } else { value_type tmp = boost::move_if_noexcept(*src); @@ -713,7 +713,7 @@ public: //! Rotate elements in the <code>circular_buffer</code>. /*! A more effective implementation of - <code><a href="https://www.boost.org/sgi/stl/rotate.html">std::rotate</a></code>. + <code><a href="https://www.boost.org/sgi/stl/rotate.html">std::rotate</a></code>. \pre <code>new_begin</code> is a valid iterator pointing to the <code>circular_buffer</code> <b>except</b> its end. \post Before calling the method suppose:<br><br> @@ -735,7 +735,7 @@ public: <code>circular_buffer</code> is full. \par Complexity Linear (in <code>(std::min)(m, n)</code>); constant if the <code>circular_buffer</code> is full. - \sa <code><a href="https://www.boost.org/sgi/stl/rotate.html">std::rotate</a></code> + \sa <code><a href="https://www.boost.org/sgi/stl/rotate.html">std::rotate</a></code> */ void rotate(const_iterator new_begin) { BOOST_CB_ASSERT(new_begin.is_valid(this)); // check for uninitialized or invalidated iterator @@ -789,7 +789,7 @@ public: \sa <code>size()</code>, <code>capacity()</code>, <code>reserve()</code> */ size_type max_size() const BOOST_NOEXCEPT { - return (std::min<size_type>)(boost::allocator_max_size(alloc()), (std::numeric_limits<difference_type>::max)()); + return (std::min<size_type>)(boost::allocator_max_size(alloc()), (std::numeric_limits<difference_type>::max)()); } //! Is the <code>circular_buffer</code> empty? @@ -880,7 +880,7 @@ public: iterator b = begin(); BOOST_TRY { reset(buff, - cb_details::uninitialized_move_if_noexcept(b, b + (std::min)(new_capacity, size()), buff, alloc()), + cb_details::uninitialized_move_if_noexcept(b, b + (std::min)(new_capacity, size()), buff, alloc()), new_capacity); } BOOST_CATCH(...) { deallocate(buff, new_capacity); @@ -956,7 +956,7 @@ public: iterator e = end(); BOOST_TRY { reset(buff, cb_details::uninitialized_move_if_noexcept(e - (std::min)(new_capacity, size()), - e, buff, alloc()), new_capacity); + e, buff, alloc()), new_capacity); } BOOST_CATCH(...) { deallocate(buff, new_capacity); BOOST_RETHROW @@ -1022,7 +1022,7 @@ public: <code>set_capacity(capacity_type)</code> */ explicit circular_buffer(const allocator_type& alloc = allocator_type()) BOOST_NOEXCEPT - : base(boost::empty_init_t(), alloc), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) {} + : base(boost::empty_init_t(), alloc), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) {} //! Create an empty <code>circular_buffer</code> with the specified capacity. /*! @@ -1035,7 +1035,7 @@ public: Constant. */ explicit circular_buffer(capacity_type buffer_capacity, const allocator_type& alloc = allocator_type()) - : base(boost::empty_init_t(), alloc), m_size(0) { + : base(boost::empty_init_t(), alloc), m_size(0) { initialize_buffer(buffer_capacity); m_first = m_last = m_buff; } @@ -1054,7 +1054,7 @@ public: Linear (in the <code>n</code>). */ circular_buffer(size_type n, param_value_type item, const allocator_type& alloc = allocator_type()) - : base(boost::empty_init_t(), alloc), m_size(n) { + : base(boost::empty_init_t(), alloc), m_size(n) { initialize_buffer(n, item); m_first = m_last = m_buff; } @@ -1076,7 +1076,7 @@ public: */ circular_buffer(capacity_type buffer_capacity, size_type n, param_value_type item, const allocator_type& alloc = allocator_type()) - : base(boost::empty_init_t(), alloc), m_size(n) { + : base(boost::empty_init_t(), alloc), m_size(n) { BOOST_CB_ASSERT(buffer_capacity >= size()); // check for capacity lower than size initialize_buffer(buffer_capacity, item); m_first = m_buff; @@ -1099,12 +1099,12 @@ public: #if BOOST_CB_ENABLE_DEBUG debug_iterator_registry(), #endif - base(boost::empty_init_t(), cb.get_allocator()), - m_size(cb.size()) { + base(boost::empty_init_t(), cb.get_allocator()), + m_size(cb.size()) { initialize_buffer(cb.capacity()); m_first = m_buff; BOOST_TRY { - m_last = cb_details::uninitialized_copy(cb.begin(), cb.end(), m_buff, alloc()); + m_last = cb_details::uninitialized_copy(cb.begin(), cb.end(), m_buff, alloc()); } BOOST_CATCH(...) { deallocate(m_buff, cb.capacity()); BOOST_RETHROW @@ -1124,7 +1124,7 @@ public: \par Constant. */ circular_buffer(circular_buffer<T, Alloc>&& cb) BOOST_NOEXCEPT - : base(boost::empty_init_t(), cb.get_allocator()), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) { + : base(boost::empty_init_t(), cb.get_allocator()), m_buff(0), m_end(0), m_first(0), m_last(0), m_size(0) { cb.swap(*this); } #endif // BOOST_NO_CXX11_RVALUE_REFERENCES @@ -1133,7 +1133,7 @@ public: /*! \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == std::distance(first, last) \&\& full() \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code> \param first The beginning of the range to be copied. @@ -1147,7 +1147,7 @@ public: */ template <class InputIterator> circular_buffer(InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type()) - : base(boost::empty_init_t(), alloc) { + : base(boost::empty_init_t(), alloc) { initialize(first, last, is_integral<InputIterator>()); } @@ -1155,7 +1155,7 @@ public: /*! \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == buffer_capacity \&\& size() \<= std::distance(first, last) \&\& (*this)[0]== *(last - buffer_capacity) \&\& (*this)[1] == *(last - buffer_capacity + 1) \&\& ... \&\& (*this)[buffer_capacity - 1] == *(last - 1)</code><br><br> @@ -1172,12 +1172,12 @@ public: \par Complexity Linear (in <code>std::distance(first, last)</code>; in <code>min[capacity, std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). */ template <class InputIterator> circular_buffer(capacity_type buffer_capacity, InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type()) - : base(boost::empty_init_t(), alloc) { + : base(boost::empty_init_t(), alloc) { initialize(buffer_capacity, first, last, is_integral<InputIterator>()); } @@ -1228,7 +1228,7 @@ public: return *this; pointer buff = allocate(cb.capacity()); BOOST_TRY { - reset(buff, cb_details::uninitialized_copy(cb.begin(), cb.end(), buff, alloc()), cb.capacity()); + reset(buff, cb_details::uninitialized_copy(cb.begin(), cb.end(), buff, alloc()), cb.capacity()); } BOOST_CATCH(...) { deallocate(buff, cb.capacity()); BOOST_RETHROW @@ -1248,7 +1248,7 @@ public: */ circular_buffer<T, Alloc>& operator = (circular_buffer<T, Alloc>&& cb) BOOST_NOEXCEPT { cb.swap(*this); // now `this` holds `cb` - circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator + circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator .swap(cb); // makes `cb` empty return *this; } @@ -1279,7 +1279,7 @@ public: <code>assign(capacity_type, InputIterator, InputIterator)</code> */ void assign(size_type n, param_value_type item) { - assign_n(n, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc())); + assign_n(n, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc())); } //! Assign <code>n</code> items into the <code>circular_buffer</code> specifying the capacity. @@ -1309,7 +1309,7 @@ public: */ void assign(capacity_type buffer_capacity, size_type n, param_value_type item) { BOOST_CB_ASSERT(buffer_capacity >= n); // check for new capacity lower than n - assign_n(buffer_capacity, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc())); + assign_n(buffer_capacity, n, cb_details::assign_n<param_value_type, allocator_type>(n, item, alloc())); } //! Assign a copy of the range into the <code>circular_buffer</code>. @@ -1318,7 +1318,7 @@ public: specified range. \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == std::distance(first, last) \&\& size() == std::distance(first, last) \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code> @@ -1351,7 +1351,7 @@ public: <code>circular_buffer</code> will be removed and replaced with copies of elements from the specified range. \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == buffer_capacity \&\& size() \<= std::distance(first, last) \&\& (*this)[0]== *(last - buffer_capacity) \&\& (*this)[1] == *(last - buffer_capacity + 1) \&\& ... \&\& (*this)[buffer_capacity - 1] == *(last - 1)</code><br><br> @@ -1372,7 +1372,7 @@ public: \par Complexity Linear (in <code>std::distance(first, last)</code>; in <code>min[capacity, std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \sa <code>\link operator=(const circular_buffer&) operator=\endlink</code>, <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>, <code>\link assign(capacity_type, size_type, param_value_type) @@ -1416,7 +1416,7 @@ public: // push and pop private: - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ValT> void push_back_impl(ValT item) { if (full()) { @@ -1426,13 +1426,13 @@ private: increment(m_last); m_first = m_last; } else { - boost::allocator_construct(alloc(), boost::to_address(m_last), static_cast<ValT>(item)); + boost::allocator_construct(alloc(), boost::to_address(m_last), static_cast<ValT>(item)); increment(m_last); ++m_size; } } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ValT> void push_front_impl(ValT item) { BOOST_TRY { @@ -1444,7 +1444,7 @@ private: m_last = m_first; } else { decrement(m_first); - boost::allocator_construct(alloc(), boost::to_address(m_first), static_cast<ValT>(item)); + boost::allocator_construct(alloc(), boost::to_address(m_first), static_cast<ValT>(item)); ++m_size; } } BOOST_CATCH(...) { @@ -1625,7 +1625,7 @@ public: --m_size; } private: - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ValT> iterator insert_impl(iterator pos, ValT item) { BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator @@ -1796,7 +1796,7 @@ public: /*! \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.<br> Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the - requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post Elements from the range <code>[first + max[0, distance(first, last) - (pos - begin()) - reserve()], last)</code> will be inserted at the position <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0, @@ -1819,7 +1819,7 @@ public: Linear (in <code>[std::distance(pos, end()) + std::distance(first, last)]</code>; in <code>min[capacity(), std::distance(pos, end()) + std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \par Example Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may look like the one below.<br><br> @@ -1845,7 +1845,7 @@ public: } private: - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ValT> iterator rinsert_impl(iterator pos, ValT item) { BOOST_CB_ASSERT(pos.is_valid(this)); // check for uninitialized or invalidated iterator @@ -2041,7 +2041,7 @@ public: /*! \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer</code> or its end.<br> Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the - requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post Elements from the range <code>[first, last - max[0, distance(first, last) - (end() - pos) - reserve()])</code> will be inserted before the position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0, @@ -2063,7 +2063,7 @@ public: Linear (in <code>[std::distance(begin(), pos) + std::distance(first, last)]</code>; in <code>min[capacity(), std::distance(begin(), pos) + std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \par Example Consider a <code>circular_buffer</code> with the capacity of 6 and the size of 4. Its internal buffer may look like the one below.<br><br> @@ -2180,7 +2180,7 @@ public: the erased element (towards the beginning). \par Complexity Linear (in <code>std::distance(begin(), pos)</code>). - \note This method is symmetric to the <code>erase(iterator)</code> method and is more effective than + \note This method is symmetric to the <code>erase(iterator)</code> method and is more effective than <code>erase(iterator)</code> if the iterator <code>pos</code> is close to the beginning of the <code>circular_buffer</code>. (See the <i>Complexity</i>.) \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>, @@ -2221,7 +2221,7 @@ public: the erased range (towards the beginning). \par Complexity Linear (in <code>std::distance(begin(), last)</code>). - \note This method is symmetric to the <code>erase(iterator, iterator)</code> method and is more effective than + \note This method is symmetric to the <code>erase(iterator, iterator)</code> method and is more effective than <code>erase(iterator, iterator)</code> if <code>std::distance(begin(), first)</code> is lower that <code>std::distance(last, end())</code>. \sa <code>erase(iterator)</code>, <code>erase(iterator, iterator)</code>, <code>rerase(iterator)</code>, @@ -2338,20 +2338,20 @@ public: private: // Helper methods - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void check_position(size_type index) const { if (index >= size()) throw_exception(std::out_of_range("circular_buffer")); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Pointer> void increment(Pointer& p) const { if (++p == m_end) p = m_buff; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Pointer> void decrement(Pointer& p) const { if (p == m_buff) @@ -2359,58 +2359,58 @@ private: --p; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Pointer> Pointer add(Pointer p, difference_type n) const { - return p + (n < (m_end - p) ? n : n - (m_end - m_buff)); + return p + (n < (m_end - p) ? n : n - (m_end - m_buff)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Pointer> Pointer sub(Pointer p, difference_type n) const { - return p - (n > (p - m_buff) ? n - (m_end - m_buff) : n); + return p - (n > (p - m_buff) ? n - (m_end - m_buff) : n); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ pointer map_pointer(pointer p) const { return p == 0 ? m_last : p; } - /*! INTERNAL ONLY */ - const Alloc& alloc() const { - return base::get(); - } - - /*! INTERNAL ONLY */ - Alloc& alloc() { - return base::get(); - } - - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ + const Alloc& alloc() const { + return base::get(); + } + + /*! INTERNAL ONLY */ + Alloc& alloc() { + return base::get(); + } + + /*! INTERNAL ONLY */ pointer allocate(size_type n) { if (n > max_size()) throw_exception(std::length_error("circular_buffer")); #if BOOST_CB_ENABLE_DEBUG - pointer p = (n == 0) ? 0 : alloc().allocate(n); + pointer p = (n == 0) ? 0 : alloc().allocate(n); cb_details::do_fill_uninitialized_memory(p, sizeof(value_type) * n); return p; #else - return (n == 0) ? 0 : alloc().allocate(n); + return (n == 0) ? 0 : alloc().allocate(n); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void deallocate(pointer p, size_type n) { if (p != 0) - alloc().deallocate(p, n); + alloc().deallocate(p, n); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ bool is_uninitialized(const_pointer p) const BOOST_NOEXCEPT { - return (m_first < m_last) - ? (p >= m_last || p < m_first) - : (p >= m_last && p < m_first); + return (m_first < m_last) + ? (p >= m_last || p < m_first) + : (p >= m_last && p < m_first); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void replace(pointer pos, param_value_type item) { *pos = item; #if BOOST_CB_ENABLE_DEBUG @@ -2418,7 +2418,7 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void replace(pointer pos, rvalue_type item) { *pos = boost::move(item); #if BOOST_CB_ENABLE_DEBUG @@ -2426,38 +2426,38 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void construct_or_replace(bool construct, pointer pos, param_value_type item) { if (construct) - boost::allocator_construct(alloc(), boost::to_address(pos), item); + boost::allocator_construct(alloc(), boost::to_address(pos), item); else replace(pos, item); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void construct_or_replace(bool construct, pointer pos, rvalue_type item) { if (construct) - boost::allocator_construct(alloc(), boost::to_address(pos), boost::move(item)); + boost::allocator_construct(alloc(), boost::to_address(pos), boost::move(item)); else replace(pos, boost::move(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy_item(pointer p) { - boost::allocator_destroy(alloc(), boost::to_address(p)); + boost::allocator_destroy(alloc(), boost::to_address(p)); #if BOOST_CB_ENABLE_DEBUG invalidate_iterators(iterator(this, p)); cb_details::do_fill_uninitialized_memory(p, sizeof(value_type)); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy_if_constructed(pointer pos) { if (is_uninitialized(pos)) destroy_item(pos); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy_content() { #if BOOST_CB_ENABLE_DEBUG destroy_content(false_type()); @@ -2466,18 +2466,18 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy_content(const true_type&) { m_first = add(m_first, size()); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy_content(const false_type&) { for (size_type ii = 0; ii < size(); ++ii, increment(m_first)) destroy_item(m_first); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void destroy() BOOST_NOEXCEPT { destroy_content(); deallocate(m_buff, capacity()); @@ -2489,17 +2489,17 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void initialize_buffer(capacity_type buffer_capacity) { m_buff = allocate(buffer_capacity); m_end = m_buff + buffer_capacity; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void initialize_buffer(capacity_type buffer_capacity, param_value_type item) { initialize_buffer(buffer_capacity); BOOST_TRY { - cb_details::uninitialized_fill_n_with_alloc(m_buff, size(), item, alloc()); + cb_details::uninitialized_fill_n_with_alloc(m_buff, size(), item, alloc()); } BOOST_CATCH(...) { deallocate(m_buff, size()); BOOST_RETHROW @@ -2507,7 +2507,7 @@ private: BOOST_CATCH_END } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void initialize(IntegralType n, IntegralType item, const true_type&) { m_size = static_cast<size_type>(n); @@ -2515,28 +2515,28 @@ private: m_first = m_last = m_buff; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void initialize(Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - initialize(first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + initialize(first, last, std::iterator_traits<Iterator>::iterator_category()); #else - initialize(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + initialize(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void initialize(InputIterator first, InputIterator last, const std::input_iterator_tag&) { BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors // for containers - std::deque<value_type, allocator_type> tmp(first, last, alloc()); + std::deque<value_type, allocator_type> tmp(first, last, alloc()); size_type distance = tmp.size(); initialize(distance, boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), distance); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void initialize(ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range @@ -2544,7 +2544,7 @@ private: initialize(distance, first, last, distance); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void initialize(capacity_type buffer_capacity, IntegralType n, IntegralType item, const true_type&) { BOOST_CB_ASSERT(buffer_capacity >= static_cast<size_type>(n)); // check for capacity lower than n @@ -2554,18 +2554,18 @@ private: m_last = buffer_capacity == size() ? m_buff : m_buff + size(); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void initialize(capacity_type buffer_capacity, Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - initialize(buffer_capacity, first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + initialize(buffer_capacity, first, last, std::iterator_traits<Iterator>::iterator_category()); #else - initialize(buffer_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + initialize(buffer_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void initialize(capacity_type buffer_capacity, InputIterator first, @@ -2577,7 +2577,7 @@ private: if (buffer_capacity == 0) return; while (first != last && !full()) { - boost::allocator_construct(alloc(), boost::to_address(m_last), *first++); + boost::allocator_construct(alloc(), boost::to_address(m_last), *first++); increment(m_last); ++m_size; } @@ -2588,7 +2588,7 @@ private: } } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void initialize(capacity_type buffer_capacity, ForwardIterator first, @@ -2598,7 +2598,7 @@ private: initialize(buffer_capacity, first, last, std::distance(first, last)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void initialize(capacity_type buffer_capacity, ForwardIterator first, @@ -2613,7 +2613,7 @@ private: m_size = distance; } BOOST_TRY { - m_last = cb_details::uninitialized_copy(first, last, m_buff, alloc()); + m_last = cb_details::uninitialized_copy(first, last, m_buff, alloc()); } BOOST_CATCH(...) { deallocate(m_buff, buffer_capacity); BOOST_RETHROW @@ -2623,7 +2623,7 @@ private: m_last = m_buff; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void reset(pointer buff, pointer last, capacity_type new_capacity) { destroy(); m_size = last - buff; @@ -2632,83 +2632,83 @@ private: m_last = last == m_end ? m_buff : last; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void swap_allocator(circular_buffer<T, Alloc>&, const true_type&) { // Swap is not needed because allocators have no state. } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void swap_allocator(circular_buffer<T, Alloc>& cb, const false_type&) { - adl_move_swap(alloc(), cb.alloc()); + adl_move_swap(alloc(), cb.alloc()); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void assign(IntegralType n, IntegralType item, const true_type&) { assign(static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void assign(Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - assign(first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + assign(first, last, std::iterator_traits<Iterator>::iterator_category()); #else - assign(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + assign(first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void assign(InputIterator first, InputIterator last, const std::input_iterator_tag&) { BOOST_CB_ASSERT_TEMPLATED_ITERATOR_CONSTRUCTORS // check if the STL provides templated iterator constructors // for containers - std::deque<value_type, allocator_type> tmp(first, last, alloc()); + std::deque<value_type, allocator_type> tmp(first, last, alloc()); size_type distance = tmp.size(); assign_n(distance, distance, cb_details::make_assign_range - (boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), alloc())); + (boost::make_move_iterator(tmp.begin()), boost::make_move_iterator(tmp.end()), alloc())); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void assign(ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range size_type distance = std::distance(first, last); - assign_n(distance, distance, cb_details::make_assign_range(first, last, alloc())); + assign_n(distance, distance, cb_details::make_assign_range(first, last, alloc())); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void assign(capacity_type new_capacity, IntegralType n, IntegralType item, const true_type&) { assign(new_capacity, static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void assign(capacity_type new_capacity, Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - assign(new_capacity, first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + assign(new_capacity, first, last, std::iterator_traits<Iterator>::iterator_category()); #else - assign(new_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + assign(new_capacity, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void assign(capacity_type new_capacity, InputIterator first, InputIterator last, const std::input_iterator_tag&) { if (new_capacity == capacity()) { clear(); insert(begin(), first, last); } else { - circular_buffer<value_type, allocator_type> tmp(new_capacity, first, last, alloc()); + circular_buffer<value_type, allocator_type> tmp(new_capacity, first, last, alloc()); tmp.swap(*this); } } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void assign(capacity_type new_capacity, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { @@ -2719,10 +2719,10 @@ private: distance = new_capacity; } assign_n(new_capacity, distance, - cb_details::make_assign_range(first, last, alloc())); + cb_details::make_assign_range(first, last, alloc())); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Functor> void assign_n(capacity_type new_capacity, size_type n, const Functor& fnc) { if (new_capacity == capacity()) { @@ -2752,7 +2752,7 @@ private: m_last = add(m_buff, size()); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ValT> iterator insert_item(const iterator& pos, ValT item) { pointer p = pos.m_it; @@ -2788,24 +2788,24 @@ private: return iterator(this, p); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void insert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) { insert(pos, static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void insert(const iterator& pos, Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - insert(pos, first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + insert(pos, first, last, std::iterator_traits<Iterator>::iterator_category()); #else - insert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + insert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void insert(iterator pos, InputIterator first, InputIterator last, const std::input_iterator_tag&) { if (!full() || pos != begin()) { @@ -2814,7 +2814,7 @@ private: } } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void insert(const iterator& pos, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range @@ -2831,7 +2831,7 @@ private: insert_n(pos, n, cb_details::iterator_wrapper<ForwardIterator>(first)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Wrapper> void insert_n(const iterator& pos, size_type n, const Wrapper& wrapper) { size_type construct = reserve(); @@ -2842,7 +2842,7 @@ private: pointer p = m_last; BOOST_TRY { for (; ii < construct; ++ii, increment(p)) - boost::allocator_construct(alloc(), boost::to_address(p), *wrapper()); + boost::allocator_construct(alloc(), boost::to_address(p), *wrapper()); for (;ii < n; ++ii, increment(p)) replace(p, *wrapper()); } BOOST_CATCH(...) { @@ -2879,24 +2879,24 @@ private: m_size += construct; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void rinsert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) { rinsert(pos, static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void rinsert(const iterator& pos, Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - rinsert(pos, first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + rinsert(pos, first, last, std::iterator_traits<Iterator>::iterator_category()); #else - rinsert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + rinsert(pos, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> void rinsert(iterator pos, InputIterator first, InputIterator last, const std::input_iterator_tag&) { if (!full() || pos.m_it != 0) { @@ -2908,14 +2908,14 @@ private: } } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> void rinsert(const iterator& pos, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { BOOST_CB_ASSERT(std::distance(first, last) >= 0); // check for wrong range rinsert_n(pos, std::distance(first, last), cb_details::iterator_wrapper<ForwardIterator>(first)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Wrapper> void rinsert_n(const iterator& pos, size_type n, const Wrapper& wrapper) { if (n == 0) @@ -2936,7 +2936,7 @@ private: for (;ii > construct; --ii, increment(p)) replace(p, *wrapper()); for (; ii > 0; --ii, increment(p)) - boost::allocator_construct(alloc(), boost::to_address(p), *wrapper()); + boost::allocator_construct(alloc(), boost::to_address(p), *wrapper()); } BOOST_CATCH(...) { size_type constructed = ii < construct ? construct - ii : 0; m_last = add(m_last, constructed); @@ -2968,25 +2968,25 @@ private: m_size += construct; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void erase_begin(size_type n, const true_type&) { m_first = add(m_first, n); m_size -= n; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void erase_begin(size_type n, const false_type&) { iterator b = begin(); rerase(b, b + n); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void erase_end(size_type n, const true_type&) { m_last = sub(m_last, n); m_size -= n; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void erase_end(size_type n, const false_type&) { iterator e = end(); erase(e - n, e); @@ -3000,7 +3000,7 @@ private: \param lhs The <code>circular_buffer</code> to compare. \param rhs The <code>circular_buffer</code> to compare. \return <code>lhs.\link circular_buffer::size() size()\endlink == rhs.\link circular_buffer::size() size()\endlink - && <a href="https://www.boost.org/sgi/stl/equal.html">std::equal</a>(lhs.\link circular_buffer::begin() + && <a href="https://www.boost.org/sgi/stl/equal.html">std::equal</a>(lhs.\link circular_buffer::begin() begin()\endlink, lhs.\link circular_buffer::end() end()\endlink, rhs.\link circular_buffer::begin() begin()\endlink)</code> \throws Nothing. @@ -3019,7 +3019,7 @@ inline bool operator == (const circular_buffer<T, Alloc>& lhs, const circular_bu right one. \param lhs The <code>circular_buffer</code> to compare. \param rhs The <code>circular_buffer</code> to compare. - \return <code><a href="https://www.boost.org/sgi/stl/lexicographical_compare.html"> + \return <code><a href="https://www.boost.org/sgi/stl/lexicographical_compare.html"> std::lexicographical_compare</a>(lhs.\link circular_buffer::begin() begin()\endlink, lhs.\link circular_buffer::end() end()\endlink, rhs.\link circular_buffer::begin() begin()\endlink, rhs.\link circular_buffer::end() end()\endlink)</code> diff --git a/contrib/restricted/boost/boost/circular_buffer/details.hpp b/contrib/restricted/boost/boost/circular_buffer/details.hpp index fc1499f687..087334d76c 100644 --- a/contrib/restricted/boost/boost/circular_buffer/details.hpp +++ b/contrib/restricted/boost/boost/circular_buffer/details.hpp @@ -2,9 +2,9 @@ // Copyright (c) 2003-2008 Jan Gaspar -// Copyright 2014,2018 Glen Joseph Fernandes -// (glenjofe@gmail.com) - +// Copyright 2014,2018 Glen Joseph Fernandes +// (glenjofe@gmail.com) + // Use, modification, and distribution is subject to the Boost Software // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -17,11 +17,11 @@ #endif #include <boost/throw_exception.hpp> -#include <boost/core/allocator_access.hpp> +#include <boost/core/allocator_access.hpp> #include <boost/core/pointer_traits.hpp> #include <boost/move/move.hpp> #include <boost/type_traits/is_nothrow_move_constructible.hpp> -#include <boost/core/no_exceptions_support.hpp> +#include <boost/core/no_exceptions_support.hpp> #include <iterator> // Silence MS /W4 warnings like C4913: @@ -36,7 +36,7 @@ namespace boost { namespace cb_details { -template <class Alloc> struct nonconst_traits; +template <class Alloc> struct nonconst_traits; template<class ForwardIterator, class Diff, class T, class Alloc> void uninitialized_fill_n_with_alloc( @@ -52,34 +52,34 @@ ForwardIterator uninitialized_move_if_noexcept(InputIterator first, InputIterato \struct const_traits \brief Defines the data types for a const iterator. */ -template <class Alloc> +template <class Alloc> struct const_traits { // Basic types - typedef typename Alloc::value_type value_type; - typedef typename boost::allocator_const_pointer<Alloc>::type pointer; - typedef const value_type& reference; - typedef typename boost::allocator_size_type<Alloc>::type size_type; - typedef typename boost::allocator_difference_type<Alloc>::type difference_type; + typedef typename Alloc::value_type value_type; + typedef typename boost::allocator_const_pointer<Alloc>::type pointer; + typedef const value_type& reference; + typedef typename boost::allocator_size_type<Alloc>::type size_type; + typedef typename boost::allocator_difference_type<Alloc>::type difference_type; // Non-const traits - typedef nonconst_traits<Alloc> nonconst_self; + typedef nonconst_traits<Alloc> nonconst_self; }; /*! \struct nonconst_traits \brief Defines the data types for a non-const iterator. */ -template <class Alloc> +template <class Alloc> struct nonconst_traits { // Basic types - typedef typename Alloc::value_type value_type; - typedef typename boost::allocator_pointer<Alloc>::type pointer; - typedef value_type& reference; - typedef typename boost::allocator_size_type<Alloc>::type size_type; - typedef typename boost::allocator_difference_type<Alloc>::type difference_type; + typedef typename Alloc::value_type value_type; + typedef typename boost::allocator_pointer<Alloc>::type pointer; + typedef value_type& reference; + typedef typename boost::allocator_size_type<Alloc>::type size_type; + typedef typename boost::allocator_difference_type<Alloc>::type difference_type; // Non-const traits - typedef nonconst_traits<Alloc> nonconst_self; + typedef nonconst_traits<Alloc> nonconst_self; }; /*! @@ -114,7 +114,7 @@ private: */ template <class Value, class Alloc> struct assign_n { - typedef typename boost::allocator_size_type<Alloc>::type size_type; + typedef typename boost::allocator_size_type<Alloc>::type size_type; size_type m_n; Value m_item; Alloc& m_alloc; @@ -196,9 +196,9 @@ public: for iterating from begin() to end() of the circular buffer. */ template <class Buff, class Traits> -struct iterator +struct iterator #if BOOST_CB_ENABLE_DEBUG - : public debug_iterator_base + : public debug_iterator_base #endif // #if BOOST_CB_ENABLE_DEBUG { // Helper types @@ -207,22 +207,22 @@ struct iterator typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self; // Basic types - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; //! The type of the elements stored in the circular buffer. - typedef typename Traits::value_type value_type; + typedef typename Traits::value_type value_type; //! Pointer to the element. - typedef typename Traits::pointer pointer; + typedef typename Traits::pointer pointer; //! Reference to the element. - typedef typename Traits::reference reference; + typedef typename Traits::reference reference; //! Size type. typedef typename Traits::size_type size_type; //! Difference type. - typedef typename Traits::difference_type difference_type; + typedef typename Traits::difference_type difference_type; // Member variables @@ -412,10 +412,10 @@ inline ForwardIterator uninitialized_copy(InputIterator first, InputIterator las ForwardIterator next = dest; BOOST_TRY { for (; first != last; ++first, ++dest) - boost::allocator_construct(a, boost::to_address(dest), *first); + boost::allocator_construct(a, boost::to_address(dest), *first); } BOOST_CATCH(...) { for (; next != dest; ++next) - boost::allocator_destroy(a, boost::to_address(next)); + boost::allocator_destroy(a, boost::to_address(next)); BOOST_RETHROW } BOOST_CATCH_END @@ -426,7 +426,7 @@ template<class InputIterator, class ForwardIterator, class Alloc> ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a, true_type) { for (; first != last; ++first, ++dest) - boost::allocator_construct(a, boost::to_address(dest), boost::move(*first)); + boost::allocator_construct(a, boost::to_address(dest), boost::move(*first)); return dest; } @@ -442,7 +442,7 @@ ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIt */ template<class InputIterator, class ForwardIterator, class Alloc> ForwardIterator uninitialized_move_if_noexcept(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a) { - typedef typename boost::is_nothrow_move_constructible<typename Alloc::value_type>::type tag_t; + typedef typename boost::is_nothrow_move_constructible<typename Alloc::value_type>::type tag_t; return uninitialized_move_if_noexcept_impl(first, last, dest, a, tag_t()); } @@ -455,10 +455,10 @@ inline void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const ForwardIterator next = first; BOOST_TRY { for (; n > 0; ++first, --n) - boost::allocator_construct(alloc, boost::to_address(first), item); + boost::allocator_construct(alloc, boost::to_address(first), item); } BOOST_CATCH(...) { for (; next != first; ++next) - boost::allocator_destroy(alloc, boost::to_address(next)); + boost::allocator_destroy(alloc, boost::to_address(next)); BOOST_RETHROW } BOOST_CATCH_END diff --git a/contrib/restricted/boost/boost/circular_buffer/space_optimized.hpp b/contrib/restricted/boost/boost/circular_buffer/space_optimized.hpp index 21681fd32a..fe4a15ffc1 100644 --- a/contrib/restricted/boost/boost/circular_buffer/space_optimized.hpp +++ b/contrib/restricted/boost/boost/circular_buffer/space_optimized.hpp @@ -16,7 +16,7 @@ #endif #include <boost/type_traits/is_same.hpp> -#include <boost/config/workaround.hpp> +#include <boost/config/workaround.hpp> namespace boost { @@ -121,7 +121,7 @@ public:<br> using circular_buffer<T, Alloc>::max_size; using circular_buffer<T, Alloc>::empty; -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x564)) reference operator [] (size_type n) { return circular_buffer<T, Alloc>::operator[](n); } const_reference operator [] (size_type n) const { return circular_buffer<T, Alloc>::operator[](n); } #else @@ -453,7 +453,7 @@ public: /*! \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity().%capacity() == std::distance(first, last) \&\& capacity().min_capacity() == 0 \&\& full() \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code><br><br> @@ -478,7 +478,7 @@ public: of allocated memory) filled with a copy of the range. \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == capacity_ctrl \&\& size() \<= std::distance(first, last) \&\& (*this)[0]== *(last - capacity_ctrl.%capacity()) \&\& (*this)[1] == *(last - capacity_ctrl.%capacity() + 1) \&\& ... \&\& (*this)[capacity_ctrl.%capacity() - 1] == *(last - 1)</code><br><br> @@ -499,7 +499,7 @@ public: \par Complexity Linear (in <code>std::distance(first, last)</code>; in <code>min[capacity_ctrl.%capacity(), std::distance(first, last)]</code> if the <code>InputIterator</code> - is a <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + is a <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). */ template <class InputIterator> circular_buffer_space_optimized(capacity_type capacity_ctrl, InputIterator first, InputIterator last, @@ -509,7 +509,7 @@ public: first, last, alloc) , m_capacity_ctrl(capacity_ctrl) { reduce_capacity( - is_same< BOOST_DEDUCED_TYPENAME std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag >()); + is_same< BOOST_DEDUCED_TYPENAME std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag >()); } #if defined(BOOST_CB_NEVER_DEFINED) @@ -579,7 +579,7 @@ public: */ circular_buffer_space_optimized<T, Alloc>& operator = (circular_buffer_space_optimized<T, Alloc>&& cb) BOOST_NOEXCEPT { cb.swap(*this); // now `this` holds `cb` - circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator + circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator .swap(cb); // makes `cb` empty return *this; } @@ -655,7 +655,7 @@ public: elements from the specified range. \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity().%capacity() == std::distance(first, last) \&\& capacity().min_capacity() == 0 \&\& size() == std::distance(first, last) \&\& (*this)[0]== *first \&\& (*this)[1] == *(first + 1) \&\& ... \&\& (*this)[std::distance(first, last) - 1] == *(last - 1)</code><br><br> @@ -692,7 +692,7 @@ public: elements from the specified range. \pre Valid range <code>[first, last)</code>.<br> <code>first</code> and <code>last</code> have to meet the requirements of - <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post <code>capacity() == capacity_ctrl \&\& size() \<= std::distance(first, last) \&\& (*this)[0]== *(last - capacity) \&\& (*this)[1] == *(last - capacity + 1) \&\& ... \&\& (*this)[capacity - 1] == *(last - 1)</code><br><br> @@ -715,7 +715,7 @@ public: \par Complexity Linear (in <code>std::distance(first, last)</code>; in <code>min[capacity_ctrl.%capacity(), std::distance(first, last)]</code> if the <code>InputIterator</code> - is a <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + is a <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \sa <code>\link operator=(const circular_buffer_space_optimized&) operator=\endlink</code>, <code>\link assign(size_type, param_value_type) assign(size_type, const_reference)\endlink</code>, <code>\link assign(capacity_type, size_type, param_value_type) @@ -1114,7 +1114,7 @@ public: /*! \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its end.<br>Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the - requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post Elements from the range <code>[first + max[0, distance(first, last) - (pos - begin()) - reserve()], last)</code> will be inserted at the position <code>pos</code>.<br>The number of <code>min[pos - begin(), max[0, @@ -1136,7 +1136,7 @@ public: Linear (in <code>[size() + std::distance(first, last)]</code>; in <code>min[capacity().%capacity(), size() + std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \par Example Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its internal buffer may look like the one below.<br><br> @@ -1326,7 +1326,7 @@ public: \pre <code>pos</code> is a valid iterator pointing to the <code>circular_buffer_space_optimized</code> or its end.<br> Valid range <code>[first, last)</code> where <code>first</code> and <code>last</code> meet the - requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. + requirements of an <a href="https://www.boost.org/sgi/stl/InputIterator.html">InputIterator</a>. \post Elements from the range <code>[first, last - max[0, distance(first, last) - (end() - pos) - reserve()])</code> will be inserted before the position <code>pos</code>.<br>The number of <code>min[end() - pos, max[0, @@ -1349,7 +1349,7 @@ public: Linear (in <code>[size() + std::distance(first, last)]</code>; in <code>min[capacity().%capacity(), size() + std::distance(first, last)]</code> if the <code>InputIterator</code> is a - <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). + <a href="https://www.boost.org/sgi/stl/RandomAccessIterator.html">RandomAccessIterator</a>). \par Example Consider a <code>circular_buffer_space_optimized</code> with the capacity of 6 and the size of 4. Its internal buffer may look like the one below.<br><br> @@ -1522,7 +1522,7 @@ public: private: // Helper methods - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void adjust_min_capacity() { if (m_capacity_ctrl.min_capacity() > circular_buffer<T, Alloc>::capacity()) circular_buffer<T, Alloc>::set_capacity(m_capacity_ctrl.min_capacity()); @@ -1530,7 +1530,7 @@ private: check_high_capacity(); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ size_type ensure_reserve(size_type new_capacity, size_type buffer_size) const { if (buffer_size + new_capacity / 5 >= new_capacity) new_capacity *= 2; // ensure at least 20% reserve @@ -1539,7 +1539,7 @@ private: return new_capacity; } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void check_low_capacity(size_type n = 1) { size_type new_size = size() + n; size_type new_capacity = circular_buffer<T, Alloc>::capacity(); @@ -1555,7 +1555,7 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void check_high_capacity() { size_type new_capacity = circular_buffer<T, Alloc>::capacity(); while (new_capacity / 3 >= size()) { // (new_capacity / 3) -> avoid oscillations @@ -1572,48 +1572,48 @@ private: #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void reduce_capacity(const true_type&) { circular_buffer<T, Alloc>::set_capacity((std::max)(m_capacity_ctrl.min_capacity(), size())); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ void reduce_capacity(const false_type&) {} - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ static size_type init_capacity(const capacity_type& capacity_ctrl, size_type n) { BOOST_CB_ASSERT(capacity_ctrl.capacity() >= n); // check for capacity lower than n return (std::max)(capacity_ctrl.min_capacity(), n); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> static size_type init_capacity(const capacity_type& capacity_ctrl, IntegralType n, IntegralType, const true_type&) { return init_capacity(capacity_ctrl, static_cast<size_type>(n)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> static size_type init_capacity(const capacity_type& capacity_ctrl, Iterator first, Iterator last, const false_type&) { BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type -#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) - return init_capacity(capacity_ctrl, first, last, std::iterator_traits<Iterator>::iterator_category()); +#if BOOST_WORKAROUND(BOOST_BORLANDC, BOOST_TESTED_AT(0x581)) + return init_capacity(capacity_ctrl, first, last, std::iterator_traits<Iterator>::iterator_category()); #else return init_capacity( - capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); + capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category()); #endif } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class InputIterator> static size_type init_capacity(const capacity_type& capacity_ctrl, InputIterator, InputIterator, const std::input_iterator_tag&) { return capacity_ctrl.capacity(); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class ForwardIterator> static size_type init_capacity(const capacity_type& capacity_ctrl, ForwardIterator first, ForwardIterator last, const std::forward_iterator_tag&) { @@ -1622,13 +1622,13 @@ private: (std::min)(capacity_ctrl.capacity(), static_cast<size_type>(std::distance(first, last)))); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void insert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) { insert(pos, static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void insert(const iterator& pos, Iterator first, Iterator last, const false_type&) { size_type index = pos - begin(); @@ -1636,13 +1636,13 @@ private: circular_buffer<T, Alloc>::insert(begin() + index, first, last); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class IntegralType> void rinsert(const iterator& pos, IntegralType n, IntegralType item, const true_type&) { rinsert(pos, static_cast<size_type>(n), static_cast<value_type>(item)); } - /*! INTERNAL ONLY */ + /*! INTERNAL ONLY */ template <class Iterator> void rinsert(const iterator& pos, Iterator first, Iterator last, const false_type&) { size_type index = pos - begin(); diff --git a/contrib/restricted/boost/boost/config/detail/cxx_composite.hpp b/contrib/restricted/boost/boost/config/detail/cxx_composite.hpp index 618be6b939..ef53eb2d08 100644 --- a/contrib/restricted/boost/boost/config/detail/cxx_composite.hpp +++ b/contrib/restricted/boost/boost/config/detail/cxx_composite.hpp @@ -1,201 +1,201 @@ -// This file was automatically generated on Tue Aug 17 16:27:31 2021 -// by libs/config/tools/generate.cpp -// Copyright John Maddock 2002-21. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -// See http://www.boost.org/libs/config for the most recent version.// -// Revision $Id$ -// - -#if defined(BOOST_NO_ADL_BARRIER)\ - || defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\ - || defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\ - || defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\ - || defined(BOOST_NO_CTYPE_FUNCTIONS)\ - || defined(BOOST_NO_CV_SPECIALIZATIONS)\ - || defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\ - || defined(BOOST_NO_CWCHAR)\ - || defined(BOOST_NO_CWCTYPE)\ - || defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\ - || defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\ - || defined(BOOST_NO_EXCEPTIONS)\ - || defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\ - || defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\ - || defined(BOOST_NO_FENV_H)\ - || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\ - || defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\ - || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\ - || defined(BOOST_NO_INTEGRAL_INT64_T)\ - || defined(BOOST_NO_INTRINSIC_WCHAR_T)\ - || defined(BOOST_NO_IOSFWD)\ - || defined(BOOST_NO_IOSTREAM)\ - || defined(BOOST_NO_IS_ABSTRACT)\ - || defined(BOOST_NO_LIMITS)\ - || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\ - || defined(BOOST_NO_LONG_LONG)\ - || defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\ - || defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\ - || defined(BOOST_NO_MEMBER_TEMPLATES)\ - || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\ - || defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\ - || defined(BOOST_NO_NESTED_FRIENDSHIP)\ - || defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\ - || defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\ - || defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\ - || defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\ - || defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\ - || defined(BOOST_NO_RESTRICT_REFERENCES)\ - || defined(BOOST_NO_RTTI)\ - || defined(BOOST_NO_SFINAE)\ - || defined(BOOST_NO_SFINAE_EXPR)\ - || defined(BOOST_NO_STDC_NAMESPACE)\ - || defined(BOOST_NO_STD_ALLOCATOR)\ - || defined(BOOST_NO_STD_DISTANCE)\ - || defined(BOOST_NO_STD_ITERATOR)\ - || defined(BOOST_NO_STD_ITERATOR_TRAITS)\ - || defined(BOOST_NO_STD_LOCALE)\ - || defined(BOOST_NO_STD_MESSAGES)\ - || defined(BOOST_NO_STD_MIN_MAX)\ - || defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\ - || defined(BOOST_NO_STD_TYPEINFO)\ - || defined(BOOST_NO_STD_USE_FACET)\ - || defined(BOOST_NO_STD_WSTREAMBUF)\ - || defined(BOOST_NO_STD_WSTRING)\ - || defined(BOOST_NO_STRINGSTREAM)\ - || defined(BOOST_NO_TEMPLATED_IOSTREAMS)\ - || defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ - || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\ - || defined(BOOST_NO_TEMPLATE_TEMPLATES)\ - || defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\ - || defined(BOOST_NO_TYPEID)\ - || defined(BOOST_NO_TYPENAME_WITH_CTOR)\ - || defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\ - || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\ - || defined(BOOST_NO_USING_TEMPLATE)\ - || defined(BOOST_NO_VOID_RETURNS) -# define BOOST_NO_CXX03 -#endif - -#if defined(BOOST_NO_CXX03)\ - || defined(BOOST_NO_CXX11_ADDRESSOF)\ - || defined(BOOST_NO_CXX11_ALIGNAS)\ - || defined(BOOST_NO_CXX11_ALLOCATOR)\ - || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ - || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ - || defined(BOOST_NO_CXX11_CHAR16_T)\ - || defined(BOOST_NO_CXX11_CHAR32_T)\ - || defined(BOOST_NO_CXX11_CONSTEXPR)\ - || defined(BOOST_NO_CXX11_DECLTYPE)\ - || defined(BOOST_NO_CXX11_DECLTYPE_N3276)\ - || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\ - || defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\ - || defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\ - || defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\ - || defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\ - || defined(BOOST_NO_CXX11_FINAL)\ - || defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\ - || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\ - || defined(BOOST_NO_CXX11_HDR_ARRAY)\ - || defined(BOOST_NO_CXX11_HDR_ATOMIC)\ - || defined(BOOST_NO_CXX11_HDR_CHRONO)\ - || defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\ - || defined(BOOST_NO_CXX11_HDR_EXCEPTION)\ - || defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\ - || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\ - || defined(BOOST_NO_CXX11_HDR_FUTURE)\ - || defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\ - || defined(BOOST_NO_CXX11_HDR_MUTEX)\ - || defined(BOOST_NO_CXX11_HDR_RANDOM)\ - || defined(BOOST_NO_CXX11_HDR_RATIO)\ - || defined(BOOST_NO_CXX11_HDR_REGEX)\ - || defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\ - || defined(BOOST_NO_CXX11_HDR_THREAD)\ - || defined(BOOST_NO_CXX11_HDR_TUPLE)\ - || defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\ - || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\ - || defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\ - || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\ - || defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\ - || defined(BOOST_NO_CXX11_LAMBDAS)\ - || defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\ - || defined(BOOST_NO_CXX11_NOEXCEPT)\ - || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\ - || defined(BOOST_NO_CXX11_NULLPTR)\ - || defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\ - || defined(BOOST_NO_CXX11_OVERRIDE)\ - || defined(BOOST_NO_CXX11_POINTER_TRAITS)\ - || defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\ - || defined(BOOST_NO_CXX11_RAW_LITERALS)\ - || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\ - || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\ - || defined(BOOST_NO_CXX11_SCOPED_ENUMS)\ - || defined(BOOST_NO_CXX11_SFINAE_EXPR)\ - || defined(BOOST_NO_CXX11_SMART_PTR)\ - || defined(BOOST_NO_CXX11_STATIC_ASSERT)\ - || defined(BOOST_NO_CXX11_STD_ALIGN)\ - || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\ - || defined(BOOST_NO_CXX11_THREAD_LOCAL)\ - || defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\ - || defined(BOOST_NO_CXX11_UNICODE_LITERALS)\ - || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\ - || defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\ - || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\ - || defined(BOOST_NO_CXX11_VARIADIC_MACROS)\ - || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -# define BOOST_NO_CXX11 -#endif - -#if defined(BOOST_NO_CXX11)\ - || defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\ - || defined(BOOST_NO_CXX14_BINARY_LITERALS)\ - || defined(BOOST_NO_CXX14_CONSTEXPR)\ - || defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\ - || defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\ - || defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\ - || defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\ - || defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\ - || defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\ - || defined(BOOST_NO_CXX14_STD_EXCHANGE)\ - || defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) -# define BOOST_NO_CXX14 -#endif - -#if defined(BOOST_NO_CXX14)\ - || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ - || defined(BOOST_NO_CXX17_HDR_ANY)\ - || defined(BOOST_NO_CXX17_HDR_CHARCONV)\ - || defined(BOOST_NO_CXX17_HDR_EXECUTION)\ - || defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\ - || defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\ - || defined(BOOST_NO_CXX17_HDR_OPTIONAL)\ - || defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\ - || defined(BOOST_NO_CXX17_HDR_VARIANT)\ - || defined(BOOST_NO_CXX17_IF_CONSTEXPR)\ - || defined(BOOST_NO_CXX17_INLINE_VARIABLES)\ - || defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\ - || defined(BOOST_NO_CXX17_STD_APPLY)\ - || defined(BOOST_NO_CXX17_STD_INVOKE)\ - || defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) -# define BOOST_NO_CXX17 -#endif - -#if defined(BOOST_NO_CXX17)\ - || defined(BOOST_NO_CXX20_HDR_BARRIER)\ - || defined(BOOST_NO_CXX20_HDR_BIT)\ - || defined(BOOST_NO_CXX20_HDR_COMPARE)\ - || defined(BOOST_NO_CXX20_HDR_CONCEPTS)\ - || defined(BOOST_NO_CXX20_HDR_COROUTINE)\ - || defined(BOOST_NO_CXX20_HDR_FORMAT)\ - || defined(BOOST_NO_CXX20_HDR_LATCH)\ - || defined(BOOST_NO_CXX20_HDR_NUMBERS)\ - || defined(BOOST_NO_CXX20_HDR_RANGES)\ - || defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\ - || defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\ - || defined(BOOST_NO_CXX20_HDR_SPAN)\ - || defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\ - || defined(BOOST_NO_CXX20_HDR_SYNCSTREAM) -# define BOOST_NO_CXX20 -#endif - +// This file was automatically generated on Tue Aug 17 16:27:31 2021 +// by libs/config/tools/generate.cpp +// Copyright John Maddock 2002-21. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version.// +// Revision $Id$ +// + +#if defined(BOOST_NO_ADL_BARRIER)\ + || defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\ + || defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\ + || defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\ + || defined(BOOST_NO_CTYPE_FUNCTIONS)\ + || defined(BOOST_NO_CV_SPECIALIZATIONS)\ + || defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\ + || defined(BOOST_NO_CWCHAR)\ + || defined(BOOST_NO_CWCTYPE)\ + || defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\ + || defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\ + || defined(BOOST_NO_EXCEPTIONS)\ + || defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\ + || defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\ + || defined(BOOST_NO_FENV_H)\ + || defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\ + || defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\ + || defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\ + || defined(BOOST_NO_INTEGRAL_INT64_T)\ + || defined(BOOST_NO_INTRINSIC_WCHAR_T)\ + || defined(BOOST_NO_IOSFWD)\ + || defined(BOOST_NO_IOSTREAM)\ + || defined(BOOST_NO_IS_ABSTRACT)\ + || defined(BOOST_NO_LIMITS)\ + || defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\ + || defined(BOOST_NO_LONG_LONG)\ + || defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\ + || defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\ + || defined(BOOST_NO_MEMBER_TEMPLATES)\ + || defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\ + || defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\ + || defined(BOOST_NO_NESTED_FRIENDSHIP)\ + || defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\ + || defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\ + || defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\ + || defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\ + || defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\ + || defined(BOOST_NO_RESTRICT_REFERENCES)\ + || defined(BOOST_NO_RTTI)\ + || defined(BOOST_NO_SFINAE)\ + || defined(BOOST_NO_SFINAE_EXPR)\ + || defined(BOOST_NO_STDC_NAMESPACE)\ + || defined(BOOST_NO_STD_ALLOCATOR)\ + || defined(BOOST_NO_STD_DISTANCE)\ + || defined(BOOST_NO_STD_ITERATOR)\ + || defined(BOOST_NO_STD_ITERATOR_TRAITS)\ + || defined(BOOST_NO_STD_LOCALE)\ + || defined(BOOST_NO_STD_MESSAGES)\ + || defined(BOOST_NO_STD_MIN_MAX)\ + || defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\ + || defined(BOOST_NO_STD_TYPEINFO)\ + || defined(BOOST_NO_STD_USE_FACET)\ + || defined(BOOST_NO_STD_WSTREAMBUF)\ + || defined(BOOST_NO_STD_WSTRING)\ + || defined(BOOST_NO_STRINGSTREAM)\ + || defined(BOOST_NO_TEMPLATED_IOSTREAMS)\ + || defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\ + || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\ + || defined(BOOST_NO_TEMPLATE_TEMPLATES)\ + || defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\ + || defined(BOOST_NO_TYPEID)\ + || defined(BOOST_NO_TYPENAME_WITH_CTOR)\ + || defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\ + || defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\ + || defined(BOOST_NO_USING_TEMPLATE)\ + || defined(BOOST_NO_VOID_RETURNS) +# define BOOST_NO_CXX03 +#endif + +#if defined(BOOST_NO_CXX03)\ + || defined(BOOST_NO_CXX11_ADDRESSOF)\ + || defined(BOOST_NO_CXX11_ALIGNAS)\ + || defined(BOOST_NO_CXX11_ALLOCATOR)\ + || defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\ + || defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\ + || defined(BOOST_NO_CXX11_CHAR16_T)\ + || defined(BOOST_NO_CXX11_CHAR32_T)\ + || defined(BOOST_NO_CXX11_CONSTEXPR)\ + || defined(BOOST_NO_CXX11_DECLTYPE)\ + || defined(BOOST_NO_CXX11_DECLTYPE_N3276)\ + || defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\ + || defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\ + || defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\ + || defined(BOOST_NO_CXX11_FINAL)\ + || defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\ + || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\ + || defined(BOOST_NO_CXX11_HDR_ARRAY)\ + || defined(BOOST_NO_CXX11_HDR_ATOMIC)\ + || defined(BOOST_NO_CXX11_HDR_CHRONO)\ + || defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\ + || defined(BOOST_NO_CXX11_HDR_EXCEPTION)\ + || defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\ + || defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\ + || defined(BOOST_NO_CXX11_HDR_FUTURE)\ + || defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\ + || defined(BOOST_NO_CXX11_HDR_MUTEX)\ + || defined(BOOST_NO_CXX11_HDR_RANDOM)\ + || defined(BOOST_NO_CXX11_HDR_RATIO)\ + || defined(BOOST_NO_CXX11_HDR_REGEX)\ + || defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\ + || defined(BOOST_NO_CXX11_HDR_THREAD)\ + || defined(BOOST_NO_CXX11_HDR_TUPLE)\ + || defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\ + || defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\ + || defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\ + || defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\ + || defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\ + || defined(BOOST_NO_CXX11_LAMBDAS)\ + || defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\ + || defined(BOOST_NO_CXX11_NOEXCEPT)\ + || defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\ + || defined(BOOST_NO_CXX11_NULLPTR)\ + || defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\ + || defined(BOOST_NO_CXX11_OVERRIDE)\ + || defined(BOOST_NO_CXX11_POINTER_TRAITS)\ + || defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\ + || defined(BOOST_NO_CXX11_RAW_LITERALS)\ + || defined(BOOST_NO_CXX11_REF_QUALIFIERS)\ + || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\ + || defined(BOOST_NO_CXX11_SCOPED_ENUMS)\ + || defined(BOOST_NO_CXX11_SFINAE_EXPR)\ + || defined(BOOST_NO_CXX11_SMART_PTR)\ + || defined(BOOST_NO_CXX11_STATIC_ASSERT)\ + || defined(BOOST_NO_CXX11_STD_ALIGN)\ + || defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\ + || defined(BOOST_NO_CXX11_THREAD_LOCAL)\ + || defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\ + || defined(BOOST_NO_CXX11_UNICODE_LITERALS)\ + || defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\ + || defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\ + || defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\ + || defined(BOOST_NO_CXX11_VARIADIC_MACROS)\ + || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +# define BOOST_NO_CXX11 +#endif + +#if defined(BOOST_NO_CXX11)\ + || defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\ + || defined(BOOST_NO_CXX14_BINARY_LITERALS)\ + || defined(BOOST_NO_CXX14_CONSTEXPR)\ + || defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\ + || defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\ + || defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\ + || defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\ + || defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\ + || defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\ + || defined(BOOST_NO_CXX14_STD_EXCHANGE)\ + || defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES) +# define BOOST_NO_CXX14 +#endif + +#if defined(BOOST_NO_CXX14)\ + || defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\ + || defined(BOOST_NO_CXX17_HDR_ANY)\ + || defined(BOOST_NO_CXX17_HDR_CHARCONV)\ + || defined(BOOST_NO_CXX17_HDR_EXECUTION)\ + || defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\ + || defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\ + || defined(BOOST_NO_CXX17_HDR_OPTIONAL)\ + || defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\ + || defined(BOOST_NO_CXX17_HDR_VARIANT)\ + || defined(BOOST_NO_CXX17_IF_CONSTEXPR)\ + || defined(BOOST_NO_CXX17_INLINE_VARIABLES)\ + || defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\ + || defined(BOOST_NO_CXX17_STD_APPLY)\ + || defined(BOOST_NO_CXX17_STD_INVOKE)\ + || defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) +# define BOOST_NO_CXX17 +#endif + +#if defined(BOOST_NO_CXX17)\ + || defined(BOOST_NO_CXX20_HDR_BARRIER)\ + || defined(BOOST_NO_CXX20_HDR_BIT)\ + || defined(BOOST_NO_CXX20_HDR_COMPARE)\ + || defined(BOOST_NO_CXX20_HDR_CONCEPTS)\ + || defined(BOOST_NO_CXX20_HDR_COROUTINE)\ + || defined(BOOST_NO_CXX20_HDR_FORMAT)\ + || defined(BOOST_NO_CXX20_HDR_LATCH)\ + || defined(BOOST_NO_CXX20_HDR_NUMBERS)\ + || defined(BOOST_NO_CXX20_HDR_RANGES)\ + || defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\ + || defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\ + || defined(BOOST_NO_CXX20_HDR_SPAN)\ + || defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\ + || defined(BOOST_NO_CXX20_HDR_SYNCSTREAM) +# define BOOST_NO_CXX20 +#endif + diff --git a/contrib/restricted/boost/boost/config/detail/suffix.hpp b/contrib/restricted/boost/boost/config/detail/suffix.hpp index e5d9785697..0ec859bd34 100644 --- a/contrib/restricted/boost/boost/config/detail/suffix.hpp +++ b/contrib/restricted/boost/boost/config/detail/suffix.hpp @@ -35,7 +35,7 @@ #endif // -// ensure that visibility macros are always defined, thus simplifying use +// ensure that visibility macros are always defined, thus simplifying use // #ifndef BOOST_SYMBOL_EXPORT # define BOOST_SYMBOL_EXPORT @@ -54,7 +54,7 @@ // no namespace issues from this. // #if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \ - && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) + && !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC) # include <limits.h> # if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) # define BOOST_HAS_LONG_LONG @@ -475,13 +475,13 @@ namespace std { # define BOOST_CTOR_TYPENAME #endif -// -// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __float128 support if present: -// -#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128) -# undef BOOST_HAS_FLOAT128 -#endif - +// +// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __float128 support if present: +// +#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128) +# undef BOOST_HAS_FLOAT128 +#endif + // long long workaround ------------------------------------------// // On gcc (and maybe other compilers?) long long is alway supported // but it's use may generate either warnings (with -ansi), or errors @@ -536,13 +536,13 @@ namespace boost { # define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v) // When BOOST_NO_STD_TYPEINFO is defined, we can just import -// the global definition into std namespace, -// see https://svn.boost.org/trac10/ticket/4115 -#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC) +// the global definition into std namespace, +// see https://svn.boost.org/trac10/ticket/4115 +#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC) #include <typeinfo> namespace std{ using ::type_info; } -// Since we do now have typeinfo, undef the macro: -#undef BOOST_NO_STD_TYPEINFO +// Since we do now have typeinfo, undef the macro: +#undef BOOST_NO_STD_TYPEINFO #endif // ---------------------------------------------------------------------------// @@ -629,9 +629,9 @@ namespace std{ using ::type_info; } // nvcc doesn't always parse __noinline__, // see: https://svn.boost.org/trac/boost/ticket/9392 # define BOOST_NOINLINE __attribute__ ((noinline)) -# elif defined(HIP_VERSION) - // See https://github.com/boostorg/config/issues/392 -# define BOOST_NOINLINE __attribute__ ((noinline)) +# elif defined(HIP_VERSION) + // See https://github.com/boostorg/config/issues/392 +# define BOOST_NOINLINE __attribute__ ((noinline)) # else # define BOOST_NOINLINE __attribute__ ((__noinline__)) # endif @@ -647,7 +647,7 @@ namespace std{ using ::type_info; } #if !defined(BOOST_NORETURN) # if defined(_MSC_VER) # define BOOST_NORETURN __declspec(noreturn) -# elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__) +# elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__) # define BOOST_NORETURN __attribute__ ((__noreturn__)) # elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) # if __has_attribute(noreturn) @@ -680,12 +680,12 @@ namespace std{ using ::type_info; } # define BOOST_UNLIKELY(x) x #endif -#if !defined(BOOST_NO_CXX11_OVERRIDE) -# define BOOST_OVERRIDE override -#else -# define BOOST_OVERRIDE -#endif - +#if !defined(BOOST_NO_CXX11_OVERRIDE) +# define BOOST_OVERRIDE override +#else +# define BOOST_OVERRIDE +#endif + // Type and data alignment specification // #if !defined(BOOST_ALIGNMENT) @@ -962,14 +962,14 @@ namespace std{ using ::type_info; } // ------------------ End of deprecated macros for 1.51 --------------------------- -// -// Helper macro for marking types and methods final -// -#if !defined(BOOST_NO_CXX11_FINAL) -# define BOOST_FINAL final -#else -# define BOOST_FINAL -#endif +// +// Helper macro for marking types and methods final +// +#if !defined(BOOST_NO_CXX11_FINAL) +# define BOOST_FINAL final +#else +# define BOOST_FINAL +#endif // // Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR @@ -977,7 +977,7 @@ namespace std{ using ::type_info; } // #ifdef BOOST_NO_CXX11_NOEXCEPT # define BOOST_NOEXCEPT -# define BOOST_NOEXCEPT_OR_NOTHROW throw() +# define BOOST_NOEXCEPT_OR_NOTHROW throw() # define BOOST_NOEXCEPT_IF(Predicate) # define BOOST_NOEXCEPT_EXPR(Expression) false #else @@ -1014,55 +1014,55 @@ namespace std{ using ::type_info; } #endif // -// C++17 inline variables -// -#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) -#define BOOST_INLINE_VARIABLE inline -#else -#define BOOST_INLINE_VARIABLE -#endif -// -// C++17 if constexpr -// -#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR) -# define BOOST_IF_CONSTEXPR if constexpr -#else -# define BOOST_IF_CONSTEXPR if -#endif - -#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST - -// +// C++17 inline variables +// +#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES) +#define BOOST_INLINE_VARIABLE inline +#else +#define BOOST_INLINE_VARIABLE +#endif +// +// C++17 if constexpr +// +#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR) +# define BOOST_IF_CONSTEXPR if constexpr +#else +# define BOOST_IF_CONSTEXPR if +#endif + +#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST + +// // Unused variable/typedef workarounds: // #ifndef BOOST_ATTRIBUTE_UNUSED # define BOOST_ATTRIBUTE_UNUSED #endif -// -// [[nodiscard]]: -// -#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) -#if __has_attribute(nodiscard) -# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] -#endif -#if __has_attribute(no_unique_address) -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] -#endif -#elif defined(__has_cpp_attribute) -// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic -#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100)) -# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] -#endif -#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] -#endif -#endif -#ifndef BOOST_ATTRIBUTE_NODISCARD -# define BOOST_ATTRIBUTE_NODISCARD -#endif -#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS -#endif +// +// [[nodiscard]]: +// +#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130) +#if __has_attribute(nodiscard) +# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] +#endif +#if __has_attribute(no_unique_address) +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] +#endif +#elif defined(__has_cpp_attribute) +// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic +#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100)) +# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]] +#endif +#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100)) +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]] +#endif +#endif +#ifndef BOOST_ATTRIBUTE_NODISCARD +# define BOOST_ATTRIBUTE_NODISCARD +#endif +#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS +# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS +#endif #define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST @@ -1094,120 +1094,120 @@ namespace std{ using ::type_info; } # define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif -// This is a catch all case for obsolete compilers / std libs: -#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured -#if (!defined(__has_include) || (__cplusplus < 201700)) -# define BOOST_NO_CXX17_HDR_OPTIONAL -# define BOOST_NO_CXX17_HDR_STRING_VIEW -# define BOOST_NO_CXX17_HDR_VARIANT -# define BOOST_NO_CXX17_HDR_ANY -# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE -# define BOOST_NO_CXX17_HDR_CHARCONV -# define BOOST_NO_CXX17_HDR_EXECUTION -# define BOOST_NO_CXX17_HDR_FILESYSTEM -#else -#if !__has_include(<optional>) -# define BOOST_NO_CXX17_HDR_OPTIONAL -#endif -#if !__has_include(<string_view>) -# define BOOST_NO_CXX17_HDR_STRING_VIEW -#endif -#if !__has_include(<variant>) -# define BOOST_NO_CXX17_HDR_VARIANT -#endif -#if !__has_include(<any>) -# define BOOST_NO_CXX17_HDR_ANY -#endif -#if !__has_include(<memory_resource>) -# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE -#endif -#if !__has_include(<charconv>) -# define BOOST_NO_CXX17_HDR_CHARCONV -#endif -#if !__has_include(<execution>) -# define BOOST_NO_CXX17_HDR_EXECUTION -#endif -#if !__has_include(<filesystem>) -# define BOOST_NO_CXX17_HDR_FILESYSTEM -#endif -#endif -#endif - -#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured -#if (!defined(__has_include) || (__cplusplus < 201704)) -# define BOOST_NO_CXX20_HDR_BARRIER -# define BOOST_NO_CXX20_HDR_FORMAT -# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION -# define BOOST_NO_CXX20_HDR_BIT -# define BOOST_NO_CXX20_HDR_LATCH -# define BOOST_NO_CXX20_HDR_SPAN -# define BOOST_NO_CXX20_HDR_COMPARE -# define BOOST_NO_CXX20_HDR_NUMBERS -# define BOOST_NO_CXX20_HDR_STOP_TOKEN -# define BOOST_NO_CXX20_HDR_CONCEPTS -# define BOOST_NO_CXX20_HDR_RANGES -# define BOOST_NO_CXX20_HDR_SYNCSTREAM -# define BOOST_NO_CXX20_HDR_COROUTINE -# define BOOST_NO_CXX20_HDR_SEMAPHORE -#else -#if !__has_include(<barrier>) -# define BOOST_NO_CXX20_HDR_BARRIER -#endif -#if !__has_include(<format>) -# define BOOST_NO_CXX20_HDR_FORMAT -#endif -#if !__has_include(<source_Location>) -# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION -#endif -#if !__has_include(<bit>) -# define BOOST_NO_CXX20_HDR_BIT -#endif -#if !__has_include(<latch>) -# define BOOST_NO_CXX20_HDR_LATCH -#endif -#if !__has_include(<span>) -# define BOOST_NO_CXX20_HDR_SPAN -#endif -#if !__has_include(<compare>) -# define BOOST_NO_CXX20_HDR_COMPARE -#endif -#if !__has_include(<numbers>) -# define BOOST_NO_CXX20_HDR_NUMBERS -#endif -#if !__has_include(<stop_token>) -# define BOOST_NO_CXX20_HDR_STOP_TOKEN -#endif -#if !__has_include(<concepts>) -# define BOOST_NO_CXX20_HDR_CONCEPTS -#endif -#if !__has_include(<ranges>) -# define BOOST_NO_CXX20_HDR_RANGES -#endif -#if !__has_include(<syncstream>) -# define BOOST_NO_CXX20_HDR_SYNCSTREAM -#endif -#if !__has_include(<coroutine>) -# define BOOST_NO_CXX20_HDR_COROUTINE -#endif -#if !__has_include(<semaphore>) -# define BOOST_NO_CXX20_HDR_SEMAPHORE -#endif -#endif -#endif - -// -// Define composite agregate macros: -// -#include <boost/config/detail/cxx_composite.hpp> - -// -// Define the std level that the compiler claims to support: -// -#ifndef BOOST_CXX_VERSION -# define BOOST_CXX_VERSION __cplusplus -#endif - -// +// This is a catch all case for obsolete compilers / std libs: +#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured +#if (!defined(__has_include) || (__cplusplus < 201700)) +# define BOOST_NO_CXX17_HDR_OPTIONAL +# define BOOST_NO_CXX17_HDR_STRING_VIEW +# define BOOST_NO_CXX17_HDR_VARIANT +# define BOOST_NO_CXX17_HDR_ANY +# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +# define BOOST_NO_CXX17_HDR_CHARCONV +# define BOOST_NO_CXX17_HDR_EXECUTION +# define BOOST_NO_CXX17_HDR_FILESYSTEM +#else +#if !__has_include(<optional>) +# define BOOST_NO_CXX17_HDR_OPTIONAL +#endif +#if !__has_include(<string_view>) +# define BOOST_NO_CXX17_HDR_STRING_VIEW +#endif +#if !__has_include(<variant>) +# define BOOST_NO_CXX17_HDR_VARIANT +#endif +#if !__has_include(<any>) +# define BOOST_NO_CXX17_HDR_ANY +#endif +#if !__has_include(<memory_resource>) +# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE +#endif +#if !__has_include(<charconv>) +# define BOOST_NO_CXX17_HDR_CHARCONV +#endif +#if !__has_include(<execution>) +# define BOOST_NO_CXX17_HDR_EXECUTION +#endif +#if !__has_include(<filesystem>) +# define BOOST_NO_CXX17_HDR_FILESYSTEM +#endif +#endif +#endif + +#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured +#if (!defined(__has_include) || (__cplusplus < 201704)) +# define BOOST_NO_CXX20_HDR_BARRIER +# define BOOST_NO_CXX20_HDR_FORMAT +# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION +# define BOOST_NO_CXX20_HDR_BIT +# define BOOST_NO_CXX20_HDR_LATCH +# define BOOST_NO_CXX20_HDR_SPAN +# define BOOST_NO_CXX20_HDR_COMPARE +# define BOOST_NO_CXX20_HDR_NUMBERS +# define BOOST_NO_CXX20_HDR_STOP_TOKEN +# define BOOST_NO_CXX20_HDR_CONCEPTS +# define BOOST_NO_CXX20_HDR_RANGES +# define BOOST_NO_CXX20_HDR_SYNCSTREAM +# define BOOST_NO_CXX20_HDR_COROUTINE +# define BOOST_NO_CXX20_HDR_SEMAPHORE +#else +#if !__has_include(<barrier>) +# define BOOST_NO_CXX20_HDR_BARRIER +#endif +#if !__has_include(<format>) +# define BOOST_NO_CXX20_HDR_FORMAT +#endif +#if !__has_include(<source_Location>) +# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION +#endif +#if !__has_include(<bit>) +# define BOOST_NO_CXX20_HDR_BIT +#endif +#if !__has_include(<latch>) +# define BOOST_NO_CXX20_HDR_LATCH +#endif +#if !__has_include(<span>) +# define BOOST_NO_CXX20_HDR_SPAN +#endif +#if !__has_include(<compare>) +# define BOOST_NO_CXX20_HDR_COMPARE +#endif +#if !__has_include(<numbers>) +# define BOOST_NO_CXX20_HDR_NUMBERS +#endif +#if !__has_include(<stop_token>) +# define BOOST_NO_CXX20_HDR_STOP_TOKEN +#endif +#if !__has_include(<concepts>) +# define BOOST_NO_CXX20_HDR_CONCEPTS +#endif +#if !__has_include(<ranges>) +# define BOOST_NO_CXX20_HDR_RANGES +#endif +#if !__has_include(<syncstream>) +# define BOOST_NO_CXX20_HDR_SYNCSTREAM +#endif +#if !__has_include(<coroutine>) +# define BOOST_NO_CXX20_HDR_COROUTINE +#endif +#if !__has_include(<semaphore>) +# define BOOST_NO_CXX20_HDR_SEMAPHORE +#endif +#endif +#endif + +// +// Define composite agregate macros: +// +#include <boost/config/detail/cxx_composite.hpp> + +// +// Define the std level that the compiler claims to support: +// +#ifndef BOOST_CXX_VERSION +# define BOOST_CXX_VERSION __cplusplus +#endif + +// // Finish off with checks for macros that are depricated / no longer supported, // if any of these are set then it's very likely that much of Boost will no // longer work. So stop with a #error for now, but give the user a chance diff --git a/contrib/restricted/boost/boost/core/allocator_access.hpp b/contrib/restricted/boost/boost/core/allocator_access.hpp index 764c1222dd..6c9c579d0d 100644 --- a/contrib/restricted/boost/boost/core/allocator_access.hpp +++ b/contrib/restricted/boost/boost/core/allocator_access.hpp @@ -1,601 +1,601 @@ -/* -Copyright 2020-2021 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_CORE_ALLOCATOR_ACCESS_HPP -#define BOOST_CORE_ALLOCATOR_ACCESS_HPP - -#include <boost/config.hpp> -#if !defined(BOOST_NO_CXX11_ALLOCATOR) -#include <boost/core/pointer_traits.hpp> -#include <limits> -#include <type_traits> -#endif -#include <new> -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include <utility> -#endif - -#if defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) -_LIBCPP_SUPPRESS_DEPRECATED_PUSH -#endif -#if defined(_STL_DISABLE_DEPRECATED_WARNING) -_STL_DISABLE_DEPRECATED_WARNING -#endif -#if defined(_MSC_VER) -#pragma warning(push) -#pragma warning(disable:4996) -#endif - -namespace boost { - -template<class A> -struct allocator_value_type { - typedef typename A::value_type type; -}; - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_pointer { - typedef typename A::pointer type; -}; -#else -template<class A, class = void> -struct allocator_pointer { - typedef typename A::value_type* type; -}; - -namespace detail { - -template<class> -struct alloc_void { - typedef void type; -}; - -} /* detail */ - -template<class A> -struct allocator_pointer<A, - typename detail::alloc_void<typename A::pointer>::type> { - typedef typename A::pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_const_pointer { - typedef typename A::const_pointer type; -}; -#else -template<class A, class = void> -struct allocator_const_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<const typename A::value_type>::type type; -}; - -template<class A> -struct allocator_const_pointer<A, - typename detail::alloc_void<typename A::const_pointer>::type> { - typedef typename A::const_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_void_pointer { - typedef typename A::template rebind<void>::other::pointer type; -}; -#else -template<class A, class = void> -struct allocator_void_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<void>::type type; -}; - -template<class A> -struct allocator_void_pointer<A, - typename detail::alloc_void<typename A::void_pointer>::type> { - typedef typename A::void_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_const_void_pointer { - typedef typename A::template rebind<void>::other::const_pointer type; -}; -#else -template<class A, class = void> -struct allocator_const_void_pointer { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::template - rebind_to<const void>::type type; -}; - -template<class A> -struct allocator_const_void_pointer<A, - typename detail::alloc_void<typename A::const_void_pointer>::type> { - typedef typename A::const_void_pointer type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_difference_type { - typedef typename A::difference_type type; -}; -#else -template<class A, class = void> -struct allocator_difference_type { - typedef typename pointer_traits<typename - allocator_pointer<A>::type>::difference_type type; -}; - -template<class A> -struct allocator_difference_type<A, - typename detail::alloc_void<typename A::difference_type>::type> { - typedef typename A::difference_type type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_size_type { - typedef typename A::size_type type; -}; -#else -template<class A, class = void> -struct allocator_size_type { - typedef typename std::make_unsigned<typename - allocator_difference_type<A>::type>::type type; -}; - -template<class A> -struct allocator_size_type<A, - typename detail::alloc_void<typename A::size_type>::type> { - typedef typename A::size_type type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -namespace detail { - -struct alloc_false { - BOOST_STATIC_CONSTEXPR bool value = false; -}; - -} /* detail */ - -template<class A> -struct allocator_propagate_on_container_copy_assignment { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_copy_assignment { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_copy_assignment<A, - typename detail::alloc_void<typename - A::propagate_on_container_copy_assignment>::type> { - typedef typename A::propagate_on_container_copy_assignment type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_propagate_on_container_move_assignment { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_move_assignment { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_move_assignment<A, - typename detail::alloc_void<typename - A::propagate_on_container_move_assignment>::type> { - typedef typename A::propagate_on_container_move_assignment type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_propagate_on_container_swap { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_propagate_on_container_swap { - typedef std::false_type type; -}; - -template<class A> -struct allocator_propagate_on_container_swap<A, - typename detail::alloc_void<typename - A::propagate_on_container_swap>::type> { - typedef typename A::propagate_on_container_swap type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -struct allocator_is_always_equal { - typedef detail::alloc_false type; -}; -#else -template<class A, class = void> -struct allocator_is_always_equal { - typedef typename std::is_empty<A>::type type; -}; - -template<class A> -struct allocator_is_always_equal<A, - typename detail::alloc_void<typename A::is_always_equal>::type> { - typedef typename A::is_always_equal type; -}; -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -struct allocator_rebind { - typedef typename A::template rebind<T>::other type; -}; -#else -namespace detail { - -template<class, class> -struct alloc_to { }; - -template<template<class, class...> class A, class T, class U, class... V> -struct alloc_to<A<U, V...>, T> { - typedef A<T, V...> type; -}; - -} /* detail */ - -template<class A, class T, class = void> -struct allocator_rebind { - typedef typename detail::alloc_to<A, T>::type type; -}; - -template<class A, class T> -struct allocator_rebind<A, T, - typename detail::alloc_void<typename A::template rebind<T>::other>::type> { - typedef typename A::template rebind<T>::other type; -}; -#endif - -template<class A> -inline typename allocator_pointer<A>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n) -{ - return a.allocate(n); -} - -template<class A> -inline void -allocator_deallocate(A& a, typename allocator_pointer<A>::type p, - typename allocator_size_type<A>::type n) -{ - a.deallocate(p, n); -} - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline typename allocator_pointer<A>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type h) -{ - return a.allocate(n, h); -} -#else -namespace detail { - -struct alloc_none { }; - -template<class A> -class alloc_has_allocate { - template<class O> - static auto check(int) -> decltype(std::declval<O&>().allocate( - std::declval<typename allocator_size_type<A>::type>(), - std::declval<typename allocator_const_void_pointer<A>::type>())); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_allocate<A>::value, - typename allocator_pointer<A>::type>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type h) -{ - return a.allocate(n, h); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_allocate<A>::value, - typename allocator_pointer<A>::type>::type -allocator_allocate(A& a, typename allocator_size_type<A>::type n, - typename allocator_const_void_pointer<A>::type) -{ - return a.allocate(n); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -inline void -allocator_construct(A&, T* p) -{ - ::new((void*)p) T(); -} - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template<class A, class T, class V, class... Args> -inline void -allocator_construct(A&, T* p, V&& v, Args&&... args) -{ - ::new((void*)p) T(std::forward<V>(v), std::forward<Args>(args)...); -} -#else -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, V&& v) -{ - ::new((void*)p) T(std::forward<V>(v)); -} -#endif -#else -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, const V& v) -{ - ::new((void*)p) T(v); -} - -template<class A, class T, class V> -inline void -allocator_construct(A&, T* p, V& v) -{ - ::new((void*)p) T(v); -} -#endif -#else -namespace detail { - -template<class A, class T, class... Args> -class alloc_has_construct { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().construct(std::declval<T*>(), - std::declval<Args&&>()...)); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A, class T, class... Args> -inline typename std::enable_if<detail::alloc_has_construct<A, T, - Args...>::value>::type -allocator_construct(A& a, T* p, Args&&... args) -{ - a.construct(p, std::forward<Args>(args)...); -} - -template<class A, class T, class... Args> -inline typename std::enable_if<!detail::alloc_has_construct<A, T, - Args...>::value>::type -allocator_construct(A&, T* p, Args&&... args) -{ - ::new((void*)p) T(std::forward<Args>(args)...); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A, class T> -inline void -allocator_destroy(A&, T* p) -{ - p->~T(); - (void)p; -} -#else -namespace detail { - -template<class A, class T> -class alloc_has_destroy { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().destroy(std::declval<T*>())); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A, class T> -inline typename std::enable_if<detail::alloc_has_destroy<A, T>::value>::type -allocator_destroy(A& a, T* p) -{ - a.destroy(p); -} - -template<class A, class T> -inline typename std::enable_if<!detail::alloc_has_destroy<A, T>::value>::type -allocator_destroy(A&, T* p) -{ - p->~T(); - (void)p; -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline typename allocator_size_type<A>::type -allocator_max_size(const A& a) -{ - return a.max_size(); -} -#else -namespace detail { - -template<class A> -class alloc_has_max_size { - template<class O> - static auto check(int) -> decltype(std::declval<O&>().max_size()); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_max_size<A>::value, - typename allocator_size_type<A>::type>::type -allocator_max_size(const A& a) -{ - return a.max_size(); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_max_size<A>::value, - typename allocator_size_type<A>::type>::type -allocator_max_size(const A&) -{ - return (std::numeric_limits<typename - allocator_size_type<A>::type>::max)() / sizeof(typename A::value_type); -} -#endif - -#if defined(BOOST_NO_CXX11_ALLOCATOR) -template<class A> -inline A -allocator_select_on_container_copy_construction(const A& a) -{ - return a; -} -#else -namespace detail { - -template<class A> -class alloc_has_soccc { - template<class O> - static auto check(int) - -> decltype(std::declval<O&>().select_on_container_copy_construction()); - - template<class> - static alloc_none check(long); - -public: - BOOST_STATIC_CONSTEXPR bool value = - !std::is_same<decltype(check<A>(0)), alloc_none>::value; -}; - -} /* detail */ - -template<class A> -inline typename std::enable_if<detail::alloc_has_soccc<A>::value, A>::type -allocator_select_on_container_copy_construction(const A& a) -{ - return a.select_on_container_copy_construction(); -} - -template<class A> -inline typename std::enable_if<!detail::alloc_has_soccc<A>::value, A>::type -allocator_select_on_container_copy_construction(const A& a) -{ - return a; -} -#endif - -#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) -template<class A> -using allocator_value_type_t = typename allocator_value_type<A>::type; - -template<class A> -using allocator_pointer_t = typename allocator_pointer<A>::type; - -template<class A> -using allocator_const_pointer_t = typename allocator_const_pointer<A>::type; - -template<class A> -using allocator_void_pointer_t = typename allocator_void_pointer<A>::type; - -template<class A> -using allocator_const_void_pointer_t = - typename allocator_const_void_pointer<A>::type; - -template<class A> -using allocator_difference_type_t = - typename allocator_difference_type<A>::type; - -template<class A> -using allocator_size_type_t = typename allocator_size_type<A>::type; - -template<class A> -using allocator_propagate_on_container_copy_assignment_t = - typename allocator_propagate_on_container_copy_assignment<A>::type; - -template<class A> -using allocator_propagate_on_container_move_assignment_t = - typename allocator_propagate_on_container_move_assignment<A>::type; - -template<class A> -using allocator_propagate_on_container_swap_t = - typename allocator_propagate_on_container_swap<A>::type; - -template<class A> -using allocator_is_always_equal_t = - typename allocator_is_always_equal<A>::type; - -template<class A, class T> -using allocator_rebind_t = typename allocator_rebind<A, T>::type; -#endif - -} /* boost */ - -#if defined(_LIBCPP_SUPPRESS_DEPRECATED_POP) -_LIBCPP_SUPPRESS_DEPRECATED_POP -#endif -#if defined(_STL_RESTORE_DEPRECATED_WARNING) -_STL_RESTORE_DEPRECATED_WARNING -#endif -#if defined(_MSC_VER) -#pragma warning(pop) -#endif - -#endif +/* +Copyright 2020-2021 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_CORE_ALLOCATOR_ACCESS_HPP +#define BOOST_CORE_ALLOCATOR_ACCESS_HPP + +#include <boost/config.hpp> +#if !defined(BOOST_NO_CXX11_ALLOCATOR) +#include <boost/core/pointer_traits.hpp> +#include <limits> +#include <type_traits> +#endif +#include <new> +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#include <utility> +#endif + +#if defined(_LIBCPP_SUPPRESS_DEPRECATED_PUSH) +_LIBCPP_SUPPRESS_DEPRECATED_PUSH +#endif +#if defined(_STL_DISABLE_DEPRECATED_WARNING) +_STL_DISABLE_DEPRECATED_WARNING +#endif +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable:4996) +#endif + +namespace boost { + +template<class A> +struct allocator_value_type { + typedef typename A::value_type type; +}; + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_pointer { + typedef typename A::pointer type; +}; +#else +template<class A, class = void> +struct allocator_pointer { + typedef typename A::value_type* type; +}; + +namespace detail { + +template<class> +struct alloc_void { + typedef void type; +}; + +} /* detail */ + +template<class A> +struct allocator_pointer<A, + typename detail::alloc_void<typename A::pointer>::type> { + typedef typename A::pointer type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_const_pointer { + typedef typename A::const_pointer type; +}; +#else +template<class A, class = void> +struct allocator_const_pointer { + typedef typename pointer_traits<typename + allocator_pointer<A>::type>::template + rebind_to<const typename A::value_type>::type type; +}; + +template<class A> +struct allocator_const_pointer<A, + typename detail::alloc_void<typename A::const_pointer>::type> { + typedef typename A::const_pointer type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_void_pointer { + typedef typename A::template rebind<void>::other::pointer type; +}; +#else +template<class A, class = void> +struct allocator_void_pointer { + typedef typename pointer_traits<typename + allocator_pointer<A>::type>::template + rebind_to<void>::type type; +}; + +template<class A> +struct allocator_void_pointer<A, + typename detail::alloc_void<typename A::void_pointer>::type> { + typedef typename A::void_pointer type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_const_void_pointer { + typedef typename A::template rebind<void>::other::const_pointer type; +}; +#else +template<class A, class = void> +struct allocator_const_void_pointer { + typedef typename pointer_traits<typename + allocator_pointer<A>::type>::template + rebind_to<const void>::type type; +}; + +template<class A> +struct allocator_const_void_pointer<A, + typename detail::alloc_void<typename A::const_void_pointer>::type> { + typedef typename A::const_void_pointer type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_difference_type { + typedef typename A::difference_type type; +}; +#else +template<class A, class = void> +struct allocator_difference_type { + typedef typename pointer_traits<typename + allocator_pointer<A>::type>::difference_type type; +}; + +template<class A> +struct allocator_difference_type<A, + typename detail::alloc_void<typename A::difference_type>::type> { + typedef typename A::difference_type type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_size_type { + typedef typename A::size_type type; +}; +#else +template<class A, class = void> +struct allocator_size_type { + typedef typename std::make_unsigned<typename + allocator_difference_type<A>::type>::type type; +}; + +template<class A> +struct allocator_size_type<A, + typename detail::alloc_void<typename A::size_type>::type> { + typedef typename A::size_type type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +namespace detail { + +struct alloc_false { + BOOST_STATIC_CONSTEXPR bool value = false; +}; + +} /* detail */ + +template<class A> +struct allocator_propagate_on_container_copy_assignment { + typedef detail::alloc_false type; +}; +#else +template<class A, class = void> +struct allocator_propagate_on_container_copy_assignment { + typedef std::false_type type; +}; + +template<class A> +struct allocator_propagate_on_container_copy_assignment<A, + typename detail::alloc_void<typename + A::propagate_on_container_copy_assignment>::type> { + typedef typename A::propagate_on_container_copy_assignment type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_propagate_on_container_move_assignment { + typedef detail::alloc_false type; +}; +#else +template<class A, class = void> +struct allocator_propagate_on_container_move_assignment { + typedef std::false_type type; +}; + +template<class A> +struct allocator_propagate_on_container_move_assignment<A, + typename detail::alloc_void<typename + A::propagate_on_container_move_assignment>::type> { + typedef typename A::propagate_on_container_move_assignment type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_propagate_on_container_swap { + typedef detail::alloc_false type; +}; +#else +template<class A, class = void> +struct allocator_propagate_on_container_swap { + typedef std::false_type type; +}; + +template<class A> +struct allocator_propagate_on_container_swap<A, + typename detail::alloc_void<typename + A::propagate_on_container_swap>::type> { + typedef typename A::propagate_on_container_swap type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +struct allocator_is_always_equal { + typedef detail::alloc_false type; +}; +#else +template<class A, class = void> +struct allocator_is_always_equal { + typedef typename std::is_empty<A>::type type; +}; + +template<class A> +struct allocator_is_always_equal<A, + typename detail::alloc_void<typename A::is_always_equal>::type> { + typedef typename A::is_always_equal type; +}; +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A, class T> +struct allocator_rebind { + typedef typename A::template rebind<T>::other type; +}; +#else +namespace detail { + +template<class, class> +struct alloc_to { }; + +template<template<class, class...> class A, class T, class U, class... V> +struct alloc_to<A<U, V...>, T> { + typedef A<T, V...> type; +}; + +} /* detail */ + +template<class A, class T, class = void> +struct allocator_rebind { + typedef typename detail::alloc_to<A, T>::type type; +}; + +template<class A, class T> +struct allocator_rebind<A, T, + typename detail::alloc_void<typename A::template rebind<T>::other>::type> { + typedef typename A::template rebind<T>::other type; +}; +#endif + +template<class A> +inline typename allocator_pointer<A>::type +allocator_allocate(A& a, typename allocator_size_type<A>::type n) +{ + return a.allocate(n); +} + +template<class A> +inline void +allocator_deallocate(A& a, typename allocator_pointer<A>::type p, + typename allocator_size_type<A>::type n) +{ + a.deallocate(p, n); +} + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +inline typename allocator_pointer<A>::type +allocator_allocate(A& a, typename allocator_size_type<A>::type n, + typename allocator_const_void_pointer<A>::type h) +{ + return a.allocate(n, h); +} +#else +namespace detail { + +struct alloc_none { }; + +template<class A> +class alloc_has_allocate { + template<class O> + static auto check(int) -> decltype(std::declval<O&>().allocate( + std::declval<typename allocator_size_type<A>::type>(), + std::declval<typename allocator_const_void_pointer<A>::type>())); + + template<class> + static alloc_none check(long); + +public: + BOOST_STATIC_CONSTEXPR bool value = + !std::is_same<decltype(check<A>(0)), alloc_none>::value; +}; + +} /* detail */ + +template<class A> +inline typename std::enable_if<detail::alloc_has_allocate<A>::value, + typename allocator_pointer<A>::type>::type +allocator_allocate(A& a, typename allocator_size_type<A>::type n, + typename allocator_const_void_pointer<A>::type h) +{ + return a.allocate(n, h); +} + +template<class A> +inline typename std::enable_if<!detail::alloc_has_allocate<A>::value, + typename allocator_pointer<A>::type>::type +allocator_allocate(A& a, typename allocator_size_type<A>::type n, + typename allocator_const_void_pointer<A>::type) +{ + return a.allocate(n); +} +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A, class T> +inline void +allocator_construct(A&, T* p) +{ + ::new((void*)p) T(); +} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +template<class A, class T, class V, class... Args> +inline void +allocator_construct(A&, T* p, V&& v, Args&&... args) +{ + ::new((void*)p) T(std::forward<V>(v), std::forward<Args>(args)...); +} +#else +template<class A, class T, class V> +inline void +allocator_construct(A&, T* p, V&& v) +{ + ::new((void*)p) T(std::forward<V>(v)); +} +#endif +#else +template<class A, class T, class V> +inline void +allocator_construct(A&, T* p, const V& v) +{ + ::new((void*)p) T(v); +} + +template<class A, class T, class V> +inline void +allocator_construct(A&, T* p, V& v) +{ + ::new((void*)p) T(v); +} +#endif +#else +namespace detail { + +template<class A, class T, class... Args> +class alloc_has_construct { + template<class O> + static auto check(int) + -> decltype(std::declval<O&>().construct(std::declval<T*>(), + std::declval<Args&&>()...)); + + template<class> + static alloc_none check(long); + +public: + BOOST_STATIC_CONSTEXPR bool value = + !std::is_same<decltype(check<A>(0)), alloc_none>::value; +}; + +} /* detail */ + +template<class A, class T, class... Args> +inline typename std::enable_if<detail::alloc_has_construct<A, T, + Args...>::value>::type +allocator_construct(A& a, T* p, Args&&... args) +{ + a.construct(p, std::forward<Args>(args)...); +} + +template<class A, class T, class... Args> +inline typename std::enable_if<!detail::alloc_has_construct<A, T, + Args...>::value>::type +allocator_construct(A&, T* p, Args&&... args) +{ + ::new((void*)p) T(std::forward<Args>(args)...); +} +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A, class T> +inline void +allocator_destroy(A&, T* p) +{ + p->~T(); + (void)p; +} +#else +namespace detail { + +template<class A, class T> +class alloc_has_destroy { + template<class O> + static auto check(int) + -> decltype(std::declval<O&>().destroy(std::declval<T*>())); + + template<class> + static alloc_none check(long); + +public: + BOOST_STATIC_CONSTEXPR bool value = + !std::is_same<decltype(check<A>(0)), alloc_none>::value; +}; + +} /* detail */ + +template<class A, class T> +inline typename std::enable_if<detail::alloc_has_destroy<A, T>::value>::type +allocator_destroy(A& a, T* p) +{ + a.destroy(p); +} + +template<class A, class T> +inline typename std::enable_if<!detail::alloc_has_destroy<A, T>::value>::type +allocator_destroy(A&, T* p) +{ + p->~T(); + (void)p; +} +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +inline typename allocator_size_type<A>::type +allocator_max_size(const A& a) +{ + return a.max_size(); +} +#else +namespace detail { + +template<class A> +class alloc_has_max_size { + template<class O> + static auto check(int) -> decltype(std::declval<O&>().max_size()); + + template<class> + static alloc_none check(long); + +public: + BOOST_STATIC_CONSTEXPR bool value = + !std::is_same<decltype(check<A>(0)), alloc_none>::value; +}; + +} /* detail */ + +template<class A> +inline typename std::enable_if<detail::alloc_has_max_size<A>::value, + typename allocator_size_type<A>::type>::type +allocator_max_size(const A& a) +{ + return a.max_size(); +} + +template<class A> +inline typename std::enable_if<!detail::alloc_has_max_size<A>::value, + typename allocator_size_type<A>::type>::type +allocator_max_size(const A&) +{ + return (std::numeric_limits<typename + allocator_size_type<A>::type>::max)() / sizeof(typename A::value_type); +} +#endif + +#if defined(BOOST_NO_CXX11_ALLOCATOR) +template<class A> +inline A +allocator_select_on_container_copy_construction(const A& a) +{ + return a; +} +#else +namespace detail { + +template<class A> +class alloc_has_soccc { + template<class O> + static auto check(int) + -> decltype(std::declval<O&>().select_on_container_copy_construction()); + + template<class> + static alloc_none check(long); + +public: + BOOST_STATIC_CONSTEXPR bool value = + !std::is_same<decltype(check<A>(0)), alloc_none>::value; +}; + +} /* detail */ + +template<class A> +inline typename std::enable_if<detail::alloc_has_soccc<A>::value, A>::type +allocator_select_on_container_copy_construction(const A& a) +{ + return a.select_on_container_copy_construction(); +} + +template<class A> +inline typename std::enable_if<!detail::alloc_has_soccc<A>::value, A>::type +allocator_select_on_container_copy_construction(const A& a) +{ + return a; +} +#endif + +#if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) +template<class A> +using allocator_value_type_t = typename allocator_value_type<A>::type; + +template<class A> +using allocator_pointer_t = typename allocator_pointer<A>::type; + +template<class A> +using allocator_const_pointer_t = typename allocator_const_pointer<A>::type; + +template<class A> +using allocator_void_pointer_t = typename allocator_void_pointer<A>::type; + +template<class A> +using allocator_const_void_pointer_t = + typename allocator_const_void_pointer<A>::type; + +template<class A> +using allocator_difference_type_t = + typename allocator_difference_type<A>::type; + +template<class A> +using allocator_size_type_t = typename allocator_size_type<A>::type; + +template<class A> +using allocator_propagate_on_container_copy_assignment_t = + typename allocator_propagate_on_container_copy_assignment<A>::type; + +template<class A> +using allocator_propagate_on_container_move_assignment_t = + typename allocator_propagate_on_container_move_assignment<A>::type; + +template<class A> +using allocator_propagate_on_container_swap_t = + typename allocator_propagate_on_container_swap<A>::type; + +template<class A> +using allocator_is_always_equal_t = + typename allocator_is_always_equal<A>::type; + +template<class A, class T> +using allocator_rebind_t = typename allocator_rebind<A, T>::type; +#endif + +} /* boost */ + +#if defined(_LIBCPP_SUPPRESS_DEPRECATED_POP) +_LIBCPP_SUPPRESS_DEPRECATED_POP +#endif +#if defined(_STL_RESTORE_DEPRECATED_WARNING) +_STL_RESTORE_DEPRECATED_WARNING +#endif +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#endif diff --git a/contrib/restricted/boost/boost/core/empty_value.hpp b/contrib/restricted/boost/boost/core/empty_value.hpp index 2ac2331d1f..e14708c907 100644 --- a/contrib/restricted/boost/boost/core/empty_value.hpp +++ b/contrib/restricted/boost/boost/core/empty_value.hpp @@ -1,146 +1,146 @@ -/* -Copyright 2018 Glen Joseph Fernandes -(glenjofe@gmail.com) - -Distributed under the Boost Software License, Version 1.0. -(http://www.boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_CORE_EMPTY_VALUE_HPP -#define BOOST_CORE_EMPTY_VALUE_HPP - -#include <boost/config.hpp> -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#include <utility> -#endif - -#if defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION >= 40700) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1800) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1800) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#elif defined(BOOST_CLANG) && !defined(__CUDACC__) -#if __has_feature(is_empty) && __has_feature(is_final) -#define BOOST_DETAIL_EMPTY_VALUE_BASE -#endif -#endif - -namespace boost { - -template<class T> -struct use_empty_value_base { - enum { -#if defined(BOOST_DETAIL_EMPTY_VALUE_BASE) - value = __is_empty(T) && !__is_final(T) -#else - value = false -#endif - }; -}; - -struct empty_init_t { }; - -namespace empty_ { - -template<class T, unsigned N = 0, - bool E = boost::use_empty_value_base<T>::value> -class empty_value { -public: - typedef T type; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - empty_value() = default; -#else - empty_value() { } -#endif - - empty_value(boost::empty_init_t) - : value_() { } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template<class U, class... Args> - empty_value(boost::empty_init_t, U&& value, Args&&... args) - : value_(std::forward<U>(value), std::forward<Args>(args)...) { } -#else - template<class U> - empty_value(boost::empty_init_t, U&& value) - : value_(std::forward<U>(value)) { } -#endif -#else - template<class U> - empty_value(boost::empty_init_t, const U& value) - : value_(value) { } - - template<class U> - empty_value(boost::empty_init_t, U& value) - : value_(value) { } -#endif - - const T& get() const BOOST_NOEXCEPT { - return value_; - } - - T& get() BOOST_NOEXCEPT { - return value_; - } - -private: - T value_; -}; - -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) -template<class T, unsigned N> -class empty_value<T, N, true> - : T { -public: - typedef T type; - -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - empty_value() = default; -#else - empty_value() { } -#endif - - empty_value(boost::empty_init_t) - : T() { } - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template<class U, class... Args> - empty_value(boost::empty_init_t, U&& value, Args&&... args) - : T(std::forward<U>(value), std::forward<Args>(args)...) { } -#else - template<class U> - empty_value(boost::empty_init_t, U&& value) - : T(std::forward<U>(value)) { } -#endif -#else - template<class U> - empty_value(boost::empty_init_t, const U& value) - : T(value) { } - - template<class U> - empty_value(boost::empty_init_t, U& value) - : T(value) { } -#endif - - const T& get() const BOOST_NOEXCEPT { - return *this; - } - - T& get() BOOST_NOEXCEPT { - return *this; - } -}; -#endif - -} /* empty_ */ - -using empty_::empty_value; - -BOOST_INLINE_CONSTEXPR empty_init_t empty_init = empty_init_t(); - -} /* boost */ - -#endif +/* +Copyright 2018 Glen Joseph Fernandes +(glenjofe@gmail.com) + +Distributed under the Boost Software License, Version 1.0. +(http://www.boost.org/LICENSE_1_0.txt) +*/ +#ifndef BOOST_CORE_EMPTY_VALUE_HPP +#define BOOST_CORE_EMPTY_VALUE_HPP + +#include <boost/config.hpp> +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#include <utility> +#endif + +#if defined(BOOST_GCC_VERSION) && (BOOST_GCC_VERSION >= 40700) +#define BOOST_DETAIL_EMPTY_VALUE_BASE +#elif defined(BOOST_INTEL) && defined(_MSC_VER) && (_MSC_VER >= 1800) +#define BOOST_DETAIL_EMPTY_VALUE_BASE +#elif defined(BOOST_MSVC) && (BOOST_MSVC >= 1800) +#define BOOST_DETAIL_EMPTY_VALUE_BASE +#elif defined(BOOST_CLANG) && !defined(__CUDACC__) +#if __has_feature(is_empty) && __has_feature(is_final) +#define BOOST_DETAIL_EMPTY_VALUE_BASE +#endif +#endif + +namespace boost { + +template<class T> +struct use_empty_value_base { + enum { +#if defined(BOOST_DETAIL_EMPTY_VALUE_BASE) + value = __is_empty(T) && !__is_final(T) +#else + value = false +#endif + }; +}; + +struct empty_init_t { }; + +namespace empty_ { + +template<class T, unsigned N = 0, + bool E = boost::use_empty_value_base<T>::value> +class empty_value { +public: + typedef T type; + +#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) + empty_value() = default; +#else + empty_value() { } +#endif + + empty_value(boost::empty_init_t) + : value_() { } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) + template<class U, class... Args> + empty_value(boost::empty_init_t, U&& value, Args&&... args) + : value_(std::forward<U>(value), std::forward<Args>(args)...) { } +#else + template<class U> + empty_value(boost::empty_init_t, U&& value) + : value_(std::forward<U>(value)) { } +#endif +#else + template<class U> + empty_value(boost::empty_init_t, const U& value) + : value_(value) { } + + template<class U> + empty_value(boost::empty_init_t, U& value) + : value_(value) { } +#endif + + const T& get() const BOOST_NOEXCEPT { + return value_; + } + + T& get() BOOST_NOEXCEPT { + return value_; + } + +private: + T value_; +}; + +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) +template<class T, unsigned N> +class empty_value<T, N, true> + : T { +public: + typedef T type; + +#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) + empty_value() = default; +#else + empty_value() { } +#endif + + empty_value(boost::empty_init_t) + : T() { } + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) + template<class U, class... Args> + empty_value(boost::empty_init_t, U&& value, Args&&... args) + : T(std::forward<U>(value), std::forward<Args>(args)...) { } +#else + template<class U> + empty_value(boost::empty_init_t, U&& value) + : T(std::forward<U>(value)) { } +#endif +#else + template<class U> + empty_value(boost::empty_init_t, const U& value) + : T(value) { } + + template<class U> + empty_value(boost::empty_init_t, U& value) + : T(value) { } +#endif + + const T& get() const BOOST_NOEXCEPT { + return *this; + } + + T& get() BOOST_NOEXCEPT { + return *this; + } +}; +#endif + +} /* empty_ */ + +using empty_::empty_value; + +BOOST_INLINE_CONSTEXPR empty_init_t empty_init = empty_init_t(); + +} /* boost */ + +#endif diff --git a/contrib/restricted/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp b/contrib/restricted/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp index e68cd7cedd..09b6a04659 100644 --- a/contrib/restricted/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp +++ b/contrib/restricted/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp @@ -59,8 +59,8 @@ namespace boost { namespace fusion : cons(in_cons) {} Cons& cons; - boost_tuple_iterator(const boost_tuple_iterator& other) = default; - + boost_tuple_iterator(const boost_tuple_iterator& other) = default; + template <typename Iterator> struct value_of : mpl::identity<typename Iterator::cons_type::head_type> {}; diff --git a/contrib/restricted/boost/boost/fusion/container/vector/vector_iterator.hpp b/contrib/restricted/boost/boost/fusion/container/vector/vector_iterator.hpp index 33a68dae58..fdc425e261 100644 --- a/contrib/restricted/boost/boost/fusion/container/vector/vector_iterator.hpp +++ b/contrib/restricted/boost/boost/fusion/container/vector/vector_iterator.hpp @@ -41,8 +41,8 @@ namespace boost { namespace fusion vector_iterator(Vector& in_vec) : vec(in_vec) {} - vector_iterator(const vector_iterator& a) = default; - + vector_iterator(const vector_iterator& a) = default; + Vector& vec; // silence MSVC warning C4512: assignment operator could not be generated diff --git a/contrib/restricted/boost/boost/geometry/iterators/flatten_iterator.hpp b/contrib/restricted/boost/boost/geometry/iterators/flatten_iterator.hpp index 2fd5d86689..bd57408bb4 100644 --- a/contrib/restricted/boost/boost/geometry/iterators/flatten_iterator.hpp +++ b/contrib/restricted/boost/boost/geometry/iterators/flatten_iterator.hpp @@ -59,8 +59,8 @@ public: // default constructor flatten_iterator() {} - flatten_iterator(const flatten_iterator& other) = default; - + flatten_iterator(const flatten_iterator& other) = default; + // for begin flatten_iterator(OuterIterator outer_it, OuterIterator outer_end) : m_outer_it(outer_it), m_outer_end(outer_end) diff --git a/contrib/restricted/boost/boost/graph/detail/adj_list_edge_iterator.hpp b/contrib/restricted/boost/boost/graph/detail/adj_list_edge_iterator.hpp index 4f43e1c12b..29f6470395 100644 --- a/contrib/restricted/boost/boost/graph/detail/adj_list_edge_iterator.hpp +++ b/contrib/restricted/boost/boost/graph/detail/adj_list_edge_iterator.hpp @@ -43,8 +43,8 @@ namespace boost { inline adj_list_edge_iterator() {} - inline adj_list_edge_iterator& operator=(const self& x) = default; - + inline adj_list_edge_iterator& operator=(const self& x) = default; + inline adj_list_edge_iterator(const self& x) : vBegin(x.vBegin), vCurr(x.vCurr), vEnd(x.vEnd), edges(x.edges), m_g(x.m_g) { } diff --git a/contrib/restricted/boost/boost/proto/detail/preprocessed/expr_variadic.hpp b/contrib/restricted/boost/boost/proto/detail/preprocessed/expr_variadic.hpp index 61ed0caf5f..78aced36d6 100644 --- a/contrib/restricted/boost/boost/proto/detail/preprocessed/expr_variadic.hpp +++ b/contrib/restricted/boost/boost/proto/detail/preprocessed/expr_variadic.hpp @@ -49,14 +49,14 @@ typedef void proto_is_expr_; typedef Arg0 proto_child0; proto_child0 child0; typedef void proto_child1; typedef void proto_child2; typedef void proto_child3; typedef void proto_child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; + expr() = default; - expr(const proto_child0& child0): - child0(child0) - {} - - expr(const expr& a) = default; + expr(const proto_child0& child0): + child0(child0) + {} + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -341,14 +341,14 @@ typedef void proto_is_expr_; typedef Arg0 proto_child0; proto_child0 child0; typedef void proto_child1; typedef void proto_child2; typedef void proto_child3; typedef void proto_child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0): - child0(child0) - {} + expr() = default; - expr(const expr& a) = default; + expr(const proto_child0& child0): + child0(child0) + {} + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -551,15 +551,15 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef void proto_child2; typedef void proto_child3; typedef void proto_child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1): - child0(child0), - child1(child1) - {} - - expr(const expr& a) = default; + expr() = default; + expr(const proto_child0& child0, const proto_child1& child1): + child0(child0), + child1(child1) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -749,16 +749,16 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef void proto_child3; typedef void proto_child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2): - child0(child0), - child1(child1), - child2(child2) - {} - - expr(const expr& a) = default; + expr() = default; + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2): + child0(child0), + child1(child1), + child2(child2) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -948,17 +948,17 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef void proto_child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3): - child0(child0), - child1(child1), - child2(child2), - child3(child3) - {} - - expr(const expr& a) = default; + expr() = default; + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3): + child0(child0), + child1(child1), + child2(child2), + child3(child3) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -1148,18 +1148,18 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef void proto_child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4) - {} - - expr(const expr& a) = default; + expr() = default; + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -1349,19 +1349,19 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef Arg5 proto_child5; proto_child5 child5; typedef void proto_child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4), - child5(child5) - {} - - expr(const expr& a) = default; + expr() = default; + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4), + child5(child5) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -1551,20 +1551,20 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef Arg5 proto_child5; proto_child5 child5; typedef Arg6 proto_child6; proto_child6 child6; typedef void proto_child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4), - child5(child5), - child6(child6) - {} - - expr(const expr& a) = default; - + expr() = default; + + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4), + child5(child5), + child6(child6) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -1754,21 +1754,21 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef Arg5 proto_child5; proto_child5 child5; typedef Arg6 proto_child6; proto_child6 child6; typedef Arg7 proto_child7; proto_child7 child7; typedef void proto_child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4), - child5(child5), - child6(child6), - child7(child7) - {} - - expr(const expr& a) = default; - + expr() = default; + + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4), + child5(child5), + child6(child6), + child7(child7) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -1958,22 +1958,22 @@ typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef Arg5 proto_child5; proto_child5 child5; typedef Arg6 proto_child6; proto_child6 child6; typedef Arg7 proto_child7; proto_child7 child7; typedef Arg8 proto_child8; proto_child8 child8; typedef void proto_child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7, const proto_child8& child8): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4), - child5(child5), - child6(child6), - child7(child7), - child8(child8) - {} - - expr(const expr& a) = default; - + expr() = default; + + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7, const proto_child8& child8): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4), + child5(child5), + child6(child6), + child7(child7), + child8(child8) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { @@ -2162,23 +2162,23 @@ typedef void proto_is_expr_; typedef Arg0 proto_child0; proto_child0 child0; typedef Arg1 proto_child1; proto_child1 child1; typedef Arg2 proto_child2; proto_child2 child2; typedef Arg3 proto_child3; proto_child3 child3; typedef Arg4 proto_child4; proto_child4 child4; typedef Arg5 proto_child5; proto_child5 child5; typedef Arg6 proto_child6; proto_child6 child6; typedef Arg7 proto_child7; proto_child7 child7; typedef Arg8 proto_child8; proto_child8 child8; typedef Arg9 proto_child9; proto_child9 child9; - expr() = default; - - expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7, const proto_child8& child8, const proto_child9& child9): - child0(child0), - child1(child1), - child2(child2), - child3(child3), - child4(child4), - child5(child5), - child6(child6), - child7(child7), - child8(child8), - child9(child9) - {} - - expr(const expr& a) = default; - + expr() = default; + + expr(const proto_child0& child0, const proto_child1& child1, const proto_child2& child2, const proto_child3& child3, const proto_child4& child4, const proto_child5& child5, const proto_child6& child6, const proto_child7& child7, const proto_child8& child8, const proto_child9& child9): + child0(child0), + child1(child1), + child2(child2), + child3(child3), + child4(child4), + child5(child5), + child6(child6), + child7(child7), + child8(child8), + child9(child9) + {} + + expr(const expr& a) = default; + BOOST_FORCEINLINE expr const &proto_base() const { diff --git a/contrib/restricted/boost/boost/range/sub_range.hpp b/contrib/restricted/boost/boost/range/sub_range.hpp index 97a9f0fcf5..50449c9a38 100644 --- a/contrib/restricted/boost/boost/range/sub_range.hpp +++ b/contrib/restricted/boost/boost/range/sub_range.hpp @@ -185,8 +185,8 @@ public: : base(impl::adl_begin(const_cast<base&>(static_cast<const base&>(r))), impl::adl_end(const_cast<base&>(static_cast<const base&>(r)))) { } -#else - sub_range(const sub_range& r) = default; +#else + sub_range(const sub_range& r) = default; #endif template< class ForwardRange2 > diff --git a/contrib/restricted/boost/boost/spirit/home/support/unused.hpp b/contrib/restricted/boost/boost/spirit/home/support/unused.hpp index 0f15081b4b..4b5f57d2dc 100644 --- a/contrib/restricted/boost/boost/spirit/home/support/unused.hpp +++ b/contrib/restricted/boost/boost/spirit/home/support/unused.hpp @@ -29,8 +29,8 @@ namespace boost { namespace spirit { } - unused_type(const unused_type& a) = default; - + unused_type(const unused_type& a) = default; + template <typename T> unused_type(T const&) { |