remotes/origin/Dynamic-testing
Ubuntu-20.04 3 years ago
parent 5ebe476abf
commit 6811163928

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Before

Width:  |  Height:  |  Size: 167 B

After

Width:  |  Height:  |  Size: 167 B

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Before

Width:  |  Height:  |  Size: 141 B

After

Width:  |  Height:  |  Size: 141 B

Before

Width:  |  Height:  |  Size: 117 B

After

Width:  |  Height:  |  Size: 117 B

@ -1,404 +0,0 @@
# This is the CMakeCache file.
# For build in directory: /home/jackyma/Codes/C++/MinimalCC
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//Choose the type of build, options are: None Debug Release RelWithDebInfo
// MinSizeRel ...
CMAKE_BUILD_TYPE:STRING=Debug
//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc
//A wrapper around 'ar' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-9
//A wrapper around 'ranlib' adding the appropriate '--plugin' option
// for the GCC compiler
CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-9
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=mcc
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Path to a program.
CMAKE_READELF:FILEPATH=/usr/bin/readelf
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//No help, variable specified on the command line.
ENABLE_GCOV:UNINITIALIZED=1
//Path to a file.
GTEST_INCLUDE_DIR:PATH=/usr/include
//Path to a library.
GTEST_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgtest.a
//Path to a library.
GTEST_LIBRARY_DEBUG:FILEPATH=GTEST_LIBRARY_DEBUG-NOTFOUND
//Path to a library.
GTEST_MAIN_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libgtest_main.a
//Path to a library.
GTEST_MAIN_LIBRARY_DEBUG:FILEPATH=GTEST_MAIN_LIBRARY_DEBUG-NOTFOUND
//Value Computed by CMake
mcc_BINARY_DIR:STATIC=/home/jackyma/Codes/C++/MinimalCC
//Value Computed by CMake
mcc_SOURCE_DIR:STATIC=/home/jackyma/Codes/C++/MinimalCC
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/jackyma/Codes/C++/MinimalCC
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=16
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_AR
CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Test CMAKE_HAVE_LIBC_PTHREAD
CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=
//Have library pthreads
CMAKE_HAVE_PTHREADS_CREATE:INTERNAL=
//Have library pthread
CMAKE_HAVE_PTHREAD_CREATE:INTERNAL=1
//Have include pthread.h
CMAKE_HAVE_PTHREAD_H:INTERNAL=1
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/jackyma/Codes/C++/MinimalCC
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.16
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
//Details about finding GTest
FIND_PACKAGE_MESSAGE_DETAILS_GTest:INTERNAL=[/usr/lib/x86_64-linux-gnu/libgtest.a][/usr/include][/usr/lib/x86_64-linux-gnu/libgtest_main.a][v()]
//ADVANCED property for variable: GTEST_INCLUDE_DIR
GTEST_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GTEST_LIBRARY
GTEST_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GTEST_LIBRARY_DEBUG
GTEST_LIBRARY_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GTEST_MAIN_LIBRARY
GTEST_MAIN_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GTEST_MAIN_LIBRARY_DEBUG
GTEST_MAIN_LIBRARY_DEBUG-ADVANCED:INTERNAL=1

@ -1,76 +0,0 @@
set(CMAKE_C_COMPILER "/usr/bin/cc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "9.4.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C_PLATFORM_ID "Linux")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_C_COMPILER_ENV_VAR "CC")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

@ -1,88 +0,0 @@
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "9.4.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "14")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-9")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-9")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

@ -1,15 +0,0 @@
set(CMAKE_HOST_SYSTEM "Linux-5.13.0-41-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "5.13.0-41-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-5.13.0-41-generic")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "5.13.0-41-generic")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

@ -1,671 +0,0 @@
#ifdef __cplusplus
# error "A C++ compiler has been selected for C."
#endif
#if defined(__18CXX)
# define ID_VOID_MAIN
#endif
#if defined(__CLASSIC_C__)
/* cv-qualifiers did not exist in K&R C */
# define const
# define volatile
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP */
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_C)
# define COMPILER_ID "SunPro"
# if __SUNPRO_C >= 0x5100
/* __SUNPRO_C = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
# endif
#elif defined(__HP_cc)
# define COMPILER_ID "HP"
/* __HP_cc = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
/* __DECC_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
# define COMPILER_ID "XL"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMC__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
# define COMPILER_ID "Fujitsu"
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
#elif defined(__BCC__)
# define COMPILER_ID "Bruce"
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__)
# define COMPILER_ID "GNU"
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
# define COMPILER_ID "SDCC"
# if defined(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
# else
/* SDCC = VRP */
# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number components. */
#ifdef COMPILER_VERSION_MAJOR
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if !defined(__STDC__)
# if (defined(_MSC_VER) && !defined(__clang__)) \
|| (defined(__ibmxl__) || defined(__IBMC__))
# define C_DIALECT "90"
# else
# define C_DIALECT
# endif
#elif __STDC_VERSION__ >= 201000L
# define C_DIALECT "11"
#elif __STDC_VERSION__ >= 199901L
# define C_DIALECT "99"
#else
# define C_DIALECT "90"
#endif
const char* info_language_dialect_default =
"INFO" ":" "dialect_default[" C_DIALECT "]";
/*--------------------------------------------------------------------------*/
#ifdef ID_VOID_MAIN
void main() {}
#else
# if defined(__CLASSIC_C__)
int main(argc, argv) int argc; char *argv[];
# else
int main(int argc, char* argv[])
# endif
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
require += info_arch[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
require += info_cray[argc];
#endif
require += info_language_dialect_default[argc];
(void)argv;
return require;
}
#endif

@ -1,660 +0,0 @@
/* This source file must have a .cpp extension so that all C++ compilers
recognize the extension without flags. Borland does not know .cxx for
example. */
#ifndef __cplusplus
# error "A C compiler has been selected for C++."
#endif
/* Version number components: V=Version, R=Revision, P=Patch
Version date components: YYYY=Year, MM=Month, DD=Day */
#if defined(__COMO__)
# define COMPILER_ID "Comeau"
/* __COMO_VERSION__ = VRR */
# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
#elif defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# if defined(__GNUC__)
# define SIMULATE_ID "GNU"
# endif
/* __INTEL_COMPILER = VRP */
# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
# if defined(__INTEL_COMPILER_UPDATE)
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
# else
# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
# endif
# if defined(__INTEL_COMPILER_BUILD_DATE)
/* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# if defined(__GNUC__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
# elif defined(__GNUG__)
# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(__PATHCC__)
# define COMPILER_ID "PathScale"
# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
# if defined(__PATHCC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
# endif
#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
# define COMPILER_ID "Embarcadero"
# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
#elif defined(__BORLANDC__)
# define COMPILER_ID "Borland"
/* __BORLANDC__ = 0xVRR */
# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
# define COMPILER_ID "Watcom"
/* __WATCOMC__ = VVRR */
# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__WATCOMC__)
# define COMPILER_ID "OpenWatcom"
/* __WATCOMC__ = VVRP + 1100 */
# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
# if (__WATCOMC__ % 10) > 0
# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
# endif
#elif defined(__SUNPRO_CC)
# define COMPILER_ID "SunPro"
# if __SUNPRO_CC >= 0x5100
/* __SUNPRO_CC = 0xVRRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# else
/* __SUNPRO_CC = 0xVRP */
# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
# endif
#elif defined(__HP_aCC)
# define COMPILER_ID "HP"
/* __HP_aCC = VVRRPP */
# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
/* __DECCXX_VER = VVRRTPPPP */
# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
# define COMPILER_ID "zOS"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__ibmxl__) && defined(__clang__)
# define COMPILER_ID "XLClang"
# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
# define COMPILER_ID "XL"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
# define COMPILER_ID "VisualAge"
/* __IBMCPP__ = VRP */
# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
#elif defined(__PGI)
# define COMPILER_ID "PGI"
# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
# if defined(__PGIC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI"
/* __TI_COMPILER_VERSION__ = VVVRRRPPP */
# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
# define COMPILER_ID "Fujitsu"
#elif defined(__ghs__)
# define COMPILER_ID "GHS"
/* __GHS_VERSION_NUMBER = VVVVRP */
# ifdef __GHS_VERSION_NUMBER
# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
# endif
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
#elif defined(__ARMCC_VERSION) && !defined(__clang__)
# define COMPILER_ID "ARMCC"
#if __ARMCC_VERSION >= 1000000
/* __ARMCC_VERSION = VRRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#else
/* __ARMCC_VERSION = VRPPPP */
# define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
# define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
# define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
#endif
#elif defined(__clang__) && defined(__apple_build_version__)
# define COMPILER_ID "AppleClang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
# define COMPILER_ID "ARMClang"
# define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
# define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
# define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# if defined(_MSC_VER)
# define SIMULATE_ID "MSVC"
# endif
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
# if defined(_MSC_VER)
/* _MSC_VER = VVRR */
# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
# endif
#elif defined(__GNUC__) || defined(__GNUG__)
# define COMPILER_ID "GNU"
# if defined(__GNUC__)
# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
# else
# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
# endif
# if defined(__GNUC_MINOR__)
# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
# endif
# if defined(__GNUC_PATCHLEVEL__)
# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
# endif
#elif defined(_MSC_VER)
# define COMPILER_ID "MSVC"
/* _MSC_VER = VVRR */
# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
# if defined(_MSC_FULL_VER)
# if _MSC_VER >= 1400
/* _MSC_FULL_VER = VVRRPPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
# else
/* _MSC_FULL_VER = VVRRPPPP */
# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
# endif
# endif
# if defined(_MSC_BUILD)
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
# define COMPILER_ID "ADSP"
#if defined(__VISUALDSPVERSION__)
/* __VISUALDSPVERSION__ = 0xVVRRPP00 */
# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
#endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# define COMPILER_ID "IAR"
# if defined(__VER__) && defined(__ICCARM__)
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
# endif
/* These compilers are either not known or too old to define an
identification macro. Try to identify the platform and guess that
it is the native compiler. */
#elif defined(__hpux) || defined(__hpua)
# define COMPILER_ID "HP"
#else /* unknown compiler */
# define COMPILER_ID ""
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
#ifdef SIMULATE_ID
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
#endif
#ifdef __QNXNTO__
char const* qnxnto = "INFO" ":" "qnxnto[]";
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
#endif
#define STRINGIFY_HELPER(X) #X
#define STRINGIFY(X) STRINGIFY_HELPER(X)
/* Identify known platforms by name. */
#if defined(__linux) || defined(__linux__) || defined(linux)
# define PLATFORM_ID "Linux"
#elif defined(__CYGWIN__)
# define PLATFORM_ID "Cygwin"
#elif defined(__MINGW32__)
# define PLATFORM_ID "MinGW"
#elif defined(__APPLE__)
# define PLATFORM_ID "Darwin"
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
# define PLATFORM_ID "Windows"
#elif defined(__FreeBSD__) || defined(__FreeBSD)
# define PLATFORM_ID "FreeBSD"
#elif defined(__NetBSD__) || defined(__NetBSD)
# define PLATFORM_ID "NetBSD"
#elif defined(__OpenBSD__) || defined(__OPENBSD)
# define PLATFORM_ID "OpenBSD"
#elif defined(__sun) || defined(sun)
# define PLATFORM_ID "SunOS"
#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
# define PLATFORM_ID "AIX"
#elif defined(__hpux) || defined(__hpux__)
# define PLATFORM_ID "HP-UX"
#elif defined(__HAIKU__)
# define PLATFORM_ID "Haiku"
#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
# define PLATFORM_ID "BeOS"
#elif defined(__QNX__) || defined(__QNXNTO__)
# define PLATFORM_ID "QNX"
#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
# define PLATFORM_ID "Tru64"
#elif defined(__riscos) || defined(__riscos__)
# define PLATFORM_ID "RISCos"
#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
# define PLATFORM_ID "SINIX"
#elif defined(__UNIX_SV__)
# define PLATFORM_ID "UNIX_SV"
#elif defined(__bsdos__)
# define PLATFORM_ID "BSDOS"
#elif defined(_MPRAS) || defined(MPRAS)
# define PLATFORM_ID "MP-RAS"
#elif defined(__osf) || defined(__osf__)
# define PLATFORM_ID "OSF1"
#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
# define PLATFORM_ID "SCO_SV"
#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
# define PLATFORM_ID "ULTRIX"
#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
# define PLATFORM_ID "Xenix"
#elif defined(__WATCOMC__)
# if defined(__LINUX__)
# define PLATFORM_ID "Linux"
# elif defined(__DOS__)
# define PLATFORM_ID "DOS"
# elif defined(__OS2__)
# define PLATFORM_ID "OS2"
# elif defined(__WINDOWS__)
# define PLATFORM_ID "Windows3x"
# else /* unknown platform */
# define PLATFORM_ID
# endif
#elif defined(__INTEGRITY)
# if defined(INT_178B)
# define PLATFORM_ID "Integrity178"
# else /* regular Integrity */
# define PLATFORM_ID "Integrity"
# endif
#else /* unknown platform */
# define PLATFORM_ID
#endif
/* For windows compilers MSVC and Intel we can determine
the architecture of the compiler being used. This is because
the compilers do not have flags that can change the architecture,
but rather depend on which compiler is being used
*/
#if defined(_WIN32) && defined(_MSC_VER)
# if defined(_M_IA64)
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_X64) || defined(_M_AMD64)
# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# elif defined(_M_ARM64)
# define ARCHITECTURE_ID "ARM64"
# elif defined(_M_ARM)
# if _M_ARM == 4
# define ARCHITECTURE_ID "ARMV4I"
# elif _M_ARM == 5
# define ARCHITECTURE_ID "ARMV5I"
# else
# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
# endif
# elif defined(_M_MIPS)
# define ARCHITECTURE_ID "MIPS"
# elif defined(_M_SH)
# define ARCHITECTURE_ID "SHx"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__WATCOMC__)
# if defined(_M_I86)
# define ARCHITECTURE_ID "I86"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
# if defined(__ICCARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__ICCRX__)
# define ARCHITECTURE_ID "RX"
# elif defined(__ICCRH850__)
# define ARCHITECTURE_ID "RH850"
# elif defined(__ICCRL78__)
# define ARCHITECTURE_ID "RL78"
# elif defined(__ICCRISCV__)
# define ARCHITECTURE_ID "RISCV"
# elif defined(__ICCAVR__)
# define ARCHITECTURE_ID "AVR"
# elif defined(__ICC430__)
# define ARCHITECTURE_ID "MSP430"
# elif defined(__ICCV850__)
# define ARCHITECTURE_ID "V850"
# elif defined(__ICC8051__)
# define ARCHITECTURE_ID "8051"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#elif defined(__ghs__)
# if defined(__PPC64__)
# define ARCHITECTURE_ID "PPC64"
# elif defined(__ppc__)
# define ARCHITECTURE_ID "PPC"
# elif defined(__ARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__x86_64__)
# define ARCHITECTURE_ID "x64"
# elif defined(__i386__)
# define ARCHITECTURE_ID "X86"
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
#else
# define ARCHITECTURE_ID
#endif
/* Convert integer to decimal digit literals. */
#define DEC(n) \
('0' + (((n) / 10000000)%10)), \
('0' + (((n) / 1000000)%10)), \
('0' + (((n) / 100000)%10)), \
('0' + (((n) / 10000)%10)), \
('0' + (((n) / 1000)%10)), \
('0' + (((n) / 100)%10)), \
('0' + (((n) / 10)%10)), \
('0' + ((n) % 10))
/* Convert integer to hex digit literals. */
#define HEX(n) \
('0' + ((n)>>28 & 0xF)), \
('0' + ((n)>>24 & 0xF)), \
('0' + ((n)>>20 & 0xF)), \
('0' + ((n)>>16 & 0xF)), \
('0' + ((n)>>12 & 0xF)), \
('0' + ((n)>>8 & 0xF)), \
('0' + ((n)>>4 & 0xF)), \
('0' + ((n) & 0xF))
/* Construct a string literal encoding the version number components. */
#ifdef COMPILER_VERSION_MAJOR
char const info_version[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
COMPILER_VERSION_MAJOR,
# ifdef COMPILER_VERSION_MINOR
'.', COMPILER_VERSION_MINOR,
# ifdef COMPILER_VERSION_PATCH
'.', COMPILER_VERSION_PATCH,
# ifdef COMPILER_VERSION_TWEAK
'.', COMPILER_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct a string literal encoding the internal version number. */
#ifdef COMPILER_VERSION_INTERNAL
char const info_version_internal[] = {
'I', 'N', 'F', 'O', ':',
'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
'i','n','t','e','r','n','a','l','[',
COMPILER_VERSION_INTERNAL,']','\0'};
#endif
/* Construct a string literal encoding the version number components. */
#ifdef SIMULATE_VERSION_MAJOR
char const info_simulate_version[] = {
'I', 'N', 'F', 'O', ':',
's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
SIMULATE_VERSION_MAJOR,
# ifdef SIMULATE_VERSION_MINOR
'.', SIMULATE_VERSION_MINOR,
# ifdef SIMULATE_VERSION_PATCH
'.', SIMULATE_VERSION_PATCH,
# ifdef SIMULATE_VERSION_TWEAK
'.', SIMULATE_VERSION_TWEAK,
# endif
# endif
# endif
']','\0'};
#endif
/* Construct the string literal in pieces to prevent the source from
getting matched. Store it in a pointer rather than an array
because some compilers will just produce instructions to fill the
array rather than assigning a pointer to a static array. */
char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
# if defined(__INTEL_CXX11_MODE__)
# if defined(__cpp_aggregate_nsdmi)
# define CXX_STD 201402L
# else
# define CXX_STD 201103L
# endif
# else
# define CXX_STD 199711L
# endif
#elif defined(_MSC_VER) && defined(_MSVC_LANG)
# define CXX_STD _MSVC_LANG
#else
# define CXX_STD __cplusplus
#endif
const char* info_language_dialect_default = "INFO" ":" "dialect_default["
#if CXX_STD > 201703L
"20"
#elif CXX_STD >= 201703L
"17"
#elif CXX_STD >= 201402L
"14"
#elif CXX_STD >= 201103L
"11"
#else
"98"
#endif
"]";
/*--------------------------------------------------------------------------*/
int main(int argc, char* argv[])
{
int require = 0;
require += info_compiler[argc];
require += info_platform[argc];
#ifdef COMPILER_VERSION_MAJOR
require += info_version[argc];
#endif
#ifdef COMPILER_VERSION_INTERNAL
require += info_version_internal[argc];
#endif
#ifdef SIMULATE_ID
require += info_simulate[argc];
#endif
#ifdef SIMULATE_VERSION_MAJOR
require += info_simulate_version[argc];
#endif
#if defined(__CRAYXE) || defined(__CRAYXC)
require += info_cray[argc];
#endif
require += info_language_dialect_default[argc];
(void)argv;
return require;
}

@ -1,16 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/jackyma/Codes/C++/MinimalCC")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/jackyma/Codes/C++/MinimalCC")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})

@ -1,58 +0,0 @@
Performing C SOURCE FILE Test CMAKE_HAVE_LIBC_PTHREAD failed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_23d1d/fast && /usr/bin/make -f CMakeFiles/cmTC_23d1d.dir/build.make CMakeFiles/cmTC_23d1d.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_23d1d.dir/src.c.o
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -o CMakeFiles/cmTC_23d1d.dir/src.c.o -c /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_23d1d
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23d1d.dir/link.txt --verbose=1
/usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD -rdynamic CMakeFiles/cmTC_23d1d.dir/src.c.o -o cmTC_23d1d
/usr/bin/ld: CMakeFiles/cmTC_23d1d.dir/src.c.o: in function `main':
src.c:(.text+0x46): undefined reference to `pthread_create'
/usr/bin/ld: src.c:(.text+0x52): undefined reference to `pthread_detach'
/usr/bin/ld: src.c:(.text+0x63): undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_23d1d.dir/build.make:87: cmTC_23d1d] Error 1
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_23d1d/fast] Error 2
Source file was:
#include <pthread.h>
void* test_func(void* data)
{
return data;
}
int main(void)
{
pthread_t thread;
pthread_create(&thread, NULL, test_func, NULL);
pthread_detach(thread);
pthread_join(thread, NULL);
pthread_atfork(NULL, NULL, NULL);
pthread_exit(NULL);
return 0;
}
Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_97e3f/fast && /usr/bin/make -f CMakeFiles/cmTC_97e3f.dir/build.make CMakeFiles/cmTC_97e3f.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_97e3f.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_97e3f.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
Linking C executable cmTC_97e3f
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_97e3f.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_97e3f.dir/CheckFunctionExists.c.o -o cmTC_97e3f -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: *** [CMakeFiles/cmTC_97e3f.dir/build.make:87: cmTC_97e3f] Error 1
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
make: *** [Makefile:121: cmTC_97e3f/fast] Error 2

@ -1,491 +0,0 @@
The system is: Linux - 5.13.0-41-generic - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/cc
Build flags:
Id flags:
The output was:
0
Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"
The C compiler identification is GNU, found in "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/3.16.3/CompilerIdC/a.out"
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/c++
Build flags:
Id flags:
The output was:
0
Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"
The CXX compiler identification is GNU, found in "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/3.16.3/CompilerIdCXX/a.out"
Determining if the C compiler works passed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_97bac/fast && /usr/bin/make -f CMakeFiles/cmTC_97bac.dir/build.make CMakeFiles/cmTC_97bac.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_97bac.dir/testCCompiler.c.o
/usr/bin/cc -o CMakeFiles/cmTC_97bac.dir/testCCompiler.c.o -c /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_97bac
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_97bac.dir/link.txt --verbose=1
/usr/bin/cc -rdynamic CMakeFiles/cmTC_97bac.dir/testCCompiler.c.o -o cmTC_97bac
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Detecting C compiler ABI info compiled with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_d34ef/fast && /usr/bin/make -f CMakeFiles/cmTC_d34ef.dir/build.make CMakeFiles/cmTC_d34ef.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o
/usr/bin/cc -v -o CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccXioGLX.s
GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/9/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c0c95c0b4209efec1c1892d5ff24030b
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o /tmp/ccXioGLX.s
GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
Linking C executable cmTC_d34ef
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d34ef.dir/link.txt --verbose=1
/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -o cmTC_d34ef
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_d34ef' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccG7hlQq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d34ef /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_d34ef' '-mtune=generic' '-march=x86-64'
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Parsed C implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
add: [/usr/local/include]
add: [/usr/include/x86_64-linux-gnu]
add: [/usr/include]
end of search list found
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
Parsed C implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):/usr/bin/make cmTC_d34ef/fast && /usr/bin/make -f CMakeFiles/cmTC_d34ef.dir/build.make CMakeFiles/cmTC_d34ef.dir/build]
ignore line: [make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp']
ignore line: [Building C object CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o]
ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccXioGLX.s]
ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include/x86_64-linux-gnu]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C17 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: c0c95c0b4209efec1c1892d5ff24030b]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o /tmp/ccXioGLX.s]
ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
ignore line: [Linking C executable cmTC_d34ef]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d34ef.dir/link.txt --verbose=1]
ignore line: [/usr/bin/cc -v -rdynamic CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -o cmTC_d34ef ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/cc]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_d34ef' '-mtune=generic' '-march=x86-64']
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccG7hlQq.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d34ef /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/ccG7hlQq.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [--build-id] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [--as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore
arg [-znow] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTC_d34ef] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
arg [CMakeFiles/cmTC_d34ef.dir/CMakeCCompilerABI.c.o] ==> ignore
arg [-lgcc] ==> lib [gcc]
arg [--push-state] ==> ignore
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--pop-state] ==> ignore
arg [-lc] ==> lib [c]
arg [-lgcc] ==> lib [gcc]
arg [--push-state] ==> ignore
arg [--as-needed] ==> ignore
arg [-lgcc_s] ==> lib [gcc_s]
arg [--pop-state] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Determining if the CXX compiler works passed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_e6455/fast && /usr/bin/make -f CMakeFiles/cmTC_e6455.dir/build.make CMakeFiles/cmTC_e6455.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_e6455.dir/testCXXCompiler.cxx.o
/usr/bin/c++ -o CMakeFiles/cmTC_e6455.dir/testCXXCompiler.cxx.o -c /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_e6455
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e6455.dir/link.txt --verbose=1
/usr/bin/c++ -rdynamic CMakeFiles/cmTC_e6455.dir/testCXXCompiler.cxx.o -o cmTC_e6455
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_0bffe/fast && /usr/bin/make -f CMakeFiles/cmTC_0bffe.dir/build.make CMakeFiles/cmTC_0bffe.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++ -v -o CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccQBOxAW.s
GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/include/c++/9
/usr/include/x86_64-linux-gnu/c++/9
/usr/include/c++/9/backward
/usr/lib/gcc/x86_64-linux-gnu/9/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
End of search list.
GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)
compiled by GNU C version 9.4.0, GMP version 6.2.0, MPFR version 4.0.2, MPC version 1.1.0, isl version isl-0.22.1-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
as -v --64 -o CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccQBOxAW.s
GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_0bffe
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0bffe.dir/link.txt --verbose=1
/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0bffe
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_0bffe' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
/usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRVpwHn.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0bffe /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_0bffe' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Parsed CXX implicit include dir info from above output: rv=done
found start of include info
found start of implicit include info
add: [/usr/include/c++/9]
add: [/usr/include/x86_64-linux-gnu/c++/9]
add: [/usr/include/c++/9/backward]
add: [/usr/lib/gcc/x86_64-linux-gnu/9/include]
add: [/usr/local/include]
add: [/usr/include/x86_64-linux-gnu]
add: [/usr/include]
end of search list found
collapse include dir [/usr/include/c++/9] ==> [/usr/include/c++/9]
collapse include dir [/usr/include/x86_64-linux-gnu/c++/9] ==> [/usr/include/x86_64-linux-gnu/c++/9]
collapse include dir [/usr/include/c++/9/backward] ==> [/usr/include/c++/9/backward]
collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/9/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/9/include]
collapse include dir [/usr/local/include] ==> [/usr/local/include]
collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu]
collapse include dir [/usr/include] ==> [/usr/include]
implicit include dirs: [/usr/include/c++/9;/usr/include/x86_64-linux-gnu/c++/9;/usr/include/c++/9/backward;/usr/lib/gcc/x86_64-linux-gnu/9/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include]
Parsed CXX implicit link information from above output:
link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
ignore line: [Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp]
ignore line: []
ignore line: [Run Build Command(s):/usr/bin/make cmTC_0bffe/fast && /usr/bin/make -f CMakeFiles/cmTC_0bffe.dir/build.make CMakeFiles/cmTC_0bffe.dir/build]
ignore line: [make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp']
ignore line: [Building CXX object CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o]
ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccQBOxAW.s]
ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/9"]
ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/include-fixed"]
ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/9/../../../../x86_64-linux-gnu/include"]
ignore line: [#include "..." search starts here:]
ignore line: [#include <...> search starts here:]
ignore line: [ /usr/include/c++/9]
ignore line: [ /usr/include/x86_64-linux-gnu/c++/9]
ignore line: [ /usr/include/c++/9/backward]
ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/9/include]
ignore line: [ /usr/local/include]
ignore line: [ /usr/include/x86_64-linux-gnu]
ignore line: [ /usr/include]
ignore line: [End of search list.]
ignore line: [GNU C++14 (Ubuntu 9.4.0-1ubuntu1~20.04.1) version 9.4.0 (x86_64-linux-gnu)]
ignore line: [ compiled by GNU C version 9.4.0 GMP version 6.2.0 MPFR version 4.0.2 MPC version 1.1.0 isl version isl-0.22.1-GMP]
ignore line: []
ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
ignore line: [Compiler executable checksum: 65fe925b83d3956b533de4aaba7dace0]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [ as -v --64 -o CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccQBOxAW.s]
ignore line: [GNU assembler version 2.34 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.34]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
ignore line: [Linking CXX executable cmTC_0bffe]
ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0bffe.dir/link.txt --verbose=1]
ignore line: [/usr/bin/c++ -v -rdynamic CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_0bffe ]
ignore line: [Using built-in specs.]
ignore line: [COLLECT_GCC=/usr/bin/c++]
ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper]
ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:hsa]
ignore line: [OFFLOAD_TARGET_DEFAULT=1]
ignore line: [Target: x86_64-linux-gnu]
ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.4.0-1ubuntu1~20.04.1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-Av3uEd/gcc-9-9.4.0/debian/tmp-nvptx/usr hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu]
ignore line: [Thread model: posix]
ignore line: [gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1) ]
ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/]
ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/]
ignore line: [COLLECT_GCC_OPTIONS='-v' '-rdynamic' '-o' 'cmTC_0bffe' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
link line: [ /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper -plugin-opt=-fresolution=/tmp/ccRVpwHn.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_0bffe /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/9 -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/collect2] ==> ignore
arg [-plugin] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so] ==> ignore
arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper] ==> ignore
arg [-plugin-opt=-fresolution=/tmp/ccRVpwHn.res] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [-plugin-opt=-pass-through=-lc] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
arg [--build-id] ==> ignore
arg [--eh-frame-hdr] ==> ignore
arg [-m] ==> ignore
arg [elf_x86_64] ==> ignore
arg [--hash-style=gnu] ==> ignore
arg [--as-needed] ==> ignore
arg [-export-dynamic] ==> ignore
arg [-dynamic-linker] ==> ignore
arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
arg [-pie] ==> ignore
arg [-znow] ==> ignore
arg [-zrelro] ==> ignore
arg [-o] ==> ignore
arg [cmTC_0bffe] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o] ==> ignore
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib]
arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu]
arg [-L/lib/../lib] ==> dir [/lib/../lib]
arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
arg [-L/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..]
arg [CMakeFiles/cmTC_0bffe.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
arg [-lstdc++] ==> lib [stdc++]
arg [-lm] ==> lib [m]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [-lc] ==> lib [c]
arg [-lgcc_s] ==> lib [gcc_s]
arg [-lgcc] ==> lib [gcc]
arg [/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o] ==> ignore
arg [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o] ==> ignore
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9] ==> [/usr/lib/gcc/x86_64-linux-gnu/9]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib] ==> [/usr/lib]
collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu]
collapse library dir [/lib/../lib] ==> [/lib]
collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu]
collapse library dir [/usr/lib/../lib] ==> [/usr/lib]
collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/9/../../..] ==> [/usr/lib]
implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/9;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib]
implicit fwks: []
Determining if the include file pthread.h exists passed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_8ca7b/fast && /usr/bin/make -f CMakeFiles/cmTC_8ca7b.dir/build.make CMakeFiles/cmTC_8ca7b.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_8ca7b.dir/CheckIncludeFile.c.o
/usr/bin/cc -o CMakeFiles/cmTC_8ca7b.dir/CheckIncludeFile.c.o -c /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp/CheckIncludeFile.c
Linking C executable cmTC_8ca7b
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8ca7b.dir/link.txt --verbose=1
/usr/bin/cc -rdynamic CMakeFiles/cmTC_8ca7b.dir/CheckIncludeFile.c.o -o cmTC_8ca7b
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Determining if the function pthread_create exists in the pthread passed with the following output:
Change Dir: /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/make cmTC_97a44/fast && /usr/bin/make -f CMakeFiles/cmTC_97a44.dir/build.make CMakeFiles/cmTC_97a44.dir/build
make[1]: Entering directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_97a44.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTC_97a44.dir/CheckFunctionExists.c.o -c /usr/share/cmake-3.16/Modules/CheckFunctionExists.c
Linking C executable cmTC_97a44
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_97a44.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -rdynamic CMakeFiles/cmTC_97a44.dir/CheckFunctionExists.c.o -o cmTC_97a44 -lpthread
make[1]: Leaving directory '/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/CMakeTmp'

@ -1,57 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"CMakeFiles/3.16.3/CMakeCCompiler.cmake"
"CMakeFiles/3.16.3/CMakeCXXCompiler.cmake"
"CMakeFiles/3.16.3/CMakeSystem.cmake"
"CMakeLists.txt"
"/usr/share/cmake-3.16/Modules/CMakeCInformation.cmake"
"/usr/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
"/usr/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
"/usr/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
"/usr/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
"/usr/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
"/usr/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
"/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
"/usr/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
"/usr/share/cmake-3.16/Modules/CheckCSourceCompiles.cmake"
"/usr/share/cmake-3.16/Modules/CheckIncludeFile.cmake"
"/usr/share/cmake-3.16/Modules/CheckLibraryExists.cmake"
"/usr/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/usr/share/cmake-3.16/Modules/Compiler/GNU-C.cmake"
"/usr/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
"/usr/share/cmake-3.16/Modules/Compiler/GNU.cmake"
"/usr/share/cmake-3.16/Modules/FindGTest.cmake"
"/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
"/usr/share/cmake-3.16/Modules/FindPackageMessage.cmake"
"/usr/share/cmake-3.16/Modules/FindThreads.cmake"
"/usr/share/cmake-3.16/Modules/GoogleTest.cmake"
"/usr/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-C.cmake"
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
"/usr/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
"/usr/share/cmake-3.16/Modules/Platform/Linux.cmake"
"/usr/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/mcc.dir/DependInfo.cmake"
)

@ -1,106 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/jackyma/Codes/C++/MinimalCC
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/jackyma/Codes/C++/MinimalCC
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/mcc.dir/all
.PHONY : all
# The main recursive "preinstall" target.
preinstall:
.PHONY : preinstall
# The main recursive "clean" target.
clean: CMakeFiles/mcc.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/mcc.dir
# All Build rule for target.
CMakeFiles/mcc.dir/all:
$(MAKE) -f CMakeFiles/mcc.dir/build.make CMakeFiles/mcc.dir/depend
$(MAKE) -f CMakeFiles/mcc.dir/build.make CMakeFiles/mcc.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=1,2,3,4,5,6 "Built target mcc"
.PHONY : CMakeFiles/mcc.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/mcc.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /home/jackyma/Codes/C++/MinimalCC/CMakeFiles 6
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/mcc.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /home/jackyma/Codes/C++/MinimalCC/CMakeFiles 0
.PHONY : CMakeFiles/mcc.dir/rule
# Convenience name for target.
mcc: CMakeFiles/mcc.dir/rule
.PHONY : mcc
# clean rule for target.
CMakeFiles/mcc.dir/clean:
$(MAKE) -f CMakeFiles/mcc.dir/build.make CMakeFiles/mcc.dir/clean
.PHONY : CMakeFiles/mcc.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system

@ -1,3 +0,0 @@
/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/rebuild_cache.dir
/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/edit_cache.dir
/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir

@ -1 +0,0 @@
# This file is generated by cmake for dependency checking of the CMakeCache.txt file

@ -1,8 +0,0 @@
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:

@ -1,50 +0,0 @@
#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
#IncludeRegexScan: ^.*$
#IncludeRegexComplain: ^$
#IncludeRegexTransform:
/home/jackyma/Codes/C++/MinimalCC/allocate.h
/home/jackyma/Codes/C++/MinimalCC/compile.c
stdlib.h
-
stdio.h
-
string.h
-
dictionary.h
/home/jackyma/Codes/C++/MinimalCC/dictionary.h
expression.h
/home/jackyma/Codes/C++/MinimalCC/expression.h
allocate.h
/home/jackyma/Codes/C++/MinimalCC/allocate.h
compile.h
/home/jackyma/Codes/C++/MinimalCC/compile.h
/home/jackyma/Codes/C++/MinimalCC/compile.h
stdio.h
-
/home/jackyma/Codes/C++/MinimalCC/dictionary.h
/home/jackyma/Codes/C++/MinimalCC/expression.h
allocate.h
/home/jackyma/Codes/C++/MinimalCC/allocate.h
types.h
/home/jackyma/Codes/C++/MinimalCC/types.h
/home/jackyma/Codes/C++/MinimalCC/test.cpp
compile.h
/home/jackyma/Codes/C++/MinimalCC/compile.h
gtest/gtest.h
/home/jackyma/Codes/C++/MinimalCC/gtest/gtest.h
compile.c
/home/jackyma/Codes/C++/MinimalCC/compile.c
/home/jackyma/Codes/C++/MinimalCC/types.h
stdint.h
-

@ -1,24 +0,0 @@
# The set of languages for which implicit dependencies are needed:
set(CMAKE_DEPENDS_LANGUAGES
"C"
)
# The set of files for implicit dependencies of each language:
set(CMAKE_DEPENDS_CHECK_C
"/home/jackyma/Codes/C++/MinimalCC/allocate.c" "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/allocate.c.o"
"/home/jackyma/Codes/C++/MinimalCC/compile.c" "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/compile.c.o"
"/home/jackyma/Codes/C++/MinimalCC/dictionary.c" "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/dictionary.c.o"
"/home/jackyma/Codes/C++/MinimalCC/expression.c" "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/expression.c.o"
"/home/jackyma/Codes/C++/MinimalCC/types.c" "/home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/types.c.o"
)
set(CMAKE_C_COMPILER_ID "GNU")
# The include file search paths:
set(CMAKE_C_TARGET_INCLUDE_PATH
)
# Targets to which this target links.
set(CMAKE_TARGET_LINKED_INFO_FILES
)
# Fortran module output directory.
set(CMAKE_Fortran_TARGET_MODULE_DIR "")

@ -1,158 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# Delete rule output on recipe failure.
.DELETE_ON_ERROR:
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /usr/bin/cmake
# The command to remove a file.
RM = /usr/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /home/jackyma/Codes/C++/MinimalCC
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /home/jackyma/Codes/C++/MinimalCC
# Include any dependencies generated for this target.
include CMakeFiles/mcc.dir/depend.make
# Include the progress variables for this target.
include CMakeFiles/mcc.dir/progress.make
# Include the compile flags for this target's objects.
include CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/allocate.c.o: CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/allocate.c.o: allocate.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/mcc.dir/allocate.c.o"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mcc.dir/allocate.c.o -c /home/jackyma/Codes/C++/MinimalCC/allocate.c
CMakeFiles/mcc.dir/allocate.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mcc.dir/allocate.c.i"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/jackyma/Codes/C++/MinimalCC/allocate.c > CMakeFiles/mcc.dir/allocate.c.i
CMakeFiles/mcc.dir/allocate.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mcc.dir/allocate.c.s"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/jackyma/Codes/C++/MinimalCC/allocate.c -o CMakeFiles/mcc.dir/allocate.c.s
CMakeFiles/mcc.dir/expression.c.o: CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/expression.c.o: expression.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/mcc.dir/expression.c.o"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mcc.dir/expression.c.o -c /home/jackyma/Codes/C++/MinimalCC/expression.c
CMakeFiles/mcc.dir/expression.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mcc.dir/expression.c.i"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/jackyma/Codes/C++/MinimalCC/expression.c > CMakeFiles/mcc.dir/expression.c.i
CMakeFiles/mcc.dir/expression.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mcc.dir/expression.c.s"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/jackyma/Codes/C++/MinimalCC/expression.c -o CMakeFiles/mcc.dir/expression.c.s
CMakeFiles/mcc.dir/compile.c.o: CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/compile.c.o: compile.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/mcc.dir/compile.c.o"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mcc.dir/compile.c.o -c /home/jackyma/Codes/C++/MinimalCC/compile.c
CMakeFiles/mcc.dir/compile.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mcc.dir/compile.c.i"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/jackyma/Codes/C++/MinimalCC/compile.c > CMakeFiles/mcc.dir/compile.c.i
CMakeFiles/mcc.dir/compile.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mcc.dir/compile.c.s"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/jackyma/Codes/C++/MinimalCC/compile.c -o CMakeFiles/mcc.dir/compile.c.s
CMakeFiles/mcc.dir/dictionary.c.o: CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/dictionary.c.o: dictionary.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/mcc.dir/dictionary.c.o"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mcc.dir/dictionary.c.o -c /home/jackyma/Codes/C++/MinimalCC/dictionary.c
CMakeFiles/mcc.dir/dictionary.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mcc.dir/dictionary.c.i"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/jackyma/Codes/C++/MinimalCC/dictionary.c > CMakeFiles/mcc.dir/dictionary.c.i
CMakeFiles/mcc.dir/dictionary.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mcc.dir/dictionary.c.s"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/jackyma/Codes/C++/MinimalCC/dictionary.c -o CMakeFiles/mcc.dir/dictionary.c.s
CMakeFiles/mcc.dir/types.c.o: CMakeFiles/mcc.dir/flags.make
CMakeFiles/mcc.dir/types.c.o: types.c
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/mcc.dir/types.c.o"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/mcc.dir/types.c.o -c /home/jackyma/Codes/C++/MinimalCC/types.c
CMakeFiles/mcc.dir/types.c.i: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/mcc.dir/types.c.i"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/jackyma/Codes/C++/MinimalCC/types.c > CMakeFiles/mcc.dir/types.c.i
CMakeFiles/mcc.dir/types.c.s: cmake_force
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/mcc.dir/types.c.s"
/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/jackyma/Codes/C++/MinimalCC/types.c -o CMakeFiles/mcc.dir/types.c.s
# Object files for target mcc
mcc_OBJECTS = \
"CMakeFiles/mcc.dir/allocate.c.o" \
"CMakeFiles/mcc.dir/expression.c.o" \
"CMakeFiles/mcc.dir/compile.c.o" \
"CMakeFiles/mcc.dir/dictionary.c.o" \
"CMakeFiles/mcc.dir/types.c.o"
# External object files for target mcc
mcc_EXTERNAL_OBJECTS =
mcc: CMakeFiles/mcc.dir/allocate.c.o
mcc: CMakeFiles/mcc.dir/expression.c.o
mcc: CMakeFiles/mcc.dir/compile.c.o
mcc: CMakeFiles/mcc.dir/dictionary.c.o
mcc: CMakeFiles/mcc.dir/types.c.o
mcc: CMakeFiles/mcc.dir/build.make
mcc: CMakeFiles/mcc.dir/link.txt
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/jackyma/Codes/C++/MinimalCC/CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Linking C executable mcc"
$(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/mcc.dir/link.txt --verbose=$(VERBOSE)
# Rule to build all files generated by this target.
CMakeFiles/mcc.dir/build: mcc
.PHONY : CMakeFiles/mcc.dir/build
CMakeFiles/mcc.dir/clean:
$(CMAKE_COMMAND) -P CMakeFiles/mcc.dir/cmake_clean.cmake
.PHONY : CMakeFiles/mcc.dir/clean
CMakeFiles/mcc.dir/depend:
cd /home/jackyma/Codes/C++/MinimalCC && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/jackyma/Codes/C++/MinimalCC /home/jackyma/Codes/C++/MinimalCC /home/jackyma/Codes/C++/MinimalCC /home/jackyma/Codes/C++/MinimalCC /home/jackyma/Codes/C++/MinimalCC/CMakeFiles/mcc.dir/DependInfo.cmake --color=$(COLOR)
.PHONY : CMakeFiles/mcc.dir/depend

@ -1,14 +0,0 @@
file(REMOVE_RECURSE
"CMakeFiles/mcc.dir/allocate.c.o"
"CMakeFiles/mcc.dir/compile.c.o"
"CMakeFiles/mcc.dir/dictionary.c.o"
"CMakeFiles/mcc.dir/expression.c.o"
"CMakeFiles/mcc.dir/types.c.o"
"mcc"
"mcc.pdb"
)
# Per-language clean rules from dependency scanning.
foreach(lang C)
include(CMakeFiles/mcc.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

@ -1,27 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
CMakeFiles/mcc.dir/allocate.c.o
/home/jackyma/Codes/C++/MinimalCC/allocate.c
/home/jackyma/Codes/C++/MinimalCC/allocate.h
CMakeFiles/mcc.dir/compile.c.o
/home/jackyma/Codes/C++/MinimalCC/allocate.h
/home/jackyma/Codes/C++/MinimalCC/compile.c
/home/jackyma/Codes/C++/MinimalCC/compile.h
/home/jackyma/Codes/C++/MinimalCC/dictionary.h
/home/jackyma/Codes/C++/MinimalCC/expression.h
/home/jackyma/Codes/C++/MinimalCC/types.h
CMakeFiles/mcc.dir/dictionary.c.o
/home/jackyma/Codes/C++/MinimalCC/dictionary.c
/home/jackyma/Codes/C++/MinimalCC/dictionary.h
CMakeFiles/mcc.dir/expression.c.o
/home/jackyma/Codes/C++/MinimalCC/allocate.h
/home/jackyma/Codes/C++/MinimalCC/compile.h
/home/jackyma/Codes/C++/MinimalCC/dictionary.h
/home/jackyma/Codes/C++/MinimalCC/expression.c
/home/jackyma/Codes/C++/MinimalCC/expression.h
/home/jackyma/Codes/C++/MinimalCC/types.h
CMakeFiles/mcc.dir/types.c.o
/home/jackyma/Codes/C++/MinimalCC/compile.h
/home/jackyma/Codes/C++/MinimalCC/types.c
/home/jackyma/Codes/C++/MinimalCC/types.h

@ -1,27 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
CMakeFiles/mcc.dir/allocate.c.o: allocate.c
CMakeFiles/mcc.dir/allocate.c.o: allocate.h
CMakeFiles/mcc.dir/compile.c.o: allocate.h
CMakeFiles/mcc.dir/compile.c.o: compile.c
CMakeFiles/mcc.dir/compile.c.o: compile.h
CMakeFiles/mcc.dir/compile.c.o: dictionary.h
CMakeFiles/mcc.dir/compile.c.o: expression.h
CMakeFiles/mcc.dir/compile.c.o: types.h
CMakeFiles/mcc.dir/dictionary.c.o: dictionary.c
CMakeFiles/mcc.dir/dictionary.c.o: dictionary.h
CMakeFiles/mcc.dir/expression.c.o: allocate.h
CMakeFiles/mcc.dir/expression.c.o: compile.h
CMakeFiles/mcc.dir/expression.c.o: dictionary.h
CMakeFiles/mcc.dir/expression.c.o: expression.c
CMakeFiles/mcc.dir/expression.c.o: expression.h
CMakeFiles/mcc.dir/expression.c.o: types.h
CMakeFiles/mcc.dir/types.c.o: compile.h
CMakeFiles/mcc.dir/types.c.o: types.c
CMakeFiles/mcc.dir/types.c.o: types.h

@ -1,10 +0,0 @@
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# compile C with /usr/bin/cc
C_FLAGS = -g -fprofile-arcs -ftest-coverage
C_DEFINES =
C_INCLUDES =

@ -1 +0,0 @@
/usr/bin/cc -g -fprofile-arcs -ftest-coverage -fprofile-arcs -ftest-coverage -lgcov -rdynamic CMakeFiles/mcc.dir/allocate.c.o CMakeFiles/mcc.dir/expression.c.o CMakeFiles/mcc.dir/compile.c.o CMakeFiles/mcc.dir/dictionary.c.o CMakeFiles/mcc.dir/types.c.o -o mcc -lgmock -lgtest -lpthread

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/alloc_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - alloc_traits.h<span style="font-size: 80%;"> (<a href="alloc_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="alloc_traits.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="alloc_traits.h.gcov.html#511">_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/alloc_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - alloc_traits.h<span style="font-size: 80%;"> (<a href="alloc_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="alloc_traits.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="alloc_traits.h.gcov.html#511">_ZNSt16allocator_traitsISaIcEE37select_on_container_copy_constructionERKS0_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,728 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/alloc_traits.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - alloc_traits.h<span style="font-size: 80%;"> (source / <a href="alloc_traits.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Allocator traits -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2011-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /** @file bits/alloc_traits.h</a>
<a name="26"><span class="lineNum"> 26 </span> : : * This is an internal header file, included by other library headers.</a>
<a name="27"><span class="lineNum"> 27 </span> : : * Do not attempt to use it directly. @headername{memory}</a>
<a name="28"><span class="lineNum"> 28 </span> : : */</a>
<a name="29"><span class="lineNum"> 29 </span> : : </a>
<a name="30"><span class="lineNum"> 30 </span> : : #ifndef _ALLOC_TRAITS_H</a>
<a name="31"><span class="lineNum"> 31 </span> : : #define _ALLOC_TRAITS_H 1</a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
<a name="33"><span class="lineNum"> 33 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="34"><span class="lineNum"> 34 </span> : : </a>
<a name="35"><span class="lineNum"> 35 </span> : : #include &lt;bits/memoryfwd.h&gt;</a>
<a name="36"><span class="lineNum"> 36 </span> : : #include &lt;bits/ptr_traits.h&gt;</a>
<a name="37"><span class="lineNum"> 37 </span> : : #include &lt;ext/numeric_traits.h&gt;</a>
<a name="38"><span class="lineNum"> 38 </span> : : </a>
<a name="39"><span class="lineNum"> 39 </span> : : #define __cpp_lib_allocator_traits_is_always_equal 201411</a>
<a name="40"><span class="lineNum"> 40 </span> : : </a>
<a name="41"><span class="lineNum"> 41 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="42"><span class="lineNum"> 42 </span> : : {</a>
<a name="43"><span class="lineNum"> 43 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="44"><span class="lineNum"> 44 </span> : : </a>
<a name="45"><span class="lineNum"> 45 </span> : : struct __allocator_traits_base</a>
<a name="46"><span class="lineNum"> 46 </span> : : {</a>
<a name="47"><span class="lineNum"> 47 </span> : : template&lt;typename _Tp, typename _Up, typename = void&gt;</a>
<a name="48"><span class="lineNum"> 48 </span> : : struct __rebind : __replace_first_arg&lt;_Tp, _Up&gt; { };</a>
<a name="49"><span class="lineNum"> 49 </span> : : </a>
<a name="50"><span class="lineNum"> 50 </span> : : template&lt;typename _Tp, typename _Up&gt;</a>
<a name="51"><span class="lineNum"> 51 </span> : : struct __rebind&lt;_Tp, _Up,</a>
<a name="52"><span class="lineNum"> 52 </span> : : __void_t&lt;typename _Tp::template rebind&lt;_Up&gt;::other&gt;&gt;</a>
<a name="53"><span class="lineNum"> 53 </span> : : { using type = typename _Tp::template rebind&lt;_Up&gt;::other; };</a>
<a name="54"><span class="lineNum"> 54 </span> : : </a>
<a name="55"><span class="lineNum"> 55 </span> : : protected:</a>
<a name="56"><span class="lineNum"> 56 </span> : : template&lt;typename _Tp&gt;</a>
<a name="57"><span class="lineNum"> 57 </span> : : using __pointer = typename _Tp::pointer;</a>
<a name="58"><span class="lineNum"> 58 </span> : : template&lt;typename _Tp&gt;</a>
<a name="59"><span class="lineNum"> 59 </span> : : using __c_pointer = typename _Tp::const_pointer;</a>
<a name="60"><span class="lineNum"> 60 </span> : : template&lt;typename _Tp&gt;</a>
<a name="61"><span class="lineNum"> 61 </span> : : using __v_pointer = typename _Tp::void_pointer;</a>
<a name="62"><span class="lineNum"> 62 </span> : : template&lt;typename _Tp&gt;</a>
<a name="63"><span class="lineNum"> 63 </span> : : using __cv_pointer = typename _Tp::const_void_pointer;</a>
<a name="64"><span class="lineNum"> 64 </span> : : template&lt;typename _Tp&gt;</a>
<a name="65"><span class="lineNum"> 65 </span> : : using __pocca = typename _Tp::propagate_on_container_copy_assignment;</a>
<a name="66"><span class="lineNum"> 66 </span> : : template&lt;typename _Tp&gt;</a>
<a name="67"><span class="lineNum"> 67 </span> : : using __pocma = typename _Tp::propagate_on_container_move_assignment;</a>
<a name="68"><span class="lineNum"> 68 </span> : : template&lt;typename _Tp&gt;</a>
<a name="69"><span class="lineNum"> 69 </span> : : using __pocs = typename _Tp::propagate_on_container_swap;</a>
<a name="70"><span class="lineNum"> 70 </span> : : template&lt;typename _Tp&gt;</a>
<a name="71"><span class="lineNum"> 71 </span> : : using __equal = typename _Tp::is_always_equal;</a>
<a name="72"><span class="lineNum"> 72 </span> : : };</a>
<a name="73"><span class="lineNum"> 73 </span> : : </a>
<a name="74"><span class="lineNum"> 74 </span> : : template&lt;typename _Alloc, typename _Up&gt;</a>
<a name="75"><span class="lineNum"> 75 </span> : : using __alloc_rebind</a>
<a name="76"><span class="lineNum"> 76 </span> : : = typename __allocator_traits_base::template __rebind&lt;_Alloc, _Up&gt;::type;</a>
<a name="77"><span class="lineNum"> 77 </span> : : </a>
<a name="78"><span class="lineNum"> 78 </span> : : /**</a>
<a name="79"><span class="lineNum"> 79 </span> : : * @brief Uniform interface to all allocator types.</a>
<a name="80"><span class="lineNum"> 80 </span> : : * @ingroup allocators</a>
<a name="81"><span class="lineNum"> 81 </span> : : */</a>
<a name="82"><span class="lineNum"> 82 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="83"><span class="lineNum"> 83 </span> : : struct allocator_traits : __allocator_traits_base</a>
<a name="84"><span class="lineNum"> 84 </span> : : {</a>
<a name="85"><span class="lineNum"> 85 </span> : : /// The allocator type</a>
<a name="86"><span class="lineNum"> 86 </span> : : typedef _Alloc allocator_type;</a>
<a name="87"><span class="lineNum"> 87 </span> : : /// The allocated type</a>
<a name="88"><span class="lineNum"> 88 </span> : : typedef typename _Alloc::value_type value_type;</a>
<a name="89"><span class="lineNum"> 89 </span> : : </a>
<a name="90"><span class="lineNum"> 90 </span> : : /**</a>
<a name="91"><span class="lineNum"> 91 </span> : : * @brief The allocator's pointer type.</a>
<a name="92"><span class="lineNum"> 92 </span> : : *</a>
<a name="93"><span class="lineNum"> 93 </span> : : * @c Alloc::pointer if that type exists, otherwise @c value_type*</a>
<a name="94"><span class="lineNum"> 94 </span> : : */</a>
<a name="95"><span class="lineNum"> 95 </span> : : using pointer = __detected_or_t&lt;value_type*, __pointer, _Alloc&gt;;</a>
<a name="96"><span class="lineNum"> 96 </span> : : </a>
<a name="97"><span class="lineNum"> 97 </span> : : private:</a>
<a name="98"><span class="lineNum"> 98 </span> : : // Select _Func&lt;_Alloc&gt; or pointer_traits&lt;pointer&gt;::rebind&lt;_Tp&gt;</a>
<a name="99"><span class="lineNum"> 99 </span> : : template&lt;template&lt;typename&gt; class _Func, typename _Tp, typename = void&gt;</a>
<a name="100"><span class="lineNum"> 100 </span> : : struct _Ptr</a>
<a name="101"><span class="lineNum"> 101 </span> : : {</a>
<a name="102"><span class="lineNum"> 102 </span> : : using type = typename pointer_traits&lt;pointer&gt;::template rebind&lt;_Tp&gt;;</a>
<a name="103"><span class="lineNum"> 103 </span> : : };</a>
<a name="104"><span class="lineNum"> 104 </span> : : </a>
<a name="105"><span class="lineNum"> 105 </span> : : template&lt;template&lt;typename&gt; class _Func, typename _Tp&gt;</a>
<a name="106"><span class="lineNum"> 106 </span> : : struct _Ptr&lt;_Func, _Tp, __void_t&lt;_Func&lt;_Alloc&gt;&gt;&gt;</a>
<a name="107"><span class="lineNum"> 107 </span> : : {</a>
<a name="108"><span class="lineNum"> 108 </span> : : using type = _Func&lt;_Alloc&gt;;</a>
<a name="109"><span class="lineNum"> 109 </span> : : };</a>
<a name="110"><span class="lineNum"> 110 </span> : : </a>
<a name="111"><span class="lineNum"> 111 </span> : : // Select _A2::difference_type or pointer_traits&lt;_Ptr&gt;::difference_type</a>
<a name="112"><span class="lineNum"> 112 </span> : : template&lt;typename _A2, typename _PtrT, typename = void&gt;</a>
<a name="113"><span class="lineNum"> 113 </span> : : struct _Diff</a>
<a name="114"><span class="lineNum"> 114 </span> : : { using type = typename pointer_traits&lt;_PtrT&gt;::difference_type; };</a>
<a name="115"><span class="lineNum"> 115 </span> : : </a>
<a name="116"><span class="lineNum"> 116 </span> : : template&lt;typename _A2, typename _PtrT&gt;</a>
<a name="117"><span class="lineNum"> 117 </span> : : struct _Diff&lt;_A2, _PtrT, __void_t&lt;typename _A2::difference_type&gt;&gt;</a>
<a name="118"><span class="lineNum"> 118 </span> : : { using type = typename _A2::difference_type; };</a>
<a name="119"><span class="lineNum"> 119 </span> : : </a>
<a name="120"><span class="lineNum"> 120 </span> : : // Select _A2::size_type or make_unsigned&lt;_DiffT&gt;::type</a>
<a name="121"><span class="lineNum"> 121 </span> : : template&lt;typename _A2, typename _DiffT, typename = void&gt;</a>
<a name="122"><span class="lineNum"> 122 </span> : : struct _Size : make_unsigned&lt;_DiffT&gt; { };</a>
<a name="123"><span class="lineNum"> 123 </span> : : </a>
<a name="124"><span class="lineNum"> 124 </span> : : template&lt;typename _A2, typename _DiffT&gt;</a>
<a name="125"><span class="lineNum"> 125 </span> : : struct _Size&lt;_A2, _DiffT, __void_t&lt;typename _A2::size_type&gt;&gt;</a>
<a name="126"><span class="lineNum"> 126 </span> : : { using type = typename _A2::size_type; };</a>
<a name="127"><span class="lineNum"> 127 </span> : : </a>
<a name="128"><span class="lineNum"> 128 </span> : : public:</a>
<a name="129"><span class="lineNum"> 129 </span> : : /**</a>
<a name="130"><span class="lineNum"> 130 </span> : : * @brief The allocator's const pointer type.</a>
<a name="131"><span class="lineNum"> 131 </span> : : *</a>
<a name="132"><span class="lineNum"> 132 </span> : : * @c Alloc::const_pointer if that type exists, otherwise</a>
<a name="133"><span class="lineNum"> 133 </span> : : * &lt;tt&gt; pointer_traits&lt;pointer&gt;::rebind&lt;const value_type&gt; &lt;/tt&gt;</a>
<a name="134"><span class="lineNum"> 134 </span> : : */</a>
<a name="135"><span class="lineNum"> 135 </span> : : using const_pointer = typename _Ptr&lt;__c_pointer, const value_type&gt;::type;</a>
<a name="136"><span class="lineNum"> 136 </span> : : </a>
<a name="137"><span class="lineNum"> 137 </span> : : /**</a>
<a name="138"><span class="lineNum"> 138 </span> : : * @brief The allocator's void pointer type.</a>
<a name="139"><span class="lineNum"> 139 </span> : : *</a>
<a name="140"><span class="lineNum"> 140 </span> : : * @c Alloc::void_pointer if that type exists, otherwise</a>
<a name="141"><span class="lineNum"> 141 </span> : : * &lt;tt&gt; pointer_traits&lt;pointer&gt;::rebind&lt;void&gt; &lt;/tt&gt;</a>
<a name="142"><span class="lineNum"> 142 </span> : : */</a>
<a name="143"><span class="lineNum"> 143 </span> : : using void_pointer = typename _Ptr&lt;__v_pointer, void&gt;::type;</a>
<a name="144"><span class="lineNum"> 144 </span> : : </a>
<a name="145"><span class="lineNum"> 145 </span> : : /**</a>
<a name="146"><span class="lineNum"> 146 </span> : : * @brief The allocator's const void pointer type.</a>
<a name="147"><span class="lineNum"> 147 </span> : : *</a>
<a name="148"><span class="lineNum"> 148 </span> : : * @c Alloc::const_void_pointer if that type exists, otherwise</a>
<a name="149"><span class="lineNum"> 149 </span> : : * &lt;tt&gt; pointer_traits&lt;pointer&gt;::rebind&lt;const void&gt; &lt;/tt&gt;</a>
<a name="150"><span class="lineNum"> 150 </span> : : */</a>
<a name="151"><span class="lineNum"> 151 </span> : : using const_void_pointer = typename _Ptr&lt;__cv_pointer, const void&gt;::type;</a>
<a name="152"><span class="lineNum"> 152 </span> : : </a>
<a name="153"><span class="lineNum"> 153 </span> : : /**</a>
<a name="154"><span class="lineNum"> 154 </span> : : * @brief The allocator's difference type</a>
<a name="155"><span class="lineNum"> 155 </span> : : *</a>
<a name="156"><span class="lineNum"> 156 </span> : : * @c Alloc::difference_type if that type exists, otherwise</a>
<a name="157"><span class="lineNum"> 157 </span> : : * &lt;tt&gt; pointer_traits&lt;pointer&gt;::difference_type &lt;/tt&gt;</a>
<a name="158"><span class="lineNum"> 158 </span> : : */</a>
<a name="159"><span class="lineNum"> 159 </span> : : using difference_type = typename _Diff&lt;_Alloc, pointer&gt;::type;</a>
<a name="160"><span class="lineNum"> 160 </span> : : </a>
<a name="161"><span class="lineNum"> 161 </span> : : /**</a>
<a name="162"><span class="lineNum"> 162 </span> : : * @brief The allocator's size type</a>
<a name="163"><span class="lineNum"> 163 </span> : : *</a>
<a name="164"><span class="lineNum"> 164 </span> : : * @c Alloc::size_type if that type exists, otherwise</a>
<a name="165"><span class="lineNum"> 165 </span> : : * &lt;tt&gt; make_unsigned&lt;difference_type&gt;::type &lt;/tt&gt;</a>
<a name="166"><span class="lineNum"> 166 </span> : : */</a>
<a name="167"><span class="lineNum"> 167 </span> : : using size_type = typename _Size&lt;_Alloc, difference_type&gt;::type;</a>
<a name="168"><span class="lineNum"> 168 </span> : : </a>
<a name="169"><span class="lineNum"> 169 </span> : : /**</a>
<a name="170"><span class="lineNum"> 170 </span> : : * @brief How the allocator is propagated on copy assignment</a>
<a name="171"><span class="lineNum"> 171 </span> : : *</a>
<a name="172"><span class="lineNum"> 172 </span> : : * @c Alloc::propagate_on_container_copy_assignment if that type exists,</a>
<a name="173"><span class="lineNum"> 173 </span> : : * otherwise @c false_type</a>
<a name="174"><span class="lineNum"> 174 </span> : : */</a>
<a name="175"><span class="lineNum"> 175 </span> : : using propagate_on_container_copy_assignment</a>
<a name="176"><span class="lineNum"> 176 </span> : : = __detected_or_t&lt;false_type, __pocca, _Alloc&gt;;</a>
<a name="177"><span class="lineNum"> 177 </span> : : </a>
<a name="178"><span class="lineNum"> 178 </span> : : /**</a>
<a name="179"><span class="lineNum"> 179 </span> : : * @brief How the allocator is propagated on move assignment</a>
<a name="180"><span class="lineNum"> 180 </span> : : *</a>
<a name="181"><span class="lineNum"> 181 </span> : : * @c Alloc::propagate_on_container_move_assignment if that type exists,</a>
<a name="182"><span class="lineNum"> 182 </span> : : * otherwise @c false_type</a>
<a name="183"><span class="lineNum"> 183 </span> : : */</a>
<a name="184"><span class="lineNum"> 184 </span> : : using propagate_on_container_move_assignment</a>
<a name="185"><span class="lineNum"> 185 </span> : : = __detected_or_t&lt;false_type, __pocma, _Alloc&gt;;</a>
<a name="186"><span class="lineNum"> 186 </span> : : </a>
<a name="187"><span class="lineNum"> 187 </span> : : /**</a>
<a name="188"><span class="lineNum"> 188 </span> : : * @brief How the allocator is propagated on swap</a>
<a name="189"><span class="lineNum"> 189 </span> : : *</a>
<a name="190"><span class="lineNum"> 190 </span> : : * @c Alloc::propagate_on_container_swap if that type exists,</a>
<a name="191"><span class="lineNum"> 191 </span> : : * otherwise @c false_type</a>
<a name="192"><span class="lineNum"> 192 </span> : : */</a>
<a name="193"><span class="lineNum"> 193 </span> : : using propagate_on_container_swap</a>
<a name="194"><span class="lineNum"> 194 </span> : : = __detected_or_t&lt;false_type, __pocs, _Alloc&gt;;</a>
<a name="195"><span class="lineNum"> 195 </span> : : </a>
<a name="196"><span class="lineNum"> 196 </span> : : /**</a>
<a name="197"><span class="lineNum"> 197 </span> : : * @brief Whether all instances of the allocator type compare equal.</a>
<a name="198"><span class="lineNum"> 198 </span> : : *</a>
<a name="199"><span class="lineNum"> 199 </span> : : * @c Alloc::is_always_equal if that type exists,</a>
<a name="200"><span class="lineNum"> 200 </span> : : * otherwise @c is_empty&lt;Alloc&gt;::type</a>
<a name="201"><span class="lineNum"> 201 </span> : : */</a>
<a name="202"><span class="lineNum"> 202 </span> : : using is_always_equal</a>
<a name="203"><span class="lineNum"> 203 </span> : : = __detected_or_t&lt;typename is_empty&lt;_Alloc&gt;::type, __equal, _Alloc&gt;;</a>
<a name="204"><span class="lineNum"> 204 </span> : : </a>
<a name="205"><span class="lineNum"> 205 </span> : : template&lt;typename _Tp&gt;</a>
<a name="206"><span class="lineNum"> 206 </span> : : using rebind_alloc = __alloc_rebind&lt;_Alloc, _Tp&gt;;</a>
<a name="207"><span class="lineNum"> 207 </span> : : template&lt;typename _Tp&gt;</a>
<a name="208"><span class="lineNum"> 208 </span> : : using rebind_traits = allocator_traits&lt;rebind_alloc&lt;_Tp&gt;&gt;;</a>
<a name="209"><span class="lineNum"> 209 </span> : : </a>
<a name="210"><span class="lineNum"> 210 </span> : : private:</a>
<a name="211"><span class="lineNum"> 211 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="212"><span class="lineNum"> 212 </span> : : static auto</a>
<a name="213"><span class="lineNum"> 213 </span> : : _S_allocate(_Alloc2&amp; __a, size_type __n, const_void_pointer __hint, int)</a>
<a name="214"><span class="lineNum"> 214 </span> : : -&gt; decltype(__a.allocate(__n, __hint))</a>
<a name="215"><span class="lineNum"> 215 </span> : : { return __a.allocate(__n, __hint); }</a>
<a name="216"><span class="lineNum"> 216 </span> : : </a>
<a name="217"><span class="lineNum"> 217 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="218"><span class="lineNum"> 218 </span> : : static pointer</a>
<a name="219"><span class="lineNum"> 219 </span> : : _S_allocate(_Alloc2&amp; __a, size_type __n, const_void_pointer, ...)</a>
<a name="220"><span class="lineNum"> 220 </span> : : { return __a.allocate(__n); }</a>
<a name="221"><span class="lineNum"> 221 </span> : : </a>
<a name="222"><span class="lineNum"> 222 </span> : : template&lt;typename _Tp, typename... _Args&gt;</a>
<a name="223"><span class="lineNum"> 223 </span> : : struct __construct_helper</a>
<a name="224"><span class="lineNum"> 224 </span> : : {</a>
<a name="225"><span class="lineNum"> 225 </span> : : template&lt;typename _Alloc2,</a>
<a name="226"><span class="lineNum"> 226 </span> : : typename = decltype(std::declval&lt;_Alloc2*&gt;()-&gt;construct(</a>
<a name="227"><span class="lineNum"> 227 </span> : : std::declval&lt;_Tp*&gt;(), std::declval&lt;_Args&gt;()...))&gt;</a>
<a name="228"><span class="lineNum"> 228 </span> : : static true_type __test(int);</a>
<a name="229"><span class="lineNum"> 229 </span> : : </a>
<a name="230"><span class="lineNum"> 230 </span> : : template&lt;typename&gt;</a>
<a name="231"><span class="lineNum"> 231 </span> : : static false_type __test(...);</a>
<a name="232"><span class="lineNum"> 232 </span> : : </a>
<a name="233"><span class="lineNum"> 233 </span> : : using type = decltype(__test&lt;_Alloc&gt;(0));</a>
<a name="234"><span class="lineNum"> 234 </span> : : };</a>
<a name="235"><span class="lineNum"> 235 </span> : : </a>
<a name="236"><span class="lineNum"> 236 </span> : : template&lt;typename _Tp, typename... _Args&gt;</a>
<a name="237"><span class="lineNum"> 237 </span> : : using __has_construct</a>
<a name="238"><span class="lineNum"> 238 </span> : : = typename __construct_helper&lt;_Tp, _Args...&gt;::type;</a>
<a name="239"><span class="lineNum"> 239 </span> : : </a>
<a name="240"><span class="lineNum"> 240 </span> : : template&lt;typename _Tp, typename... _Args&gt;</a>
<a name="241"><span class="lineNum"> 241 </span> : : static _Require&lt;__has_construct&lt;_Tp, _Args...&gt;&gt;</a>
<a name="242"><span class="lineNum"> 242 </span> : : _S_construct(_Alloc&amp; __a, _Tp* __p, _Args&amp;&amp;... __args)</a>
<a name="243"><span class="lineNum"> 243 </span> : : noexcept(noexcept(__a.construct(__p, std::forward&lt;_Args&gt;(__args)...)))</a>
<a name="244"><span class="lineNum"> 244 </span> : : { __a.construct(__p, std::forward&lt;_Args&gt;(__args)...); }</a>
<a name="245"><span class="lineNum"> 245 </span> : : </a>
<a name="246"><span class="lineNum"> 246 </span> : : template&lt;typename _Tp, typename... _Args&gt;</a>
<a name="247"><span class="lineNum"> 247 </span> : : static</a>
<a name="248"><span class="lineNum"> 248 </span> : : _Require&lt;__and_&lt;__not_&lt;__has_construct&lt;_Tp, _Args...&gt;&gt;,</a>
<a name="249"><span class="lineNum"> 249 </span> : : is_constructible&lt;_Tp, _Args...&gt;&gt;&gt;</a>
<a name="250"><span class="lineNum"> 250 </span> : : _S_construct(_Alloc&amp;, _Tp* __p, _Args&amp;&amp;... __args)</a>
<a name="251"><span class="lineNum"> 251 </span> : : noexcept(std::is_nothrow_constructible&lt;_Tp, _Args...&gt;::value)</a>
<a name="252"><span class="lineNum"> 252 </span> : : { ::new((void*)__p) _Tp(std::forward&lt;_Args&gt;(__args)...); }</a>
<a name="253"><span class="lineNum"> 253 </span> : : </a>
<a name="254"><span class="lineNum"> 254 </span> : : template&lt;typename _Alloc2, typename _Tp&gt;</a>
<a name="255"><span class="lineNum"> 255 </span> : : static auto</a>
<a name="256"><span class="lineNum"> 256 </span> : : _S_destroy(_Alloc2&amp; __a, _Tp* __p, int)</a>
<a name="257"><span class="lineNum"> 257 </span> : : noexcept(noexcept(__a.destroy(__p)))</a>
<a name="258"><span class="lineNum"> 258 </span> : : -&gt; decltype(__a.destroy(__p))</a>
<a name="259"><span class="lineNum"> 259 </span> : : { __a.destroy(__p); }</a>
<a name="260"><span class="lineNum"> 260 </span> : : </a>
<a name="261"><span class="lineNum"> 261 </span> : : template&lt;typename _Alloc2, typename _Tp&gt;</a>
<a name="262"><span class="lineNum"> 262 </span> : : static void</a>
<a name="263"><span class="lineNum"> 263 </span> : : _S_destroy(_Alloc2&amp;, _Tp* __p, ...)</a>
<a name="264"><span class="lineNum"> 264 </span> : : noexcept(std::is_nothrow_destructible&lt;_Tp&gt;::value)</a>
<a name="265"><span class="lineNum"> 265 </span> : : { __p-&gt;~_Tp(); }</a>
<a name="266"><span class="lineNum"> 266 </span> : : </a>
<a name="267"><span class="lineNum"> 267 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="268"><span class="lineNum"> 268 </span> : : static auto</a>
<a name="269"><span class="lineNum"> 269 </span> : : _S_max_size(_Alloc2&amp; __a, int)</a>
<a name="270"><span class="lineNum"> 270 </span> : : -&gt; decltype(__a.max_size())</a>
<a name="271"><span class="lineNum"> 271 </span> : : { return __a.max_size(); }</a>
<a name="272"><span class="lineNum"> 272 </span> : : </a>
<a name="273"><span class="lineNum"> 273 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="274"><span class="lineNum"> 274 </span> : : static size_type</a>
<a name="275"><span class="lineNum"> 275 </span> : : _S_max_size(_Alloc2&amp;, ...)</a>
<a name="276"><span class="lineNum"> 276 </span> : : {</a>
<a name="277"><span class="lineNum"> 277 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="278"><span class="lineNum"> 278 </span> : : // 2466. allocator_traits::max_size() default behavior is incorrect</a>
<a name="279"><span class="lineNum"> 279 </span> : : return __gnu_cxx::__numeric_traits&lt;size_type&gt;::__max</a>
<a name="280"><span class="lineNum"> 280 </span> : : / sizeof(value_type);</a>
<a name="281"><span class="lineNum"> 281 </span> : : }</a>
<a name="282"><span class="lineNum"> 282 </span> : : </a>
<a name="283"><span class="lineNum"> 283 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="284"><span class="lineNum"> 284 </span> : : static auto</a>
<a name="285"><span class="lineNum"> 285 </span> : : _S_select(_Alloc2&amp; __a, int)</a>
<a name="286"><span class="lineNum"> 286 </span> : : -&gt; decltype(__a.select_on_container_copy_construction())</a>
<a name="287"><span class="lineNum"> 287 </span> : : { return __a.select_on_container_copy_construction(); }</a>
<a name="288"><span class="lineNum"> 288 </span> : : </a>
<a name="289"><span class="lineNum"> 289 </span> : : template&lt;typename _Alloc2&gt;</a>
<a name="290"><span class="lineNum"> 290 </span> : : static _Alloc2</a>
<a name="291"><span class="lineNum"> 291 </span> : : _S_select(_Alloc2&amp; __a, ...)</a>
<a name="292"><span class="lineNum"> 292 </span> : : { return __a; }</a>
<a name="293"><span class="lineNum"> 293 </span> : : </a>
<a name="294"><span class="lineNum"> 294 </span> : : public:</a>
<a name="295"><span class="lineNum"> 295 </span> : : </a>
<a name="296"><span class="lineNum"> 296 </span> : : /**</a>
<a name="297"><span class="lineNum"> 297 </span> : : * @brief Allocate memory.</a>
<a name="298"><span class="lineNum"> 298 </span> : : * @param __a An allocator.</a>
<a name="299"><span class="lineNum"> 299 </span> : : * @param __n The number of objects to allocate space for.</a>
<a name="300"><span class="lineNum"> 300 </span> : : *</a>
<a name="301"><span class="lineNum"> 301 </span> : : * Calls @c a.allocate(n)</a>
<a name="302"><span class="lineNum"> 302 </span> : : */</a>
<a name="303"><span class="lineNum"> 303 </span> : : _GLIBCXX_NODISCARD static pointer</a>
<a name="304"><span class="lineNum"> 304 </span> : : allocate(_Alloc&amp; __a, size_type __n)</a>
<a name="305"><span class="lineNum"> 305 </span> : : { return __a.allocate(__n); }</a>
<a name="306"><span class="lineNum"> 306 </span> : : </a>
<a name="307"><span class="lineNum"> 307 </span> : : /**</a>
<a name="308"><span class="lineNum"> 308 </span> : : * @brief Allocate memory.</a>
<a name="309"><span class="lineNum"> 309 </span> : : * @param __a An allocator.</a>
<a name="310"><span class="lineNum"> 310 </span> : : * @param __n The number of objects to allocate space for.</a>
<a name="311"><span class="lineNum"> 311 </span> : : * @param __hint Aid to locality.</a>
<a name="312"><span class="lineNum"> 312 </span> : : * @return Memory of suitable size and alignment for @a n objects</a>
<a name="313"><span class="lineNum"> 313 </span> : : * of type @c value_type</a>
<a name="314"><span class="lineNum"> 314 </span> : : *</a>
<a name="315"><span class="lineNum"> 315 </span> : : * Returns &lt;tt&gt; a.allocate(n, hint) &lt;/tt&gt; if that expression is</a>
<a name="316"><span class="lineNum"> 316 </span> : : * well-formed, otherwise returns @c a.allocate(n)</a>
<a name="317"><span class="lineNum"> 317 </span> : : */</a>
<a name="318"><span class="lineNum"> 318 </span> : : _GLIBCXX_NODISCARD static pointer</a>
<a name="319"><span class="lineNum"> 319 </span> : : allocate(_Alloc&amp; __a, size_type __n, const_void_pointer __hint)</a>
<a name="320"><span class="lineNum"> 320 </span> : : { return _S_allocate(__a, __n, __hint, 0); }</a>
<a name="321"><span class="lineNum"> 321 </span> : : </a>
<a name="322"><span class="lineNum"> 322 </span> : : /**</a>
<a name="323"><span class="lineNum"> 323 </span> : : * @brief Deallocate memory.</a>
<a name="324"><span class="lineNum"> 324 </span> : : * @param __a An allocator.</a>
<a name="325"><span class="lineNum"> 325 </span> : : * @param __p Pointer to the memory to deallocate.</a>
<a name="326"><span class="lineNum"> 326 </span> : : * @param __n The number of objects space was allocated for.</a>
<a name="327"><span class="lineNum"> 327 </span> : : *</a>
<a name="328"><span class="lineNum"> 328 </span> : : * Calls &lt;tt&gt; a.deallocate(p, n) &lt;/tt&gt;</a>
<a name="329"><span class="lineNum"> 329 </span> : : */</a>
<a name="330"><span class="lineNum"> 330 </span> : : static void</a>
<a name="331"><span class="lineNum"> 331 </span> : : deallocate(_Alloc&amp; __a, pointer __p, size_type __n)</a>
<a name="332"><span class="lineNum"> 332 </span> : : { __a.deallocate(__p, __n); }</a>
<a name="333"><span class="lineNum"> 333 </span> : : </a>
<a name="334"><span class="lineNum"> 334 </span> : : /**</a>
<a name="335"><span class="lineNum"> 335 </span> : : * @brief Construct an object of type `_Tp`</a>
<a name="336"><span class="lineNum"> 336 </span> : : * @param __a An allocator.</a>
<a name="337"><span class="lineNum"> 337 </span> : : * @param __p Pointer to memory of suitable size and alignment for Tp</a>
<a name="338"><span class="lineNum"> 338 </span> : : * @param __args Constructor arguments.</a>
<a name="339"><span class="lineNum"> 339 </span> : : *</a>
<a name="340"><span class="lineNum"> 340 </span> : : * Calls &lt;tt&gt; __a.construct(__p, std::forward&lt;Args&gt;(__args)...) &lt;/tt&gt;</a>
<a name="341"><span class="lineNum"> 341 </span> : : * if that expression is well-formed, otherwise uses placement-new</a>
<a name="342"><span class="lineNum"> 342 </span> : : * to construct an object of type @a _Tp at location @a __p from the</a>
<a name="343"><span class="lineNum"> 343 </span> : : * arguments @a __args...</a>
<a name="344"><span class="lineNum"> 344 </span> : : */</a>
<a name="345"><span class="lineNum"> 345 </span> : : template&lt;typename _Tp, typename... _Args&gt;</a>
<a name="346"><span class="lineNum"> 346 </span> : : static auto construct(_Alloc&amp; __a, _Tp* __p, _Args&amp;&amp;... __args)</a>
<a name="347"><span class="lineNum"> 347 </span> : : noexcept(noexcept(_S_construct(__a, __p,</a>
<a name="348"><span class="lineNum"> 348 </span> : : std::forward&lt;_Args&gt;(__args)...)))</a>
<a name="349"><span class="lineNum"> 349 </span> : : -&gt; decltype(_S_construct(__a, __p, std::forward&lt;_Args&gt;(__args)...))</a>
<a name="350"><span class="lineNum"> 350 </span> : : { _S_construct(__a, __p, std::forward&lt;_Args&gt;(__args)...); }</a>
<a name="351"><span class="lineNum"> 351 </span> : : </a>
<a name="352"><span class="lineNum"> 352 </span> : : /**</a>
<a name="353"><span class="lineNum"> 353 </span> : : * @brief Destroy an object of type @a _Tp</a>
<a name="354"><span class="lineNum"> 354 </span> : : * @param __a An allocator.</a>
<a name="355"><span class="lineNum"> 355 </span> : : * @param __p Pointer to the object to destroy</a>
<a name="356"><span class="lineNum"> 356 </span> : : *</a>
<a name="357"><span class="lineNum"> 357 </span> : : * Calls @c __a.destroy(__p) if that expression is well-formed,</a>
<a name="358"><span class="lineNum"> 358 </span> : : * otherwise calls @c __p-&gt;~_Tp()</a>
<a name="359"><span class="lineNum"> 359 </span> : : */</a>
<a name="360"><span class="lineNum"> 360 </span> : : template&lt;typename _Tp&gt;</a>
<a name="361"><span class="lineNum"> 361 </span> : : static void destroy(_Alloc&amp; __a, _Tp* __p)</a>
<a name="362"><span class="lineNum"> 362 </span> : : noexcept(noexcept(_S_destroy(__a, __p, 0)))</a>
<a name="363"><span class="lineNum"> 363 </span> : : { _S_destroy(__a, __p, 0); }</a>
<a name="364"><span class="lineNum"> 364 </span> : : </a>
<a name="365"><span class="lineNum"> 365 </span> : : /**</a>
<a name="366"><span class="lineNum"> 366 </span> : : * @brief The maximum supported allocation size</a>
<a name="367"><span class="lineNum"> 367 </span> : : * @param __a An allocator.</a>
<a name="368"><span class="lineNum"> 368 </span> : : * @return @c __a.max_size() or @c numeric_limits&lt;size_type&gt;::max()</a>
<a name="369"><span class="lineNum"> 369 </span> : : *</a>
<a name="370"><span class="lineNum"> 370 </span> : : * Returns @c __a.max_size() if that expression is well-formed,</a>
<a name="371"><span class="lineNum"> 371 </span> : : * otherwise returns @c numeric_limits&lt;size_type&gt;::max()</a>
<a name="372"><span class="lineNum"> 372 </span> : : */</a>
<a name="373"><span class="lineNum"> 373 </span> : : static size_type max_size(const _Alloc&amp; __a) noexcept</a>
<a name="374"><span class="lineNum"> 374 </span> : : { return _S_max_size(__a, 0); }</a>
<a name="375"><span class="lineNum"> 375 </span> : : </a>
<a name="376"><span class="lineNum"> 376 </span> : : /**</a>
<a name="377"><span class="lineNum"> 377 </span> : : * @brief Obtain an allocator to use when copying a container.</a>
<a name="378"><span class="lineNum"> 378 </span> : : * @param __rhs An allocator.</a>
<a name="379"><span class="lineNum"> 379 </span> : : * @return @c __rhs.select_on_container_copy_construction() or @a __rhs</a>
<a name="380"><span class="lineNum"> 380 </span> : : *</a>
<a name="381"><span class="lineNum"> 381 </span> : : * Returns @c __rhs.select_on_container_copy_construction() if that</a>
<a name="382"><span class="lineNum"> 382 </span> : : * expression is well-formed, otherwise returns @a __rhs</a>
<a name="383"><span class="lineNum"> 383 </span> : : */</a>
<a name="384"><span class="lineNum"> 384 </span> : : static _Alloc</a>
<a name="385"><span class="lineNum"> 385 </span> : : select_on_container_copy_construction(const _Alloc&amp; __rhs)</a>
<a name="386"><span class="lineNum"> 386 </span> : : { return _S_select(__rhs, 0); }</a>
<a name="387"><span class="lineNum"> 387 </span> : : };</a>
<a name="388"><span class="lineNum"> 388 </span> : : </a>
<a name="389"><span class="lineNum"> 389 </span> : : /// Partial specialization for std::allocator.</a>
<a name="390"><span class="lineNum"> 390 </span> : : template&lt;typename _Tp&gt;</a>
<a name="391"><span class="lineNum"> 391 </span> : : struct allocator_traits&lt;allocator&lt;_Tp&gt;&gt;</a>
<a name="392"><span class="lineNum"> 392 </span> : : {</a>
<a name="393"><span class="lineNum"> 393 </span> : : /// The allocator type</a>
<a name="394"><span class="lineNum"> 394 </span> : : using allocator_type = allocator&lt;_Tp&gt;;</a>
<a name="395"><span class="lineNum"> 395 </span> : : /// The allocated type</a>
<a name="396"><span class="lineNum"> 396 </span> : : using value_type = _Tp;</a>
<a name="397"><span class="lineNum"> 397 </span> : : </a>
<a name="398"><span class="lineNum"> 398 </span> : : /// The allocator's pointer type.</a>
<a name="399"><span class="lineNum"> 399 </span> : : using pointer = _Tp*;</a>
<a name="400"><span class="lineNum"> 400 </span> : : </a>
<a name="401"><span class="lineNum"> 401 </span> : : /// The allocator's const pointer type.</a>
<a name="402"><span class="lineNum"> 402 </span> : : using const_pointer = const _Tp*;</a>
<a name="403"><span class="lineNum"> 403 </span> : : </a>
<a name="404"><span class="lineNum"> 404 </span> : : /// The allocator's void pointer type.</a>
<a name="405"><span class="lineNum"> 405 </span> : : using void_pointer = void*;</a>
<a name="406"><span class="lineNum"> 406 </span> : : </a>
<a name="407"><span class="lineNum"> 407 </span> : : /// The allocator's const void pointer type.</a>
<a name="408"><span class="lineNum"> 408 </span> : : using const_void_pointer = const void*;</a>
<a name="409"><span class="lineNum"> 409 </span> : : </a>
<a name="410"><span class="lineNum"> 410 </span> : : /// The allocator's difference type</a>
<a name="411"><span class="lineNum"> 411 </span> : : using difference_type = std::ptrdiff_t;</a>
<a name="412"><span class="lineNum"> 412 </span> : : </a>
<a name="413"><span class="lineNum"> 413 </span> : : /// The allocator's size type</a>
<a name="414"><span class="lineNum"> 414 </span> : : using size_type = std::size_t;</a>
<a name="415"><span class="lineNum"> 415 </span> : : </a>
<a name="416"><span class="lineNum"> 416 </span> : : /// How the allocator is propagated on copy assignment</a>
<a name="417"><span class="lineNum"> 417 </span> : : using propagate_on_container_copy_assignment = false_type;</a>
<a name="418"><span class="lineNum"> 418 </span> : : </a>
<a name="419"><span class="lineNum"> 419 </span> : : /// How the allocator is propagated on move assignment</a>
<a name="420"><span class="lineNum"> 420 </span> : : using propagate_on_container_move_assignment = true_type;</a>
<a name="421"><span class="lineNum"> 421 </span> : : </a>
<a name="422"><span class="lineNum"> 422 </span> : : /// How the allocator is propagated on swap</a>
<a name="423"><span class="lineNum"> 423 </span> : : using propagate_on_container_swap = false_type;</a>
<a name="424"><span class="lineNum"> 424 </span> : : </a>
<a name="425"><span class="lineNum"> 425 </span> : : /// Whether all instances of the allocator type compare equal.</a>
<a name="426"><span class="lineNum"> 426 </span> : : using is_always_equal = true_type;</a>
<a name="427"><span class="lineNum"> 427 </span> : : </a>
<a name="428"><span class="lineNum"> 428 </span> : : template&lt;typename _Up&gt;</a>
<a name="429"><span class="lineNum"> 429 </span> : : using rebind_alloc = allocator&lt;_Up&gt;;</a>
<a name="430"><span class="lineNum"> 430 </span> : : </a>
<a name="431"><span class="lineNum"> 431 </span> : : template&lt;typename _Up&gt;</a>
<a name="432"><span class="lineNum"> 432 </span> : : using rebind_traits = allocator_traits&lt;allocator&lt;_Up&gt;&gt;;</a>
<a name="433"><span class="lineNum"> 433 </span> : : </a>
<a name="434"><span class="lineNum"> 434 </span> : : /**</a>
<a name="435"><span class="lineNum"> 435 </span> : : * @brief Allocate memory.</a>
<a name="436"><span class="lineNum"> 436 </span> : : * @param __a An allocator.</a>
<a name="437"><span class="lineNum"> 437 </span> : : * @param __n The number of objects to allocate space for.</a>
<a name="438"><span class="lineNum"> 438 </span> : : *</a>
<a name="439"><span class="lineNum"> 439 </span> : : * Calls @c a.allocate(n)</a>
<a name="440"><span class="lineNum"> 440 </span> : : */</a>
<a name="441"><span class="lineNum"> 441 </span> : : _GLIBCXX_NODISCARD static pointer</a>
<a name="442"><span class="lineNum"> 442 </span> : : allocate(allocator_type&amp; __a, size_type __n)</a>
<a name="443"><span class="lineNum"> 443 </span> : : { return __a.allocate(__n); }</a>
<a name="444"><span class="lineNum"> 444 </span> : : </a>
<a name="445"><span class="lineNum"> 445 </span> : : /**</a>
<a name="446"><span class="lineNum"> 446 </span> : : * @brief Allocate memory.</a>
<a name="447"><span class="lineNum"> 447 </span> : : * @param __a An allocator.</a>
<a name="448"><span class="lineNum"> 448 </span> : : * @param __n The number of objects to allocate space for.</a>
<a name="449"><span class="lineNum"> 449 </span> : : * @param __hint Aid to locality.</a>
<a name="450"><span class="lineNum"> 450 </span> : : * @return Memory of suitable size and alignment for @a n objects</a>
<a name="451"><span class="lineNum"> 451 </span> : : * of type @c value_type</a>
<a name="452"><span class="lineNum"> 452 </span> : : *</a>
<a name="453"><span class="lineNum"> 453 </span> : : * Returns &lt;tt&gt; a.allocate(n, hint) &lt;/tt&gt;</a>
<a name="454"><span class="lineNum"> 454 </span> : : */</a>
<a name="455"><span class="lineNum"> 455 </span> : : _GLIBCXX_NODISCARD static pointer</a>
<a name="456"><span class="lineNum"> 456 </span> : : allocate(allocator_type&amp; __a, size_type __n, const_void_pointer __hint)</a>
<a name="457"><span class="lineNum"> 457 </span> : : { return __a.allocate(__n, __hint); }</a>
<a name="458"><span class="lineNum"> 458 </span> : : </a>
<a name="459"><span class="lineNum"> 459 </span> : : /**</a>
<a name="460"><span class="lineNum"> 460 </span> : : * @brief Deallocate memory.</a>
<a name="461"><span class="lineNum"> 461 </span> : : * @param __a An allocator.</a>
<a name="462"><span class="lineNum"> 462 </span> : : * @param __p Pointer to the memory to deallocate.</a>
<a name="463"><span class="lineNum"> 463 </span> : : * @param __n The number of objects space was allocated for.</a>
<a name="464"><span class="lineNum"> 464 </span> : : *</a>
<a name="465"><span class="lineNum"> 465 </span> : : * Calls &lt;tt&gt; a.deallocate(p, n) &lt;/tt&gt;</a>
<a name="466"><span class="lineNum"> 466 </span> : : */</a>
<a name="467"><span class="lineNum"> 467 </span> : : static void</a>
<a name="468"><span class="lineNum"> 468 </span> : : deallocate(allocator_type&amp; __a, pointer __p, size_type __n)</a>
<a name="469"><span class="lineNum"> 469 </span> : : { __a.deallocate(__p, __n); }</a>
<a name="470"><span class="lineNum"> 470 </span> : : </a>
<a name="471"><span class="lineNum"> 471 </span> : : /**</a>
<a name="472"><span class="lineNum"> 472 </span> : : * @brief Construct an object of type @a _Up</a>
<a name="473"><span class="lineNum"> 473 </span> : : * @param __a An allocator.</a>
<a name="474"><span class="lineNum"> 474 </span> : : * @param __p Pointer to memory of suitable size and alignment for Tp</a>
<a name="475"><span class="lineNum"> 475 </span> : : * @param __args Constructor arguments.</a>
<a name="476"><span class="lineNum"> 476 </span> : : *</a>
<a name="477"><span class="lineNum"> 477 </span> : : * Calls &lt;tt&gt; __a.construct(__p, std::forward&lt;Args&gt;(__args)...) &lt;/tt&gt;</a>
<a name="478"><span class="lineNum"> 478 </span> : : */</a>
<a name="479"><span class="lineNum"> 479 </span> : : template&lt;typename _Up, typename... _Args&gt;</a>
<a name="480"><span class="lineNum"> 480 </span> : : static void</a>
<a name="481"><span class="lineNum"> 481 </span> : : construct(allocator_type&amp; __a, _Up* __p, _Args&amp;&amp;... __args)</a>
<a name="482"><span class="lineNum"> 482 </span> : : noexcept(std::is_nothrow_constructible&lt;_Up, _Args...&gt;::value)</a>
<a name="483"><span class="lineNum"> 483 </span> : : { __a.construct(__p, std::forward&lt;_Args&gt;(__args)...); }</a>
<a name="484"><span class="lineNum"> 484 </span> : : </a>
<a name="485"><span class="lineNum"> 485 </span> : : /**</a>
<a name="486"><span class="lineNum"> 486 </span> : : * @brief Destroy an object of type @a _Up</a>
<a name="487"><span class="lineNum"> 487 </span> : : * @param __a An allocator.</a>
<a name="488"><span class="lineNum"> 488 </span> : : * @param __p Pointer to the object to destroy</a>
<a name="489"><span class="lineNum"> 489 </span> : : *</a>
<a name="490"><span class="lineNum"> 490 </span> : : * Calls @c __a.destroy(__p).</a>
<a name="491"><span class="lineNum"> 491 </span> : : */</a>
<a name="492"><span class="lineNum"> 492 </span> : : template&lt;typename _Up&gt;</a>
<a name="493"><span class="lineNum"> 493 </span> : : static void</a>
<a name="494"><span class="lineNum"> 494 </span> : : destroy(allocator_type&amp; __a, _Up* __p)</a>
<a name="495"><span class="lineNum"> 495 </span> : : noexcept(noexcept(__a.destroy(__p)))</a>
<a name="496"><span class="lineNum"> 496 </span> : : { __a.destroy(__p); }</a>
<a name="497"><span class="lineNum"> 497 </span> : : </a>
<a name="498"><span class="lineNum"> 498 </span> : : /**</a>
<a name="499"><span class="lineNum"> 499 </span> : : * @brief The maximum supported allocation size</a>
<a name="500"><span class="lineNum"> 500 </span> : : * @param __a An allocator.</a>
<a name="501"><span class="lineNum"> 501 </span> : : * @return @c __a.max_size()</a>
<a name="502"><span class="lineNum"> 502 </span> : : */</a>
<a name="503"><span class="lineNum"> 503 </span> : : static size_type</a>
<a name="504"><span class="lineNum"> 504 </span> : : max_size(const allocator_type&amp; __a) noexcept</a>
<a name="505"><span class="lineNum"> 505 </span> : : { return __a.max_size(); }</a>
<a name="506"><span class="lineNum"> 506 </span> : : </a>
<a name="507"><span class="lineNum"> 507 </span> : : /**</a>
<a name="508"><span class="lineNum"> 508 </span> : : * @brief Obtain an allocator to use when copying a container.</a>
<a name="509"><span class="lineNum"> 509 </span> : : * @param __rhs An allocator.</a>
<a name="510"><span class="lineNum"> 510 </span> : : * @return @c __rhs</a>
<a name="511"><span class="lineNum"> 511 </span> : : */</a>
<a name="512"><span class="lineNum"> 512 </span> : : static allocator_type</a>
<a name="513"><span class="lineNum"> 513 </span> :<span class="lineNoCov"> 0 : select_on_container_copy_construction(const allocator_type&amp; __rhs)</span></a>
<a name="514"><span class="lineNum"> 514 </span> :<span class="lineNoCov"> 0 : { return __rhs; }</span></a>
<a name="515"><span class="lineNum"> 515 </span> : : };</a>
<a name="516"><span class="lineNum"> 516 </span> : : </a>
<a name="517"><span class="lineNum"> 517 </span> : : </a>
<a name="518"><span class="lineNum"> 518 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="519"><span class="lineNum"> 519 </span> : : inline void</a>
<a name="520"><span class="lineNum"> 520 </span> : : __do_alloc_on_copy(_Alloc&amp; __one, const _Alloc&amp; __two, true_type)</a>
<a name="521"><span class="lineNum"> 521 </span> : : { __one = __two; }</a>
<a name="522"><span class="lineNum"> 522 </span> : : </a>
<a name="523"><span class="lineNum"> 523 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="524"><span class="lineNum"> 524 </span> : : inline void</a>
<a name="525"><span class="lineNum"> 525 </span> : : __do_alloc_on_copy(_Alloc&amp;, const _Alloc&amp;, false_type)</a>
<a name="526"><span class="lineNum"> 526 </span> : : { }</a>
<a name="527"><span class="lineNum"> 527 </span> : : </a>
<a name="528"><span class="lineNum"> 528 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="529"><span class="lineNum"> 529 </span> : : inline void __alloc_on_copy(_Alloc&amp; __one, const _Alloc&amp; __two)</a>
<a name="530"><span class="lineNum"> 530 </span> : : {</a>
<a name="531"><span class="lineNum"> 531 </span> : : typedef allocator_traits&lt;_Alloc&gt; __traits;</a>
<a name="532"><span class="lineNum"> 532 </span> : : typedef typename __traits::propagate_on_container_copy_assignment __pocca;</a>
<a name="533"><span class="lineNum"> 533 </span> : : __do_alloc_on_copy(__one, __two, __pocca());</a>
<a name="534"><span class="lineNum"> 534 </span> : : }</a>
<a name="535"><span class="lineNum"> 535 </span> : : </a>
<a name="536"><span class="lineNum"> 536 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="537"><span class="lineNum"> 537 </span> : : inline _Alloc __alloc_on_copy(const _Alloc&amp; __a)</a>
<a name="538"><span class="lineNum"> 538 </span> : : {</a>
<a name="539"><span class="lineNum"> 539 </span> : : typedef allocator_traits&lt;_Alloc&gt; __traits;</a>
<a name="540"><span class="lineNum"> 540 </span> : : return __traits::select_on_container_copy_construction(__a);</a>
<a name="541"><span class="lineNum"> 541 </span> : : }</a>
<a name="542"><span class="lineNum"> 542 </span> : : </a>
<a name="543"><span class="lineNum"> 543 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="544"><span class="lineNum"> 544 </span> : : inline void __do_alloc_on_move(_Alloc&amp; __one, _Alloc&amp; __two, true_type)</a>
<a name="545"><span class="lineNum"> 545 </span> : : { __one = std::move(__two); }</a>
<a name="546"><span class="lineNum"> 546 </span> : : </a>
<a name="547"><span class="lineNum"> 547 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="548"><span class="lineNum"> 548 </span> : : inline void __do_alloc_on_move(_Alloc&amp;, _Alloc&amp;, false_type)</a>
<a name="549"><span class="lineNum"> 549 </span> : : { }</a>
<a name="550"><span class="lineNum"> 550 </span> : : </a>
<a name="551"><span class="lineNum"> 551 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="552"><span class="lineNum"> 552 </span> : : inline void __alloc_on_move(_Alloc&amp; __one, _Alloc&amp; __two)</a>
<a name="553"><span class="lineNum"> 553 </span> : : {</a>
<a name="554"><span class="lineNum"> 554 </span> : : typedef allocator_traits&lt;_Alloc&gt; __traits;</a>
<a name="555"><span class="lineNum"> 555 </span> : : typedef typename __traits::propagate_on_container_move_assignment __pocma;</a>
<a name="556"><span class="lineNum"> 556 </span> : : __do_alloc_on_move(__one, __two, __pocma());</a>
<a name="557"><span class="lineNum"> 557 </span> : : }</a>
<a name="558"><span class="lineNum"> 558 </span> : : </a>
<a name="559"><span class="lineNum"> 559 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="560"><span class="lineNum"> 560 </span> : : inline void __do_alloc_on_swap(_Alloc&amp; __one, _Alloc&amp; __two, true_type)</a>
<a name="561"><span class="lineNum"> 561 </span> : : {</a>
<a name="562"><span class="lineNum"> 562 </span> : : using std::swap;</a>
<a name="563"><span class="lineNum"> 563 </span> : : swap(__one, __two);</a>
<a name="564"><span class="lineNum"> 564 </span> : : }</a>
<a name="565"><span class="lineNum"> 565 </span> : : </a>
<a name="566"><span class="lineNum"> 566 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="567"><span class="lineNum"> 567 </span> : : inline void __do_alloc_on_swap(_Alloc&amp;, _Alloc&amp;, false_type)</a>
<a name="568"><span class="lineNum"> 568 </span> : : { }</a>
<a name="569"><span class="lineNum"> 569 </span> : : </a>
<a name="570"><span class="lineNum"> 570 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="571"><span class="lineNum"> 571 </span> : : inline void __alloc_on_swap(_Alloc&amp; __one, _Alloc&amp; __two)</a>
<a name="572"><span class="lineNum"> 572 </span> : : {</a>
<a name="573"><span class="lineNum"> 573 </span> : : typedef allocator_traits&lt;_Alloc&gt; __traits;</a>
<a name="574"><span class="lineNum"> 574 </span> : : typedef typename __traits::propagate_on_container_swap __pocs;</a>
<a name="575"><span class="lineNum"> 575 </span> : : __do_alloc_on_swap(__one, __two, __pocs());</a>
<a name="576"><span class="lineNum"> 576 </span> : : }</a>
<a name="577"><span class="lineNum"> 577 </span> : : </a>
<a name="578"><span class="lineNum"> 578 </span> : : template&lt;typename _Alloc, typename _Tp,</a>
<a name="579"><span class="lineNum"> 579 </span> : : typename _ValueT = __remove_cvref_t&lt;typename _Alloc::value_type&gt;,</a>
<a name="580"><span class="lineNum"> 580 </span> : : typename = void&gt;</a>
<a name="581"><span class="lineNum"> 581 </span> : : struct __is_alloc_insertable_impl</a>
<a name="582"><span class="lineNum"> 582 </span> : : : false_type</a>
<a name="583"><span class="lineNum"> 583 </span> : : { };</a>
<a name="584"><span class="lineNum"> 584 </span> : : </a>
<a name="585"><span class="lineNum"> 585 </span> : : template&lt;typename _Alloc, typename _Tp, typename _ValueT&gt;</a>
<a name="586"><span class="lineNum"> 586 </span> : : struct __is_alloc_insertable_impl&lt;_Alloc, _Tp, _ValueT,</a>
<a name="587"><span class="lineNum"> 587 </span> : : __void_t&lt;decltype(allocator_traits&lt;_Alloc&gt;::construct(</a>
<a name="588"><span class="lineNum"> 588 </span> : : std::declval&lt;_Alloc&amp;&gt;(), std::declval&lt;_ValueT*&gt;(),</a>
<a name="589"><span class="lineNum"> 589 </span> : : std::declval&lt;_Tp&gt;()))&gt;&gt;</a>
<a name="590"><span class="lineNum"> 590 </span> : : : true_type</a>
<a name="591"><span class="lineNum"> 591 </span> : : { };</a>
<a name="592"><span class="lineNum"> 592 </span> : : </a>
<a name="593"><span class="lineNum"> 593 </span> : : // true if _Alloc::value_type is CopyInsertable into containers using _Alloc</a>
<a name="594"><span class="lineNum"> 594 </span> : : // (might be wrong if _Alloc::construct exists but is not constrained,</a>
<a name="595"><span class="lineNum"> 595 </span> : : // i.e. actually trying to use it would still be invalid. Use with caution.)</a>
<a name="596"><span class="lineNum"> 596 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="597"><span class="lineNum"> 597 </span> : : struct __is_copy_insertable</a>
<a name="598"><span class="lineNum"> 598 </span> : : : __is_alloc_insertable_impl&lt;_Alloc,</a>
<a name="599"><span class="lineNum"> 599 </span> : : typename _Alloc::value_type const&amp;&gt;::type</a>
<a name="600"><span class="lineNum"> 600 </span> : : { };</a>
<a name="601"><span class="lineNum"> 601 </span> : : </a>
<a name="602"><span class="lineNum"> 602 </span> : : // std::allocator&lt;_Tp&gt; just requires CopyConstructible</a>
<a name="603"><span class="lineNum"> 603 </span> : : template&lt;typename _Tp&gt;</a>
<a name="604"><span class="lineNum"> 604 </span> : : struct __is_copy_insertable&lt;allocator&lt;_Tp&gt;&gt;</a>
<a name="605"><span class="lineNum"> 605 </span> : : : is_copy_constructible&lt;_Tp&gt;</a>
<a name="606"><span class="lineNum"> 606 </span> : : { };</a>
<a name="607"><span class="lineNum"> 607 </span> : : </a>
<a name="608"><span class="lineNum"> 608 </span> : : // true if _Alloc::value_type is MoveInsertable into containers using _Alloc</a>
<a name="609"><span class="lineNum"> 609 </span> : : // (might be wrong if _Alloc::construct exists but is not constrained,</a>
<a name="610"><span class="lineNum"> 610 </span> : : // i.e. actually trying to use it would still be invalid. Use with caution.)</a>
<a name="611"><span class="lineNum"> 611 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="612"><span class="lineNum"> 612 </span> : : struct __is_move_insertable</a>
<a name="613"><span class="lineNum"> 613 </span> : : : __is_alloc_insertable_impl&lt;_Alloc, typename _Alloc::value_type&gt;::type</a>
<a name="614"><span class="lineNum"> 614 </span> : : { };</a>
<a name="615"><span class="lineNum"> 615 </span> : : </a>
<a name="616"><span class="lineNum"> 616 </span> : : // std::allocator&lt;_Tp&gt; just requires MoveConstructible</a>
<a name="617"><span class="lineNum"> 617 </span> : : template&lt;typename _Tp&gt;</a>
<a name="618"><span class="lineNum"> 618 </span> : : struct __is_move_insertable&lt;allocator&lt;_Tp&gt;&gt;</a>
<a name="619"><span class="lineNum"> 619 </span> : : : is_move_constructible&lt;_Tp&gt;</a>
<a name="620"><span class="lineNum"> 620 </span> : : { };</a>
<a name="621"><span class="lineNum"> 621 </span> : : </a>
<a name="622"><span class="lineNum"> 622 </span> : : // Trait to detect Allocator-like types.</a>
<a name="623"><span class="lineNum"> 623 </span> : : template&lt;typename _Alloc, typename = void&gt;</a>
<a name="624"><span class="lineNum"> 624 </span> : : struct __is_allocator : false_type { };</a>
<a name="625"><span class="lineNum"> 625 </span> : : </a>
<a name="626"><span class="lineNum"> 626 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="627"><span class="lineNum"> 627 </span> : : struct __is_allocator&lt;_Alloc,</a>
<a name="628"><span class="lineNum"> 628 </span> : : __void_t&lt;typename _Alloc::value_type,</a>
<a name="629"><span class="lineNum"> 629 </span> : : decltype(std::declval&lt;_Alloc&amp;&gt;().allocate(size_t{}))&gt;&gt;</a>
<a name="630"><span class="lineNum"> 630 </span> : : : true_type { };</a>
<a name="631"><span class="lineNum"> 631 </span> : : </a>
<a name="632"><span class="lineNum"> 632 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="633"><span class="lineNum"> 633 </span> : : using _RequireAllocator</a>
<a name="634"><span class="lineNum"> 634 </span> : : = typename enable_if&lt;__is_allocator&lt;_Alloc&gt;::value, _Alloc&gt;::type;</a>
<a name="635"><span class="lineNum"> 635 </span> : : </a>
<a name="636"><span class="lineNum"> 636 </span> : : template&lt;typename _Alloc&gt;</a>
<a name="637"><span class="lineNum"> 637 </span> : : using _RequireNotAllocator</a>
<a name="638"><span class="lineNum"> 638 </span> : : = typename enable_if&lt;!__is_allocator&lt;_Alloc&gt;::value, _Alloc&gt;::type;</a>
<a name="639"><span class="lineNum"> 639 </span> : : </a>
<a name="640"><span class="lineNum"> 640 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="641"><span class="lineNum"> 641 </span> : : } // namespace std</a>
<a name="642"><span class="lineNum"> 642 </span> : : #endif // C++11</a>
<a name="643"><span class="lineNum"> 643 </span> : : #endif // _ALLOC_TRAITS_H</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/basic_string.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - basic_string.h<span style="font-size: 80%;"> (<a href="basic_string.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="basic_string.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#265">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#265">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#245">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#245">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPcEEvT_S7_St12__false_type</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/basic_string.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - basic_string.h<span style="font-size: 80%;"> (<a href="basic_string.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="basic_string.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#265">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#265">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#245">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPKcEEvT_S8_St12__false_type</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.h.gcov.html#245">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE16_M_construct_auxIPcEEvT_S7_St12__false_type</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,89 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/basic_string.tcc - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - basic_string.tcc<span style="font-size: 80%;"> (<a href="basic_string.tcc.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">22</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="basic_string.tcc.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.tcc.gcov.html#204">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.tcc.gcov.html#204">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,89 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/basic_string.tcc - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - basic_string.tcc<span style="font-size: 80%;"> (<a href="basic_string.tcc.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">13</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">22</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="basic_string.tcc.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.tcc.gcov.html#204">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="basic_string.tcc.gcov.html#204">_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/char_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - char_traits.h<span style="font-size: 80%;"> (<a href="char_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="char_traits.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="char_traits.h.gcov.html#334">_ZNSt11char_traitsIcE6lengthEPKc</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/char_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - char_traits.h<span style="font-size: 80%;"> (<a href="char_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="char_traits.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="char_traits.h.gcov.html#334">_ZNSt11char_traitsIcE6lengthEPKc</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,930 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/char_traits.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - char_traits.h<span style="font-size: 80%;"> (source / <a href="char_traits.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Character Traits for use by standard string and iostream -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 1997-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /** @file bits/char_traits.h</a>
<a name="26"><span class="lineNum"> 26 </span> : : * This is an internal header file, included by other library headers.</a>
<a name="27"><span class="lineNum"> 27 </span> : : * Do not attempt to use it directly. @headername{string}</a>
<a name="28"><span class="lineNum"> 28 </span> : : */</a>
<a name="29"><span class="lineNum"> 29 </span> : : </a>
<a name="30"><span class="lineNum"> 30 </span> : : //</a>
<a name="31"><span class="lineNum"> 31 </span> : : // ISO C++ 14882: 21 Strings library</a>
<a name="32"><span class="lineNum"> 32 </span> : : //</a>
<a name="33"><span class="lineNum"> 33 </span> : : </a>
<a name="34"><span class="lineNum"> 34 </span> : : #ifndef _CHAR_TRAITS_H</a>
<a name="35"><span class="lineNum"> 35 </span> : : #define _CHAR_TRAITS_H 1</a>
<a name="36"><span class="lineNum"> 36 </span> : : </a>
<a name="37"><span class="lineNum"> 37 </span> : : #pragma GCC system_header</a>
<a name="38"><span class="lineNum"> 38 </span> : : </a>
<a name="39"><span class="lineNum"> 39 </span> : : #include &lt;bits/stl_algobase.h&gt; // std::copy, std::fill_n</a>
<a name="40"><span class="lineNum"> 40 </span> : : #include &lt;bits/postypes.h&gt; // For streampos</a>
<a name="41"><span class="lineNum"> 41 </span> : : #include &lt;cwchar&gt; // For WEOF, wmemmove, wmemset, etc.</a>
<a name="42"><span class="lineNum"> 42 </span> : : </a>
<a name="43"><span class="lineNum"> 43 </span> : : #ifndef _GLIBCXX_ALWAYS_INLINE</a>
<a name="44"><span class="lineNum"> 44 </span> : : # define _GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__))</a>
<a name="45"><span class="lineNum"> 45 </span> : : #endif</a>
<a name="46"><span class="lineNum"> 46 </span> : : </a>
<a name="47"><span class="lineNum"> 47 </span> : : namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)</a>
<a name="48"><span class="lineNum"> 48 </span> : : {</a>
<a name="49"><span class="lineNum"> 49 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="50"><span class="lineNum"> 50 </span> : : </a>
<a name="51"><span class="lineNum"> 51 </span> : : /**</a>
<a name="52"><span class="lineNum"> 52 </span> : : * @brief Mapping from character type to associated types.</a>
<a name="53"><span class="lineNum"> 53 </span> : : *</a>
<a name="54"><span class="lineNum"> 54 </span> : : * @note This is an implementation class for the generic version</a>
<a name="55"><span class="lineNum"> 55 </span> : : * of char_traits. It defines int_type, off_type, pos_type, and</a>
<a name="56"><span class="lineNum"> 56 </span> : : * state_type. By default these are unsigned long, streamoff,</a>
<a name="57"><span class="lineNum"> 57 </span> : : * streampos, and mbstate_t. Users who need a different set of</a>
<a name="58"><span class="lineNum"> 58 </span> : : * types, but who don't need to change the definitions of any function</a>
<a name="59"><span class="lineNum"> 59 </span> : : * defined in char_traits, can specialize __gnu_cxx::_Char_types</a>
<a name="60"><span class="lineNum"> 60 </span> : : * while leaving __gnu_cxx::char_traits alone. */</a>
<a name="61"><span class="lineNum"> 61 </span> : : template&lt;typename _CharT&gt;</a>
<a name="62"><span class="lineNum"> 62 </span> : : struct _Char_types</a>
<a name="63"><span class="lineNum"> 63 </span> : : {</a>
<a name="64"><span class="lineNum"> 64 </span> : : typedef unsigned long int_type;</a>
<a name="65"><span class="lineNum"> 65 </span> : : typedef std::streampos pos_type;</a>
<a name="66"><span class="lineNum"> 66 </span> : : typedef std::streamoff off_type;</a>
<a name="67"><span class="lineNum"> 67 </span> : : typedef std::mbstate_t state_type;</a>
<a name="68"><span class="lineNum"> 68 </span> : : };</a>
<a name="69"><span class="lineNum"> 69 </span> : : </a>
<a name="70"><span class="lineNum"> 70 </span> : : </a>
<a name="71"><span class="lineNum"> 71 </span> : : /**</a>
<a name="72"><span class="lineNum"> 72 </span> : : * @brief Base class used to implement std::char_traits.</a>
<a name="73"><span class="lineNum"> 73 </span> : : *</a>
<a name="74"><span class="lineNum"> 74 </span> : : * @note For any given actual character type, this definition is</a>
<a name="75"><span class="lineNum"> 75 </span> : : * probably wrong. (Most of the member functions are likely to be</a>
<a name="76"><span class="lineNum"> 76 </span> : : * right, but the int_type and state_type typedefs, and the eof()</a>
<a name="77"><span class="lineNum"> 77 </span> : : * member function, are likely to be wrong.) The reason this class</a>
<a name="78"><span class="lineNum"> 78 </span> : : * exists is so users can specialize it. Classes in namespace std</a>
<a name="79"><span class="lineNum"> 79 </span> : : * may not be specialized for fundamental types, but classes in</a>
<a name="80"><span class="lineNum"> 80 </span> : : * namespace __gnu_cxx may be.</a>
<a name="81"><span class="lineNum"> 81 </span> : : *</a>
<a name="82"><span class="lineNum"> 82 </span> : : * See https://gcc.gnu.org/onlinedocs/libstdc++/manual/strings.html#strings.string.character_types</a>
<a name="83"><span class="lineNum"> 83 </span> : : * for advice on how to make use of this class for @a unusual character</a>
<a name="84"><span class="lineNum"> 84 </span> : : * types. Also, check out include/ext/pod_char_traits.h. </a>
<a name="85"><span class="lineNum"> 85 </span> : : */</a>
<a name="86"><span class="lineNum"> 86 </span> : : template&lt;typename _CharT&gt;</a>
<a name="87"><span class="lineNum"> 87 </span> : : struct char_traits</a>
<a name="88"><span class="lineNum"> 88 </span> : : {</a>
<a name="89"><span class="lineNum"> 89 </span> : : typedef _CharT char_type;</a>
<a name="90"><span class="lineNum"> 90 </span> : : typedef typename _Char_types&lt;_CharT&gt;::int_type int_type;</a>
<a name="91"><span class="lineNum"> 91 </span> : : typedef typename _Char_types&lt;_CharT&gt;::pos_type pos_type;</a>
<a name="92"><span class="lineNum"> 92 </span> : : typedef typename _Char_types&lt;_CharT&gt;::off_type off_type;</a>
<a name="93"><span class="lineNum"> 93 </span> : : typedef typename _Char_types&lt;_CharT&gt;::state_type state_type;</a>
<a name="94"><span class="lineNum"> 94 </span> : : </a>
<a name="95"><span class="lineNum"> 95 </span> : : static _GLIBCXX14_CONSTEXPR void</a>
<a name="96"><span class="lineNum"> 96 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2)</a>
<a name="97"><span class="lineNum"> 97 </span> : : { __c1 = __c2; }</a>
<a name="98"><span class="lineNum"> 98 </span> : : </a>
<a name="99"><span class="lineNum"> 99 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="100"><span class="lineNum"> 100 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2)</a>
<a name="101"><span class="lineNum"> 101 </span> : : { return __c1 == __c2; }</a>
<a name="102"><span class="lineNum"> 102 </span> : : </a>
<a name="103"><span class="lineNum"> 103 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="104"><span class="lineNum"> 104 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2)</a>
<a name="105"><span class="lineNum"> 105 </span> : : { return __c1 &lt; __c2; }</a>
<a name="106"><span class="lineNum"> 106 </span> : : </a>
<a name="107"><span class="lineNum"> 107 </span> : : static _GLIBCXX14_CONSTEXPR int</a>
<a name="108"><span class="lineNum"> 108 </span> : : compare(const char_type* __s1, const char_type* __s2, std::size_t __n);</a>
<a name="109"><span class="lineNum"> 109 </span> : : </a>
<a name="110"><span class="lineNum"> 110 </span> : : static _GLIBCXX14_CONSTEXPR std::size_t</a>
<a name="111"><span class="lineNum"> 111 </span> : : length(const char_type* __s);</a>
<a name="112"><span class="lineNum"> 112 </span> : : </a>
<a name="113"><span class="lineNum"> 113 </span> : : static _GLIBCXX14_CONSTEXPR const char_type*</a>
<a name="114"><span class="lineNum"> 114 </span> : : find(const char_type* __s, std::size_t __n, const char_type&amp; __a);</a>
<a name="115"><span class="lineNum"> 115 </span> : : </a>
<a name="116"><span class="lineNum"> 116 </span> : : static char_type*</a>
<a name="117"><span class="lineNum"> 117 </span> : : move(char_type* __s1, const char_type* __s2, std::size_t __n);</a>
<a name="118"><span class="lineNum"> 118 </span> : : </a>
<a name="119"><span class="lineNum"> 119 </span> : : static char_type*</a>
<a name="120"><span class="lineNum"> 120 </span> : : copy(char_type* __s1, const char_type* __s2, std::size_t __n);</a>
<a name="121"><span class="lineNum"> 121 </span> : : </a>
<a name="122"><span class="lineNum"> 122 </span> : : static char_type*</a>
<a name="123"><span class="lineNum"> 123 </span> : : assign(char_type* __s, std::size_t __n, char_type __a);</a>
<a name="124"><span class="lineNum"> 124 </span> : : </a>
<a name="125"><span class="lineNum"> 125 </span> : : static _GLIBCXX_CONSTEXPR char_type</a>
<a name="126"><span class="lineNum"> 126 </span> : : to_char_type(const int_type&amp; __c)</a>
<a name="127"><span class="lineNum"> 127 </span> : : { return static_cast&lt;char_type&gt;(__c); }</a>
<a name="128"><span class="lineNum"> 128 </span> : : </a>
<a name="129"><span class="lineNum"> 129 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="130"><span class="lineNum"> 130 </span> : : to_int_type(const char_type&amp; __c)</a>
<a name="131"><span class="lineNum"> 131 </span> : : { return static_cast&lt;int_type&gt;(__c); }</a>
<a name="132"><span class="lineNum"> 132 </span> : : </a>
<a name="133"><span class="lineNum"> 133 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="134"><span class="lineNum"> 134 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2)</a>
<a name="135"><span class="lineNum"> 135 </span> : : { return __c1 == __c2; }</a>
<a name="136"><span class="lineNum"> 136 </span> : : </a>
<a name="137"><span class="lineNum"> 137 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="138"><span class="lineNum"> 138 </span> : : eof()</a>
<a name="139"><span class="lineNum"> 139 </span> : : { return static_cast&lt;int_type&gt;(_GLIBCXX_STDIO_EOF); }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
<a name="141"><span class="lineNum"> 141 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="142"><span class="lineNum"> 142 </span> : : not_eof(const int_type&amp; __c)</a>
<a name="143"><span class="lineNum"> 143 </span> : : { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }</a>
<a name="144"><span class="lineNum"> 144 </span> : : };</a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
<a name="146"><span class="lineNum"> 146 </span> : : template&lt;typename _CharT&gt;</a>
<a name="147"><span class="lineNum"> 147 </span> : : _GLIBCXX14_CONSTEXPR int</a>
<a name="148"><span class="lineNum"> 148 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="149"><span class="lineNum"> 149 </span> : : compare(const char_type* __s1, const char_type* __s2, std::size_t __n)</a>
<a name="150"><span class="lineNum"> 150 </span> : : {</a>
<a name="151"><span class="lineNum"> 151 </span> : : for (std::size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="152"><span class="lineNum"> 152 </span> : : if (lt(__s1[__i], __s2[__i]))</a>
<a name="153"><span class="lineNum"> 153 </span> : : return -1;</a>
<a name="154"><span class="lineNum"> 154 </span> : : else if (lt(__s2[__i], __s1[__i]))</a>
<a name="155"><span class="lineNum"> 155 </span> : : return 1;</a>
<a name="156"><span class="lineNum"> 156 </span> : : return 0;</a>
<a name="157"><span class="lineNum"> 157 </span> : : }</a>
<a name="158"><span class="lineNum"> 158 </span> : : </a>
<a name="159"><span class="lineNum"> 159 </span> : : template&lt;typename _CharT&gt;</a>
<a name="160"><span class="lineNum"> 160 </span> : : _GLIBCXX14_CONSTEXPR std::size_t</a>
<a name="161"><span class="lineNum"> 161 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="162"><span class="lineNum"> 162 </span> : : length(const char_type* __p)</a>
<a name="163"><span class="lineNum"> 163 </span> : : {</a>
<a name="164"><span class="lineNum"> 164 </span> : : std::size_t __i = 0;</a>
<a name="165"><span class="lineNum"> 165 </span> : : while (!eq(__p[__i], char_type()))</a>
<a name="166"><span class="lineNum"> 166 </span> : : ++__i;</a>
<a name="167"><span class="lineNum"> 167 </span> : : return __i;</a>
<a name="168"><span class="lineNum"> 168 </span> : : }</a>
<a name="169"><span class="lineNum"> 169 </span> : : </a>
<a name="170"><span class="lineNum"> 170 </span> : : template&lt;typename _CharT&gt;</a>
<a name="171"><span class="lineNum"> 171 </span> : : _GLIBCXX14_CONSTEXPR const typename char_traits&lt;_CharT&gt;::char_type*</a>
<a name="172"><span class="lineNum"> 172 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="173"><span class="lineNum"> 173 </span> : : find(const char_type* __s, std::size_t __n, const char_type&amp; __a)</a>
<a name="174"><span class="lineNum"> 174 </span> : : {</a>
<a name="175"><span class="lineNum"> 175 </span> : : for (std::size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="176"><span class="lineNum"> 176 </span> : : if (eq(__s[__i], __a))</a>
<a name="177"><span class="lineNum"> 177 </span> : : return __s + __i;</a>
<a name="178"><span class="lineNum"> 178 </span> : : return 0;</a>
<a name="179"><span class="lineNum"> 179 </span> : : }</a>
<a name="180"><span class="lineNum"> 180 </span> : : </a>
<a name="181"><span class="lineNum"> 181 </span> : : template&lt;typename _CharT&gt;</a>
<a name="182"><span class="lineNum"> 182 </span> : : typename char_traits&lt;_CharT&gt;::char_type*</a>
<a name="183"><span class="lineNum"> 183 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="184"><span class="lineNum"> 184 </span> : : move(char_type* __s1, const char_type* __s2, std::size_t __n)</a>
<a name="185"><span class="lineNum"> 185 </span> : : {</a>
<a name="186"><span class="lineNum"> 186 </span> : : if (__n == 0)</a>
<a name="187"><span class="lineNum"> 187 </span> : : return __s1;</a>
<a name="188"><span class="lineNum"> 188 </span> : : return static_cast&lt;_CharT*&gt;(__builtin_memmove(__s1, __s2,</a>
<a name="189"><span class="lineNum"> 189 </span> : : __n * sizeof(char_type)));</a>
<a name="190"><span class="lineNum"> 190 </span> : : }</a>
<a name="191"><span class="lineNum"> 191 </span> : : </a>
<a name="192"><span class="lineNum"> 192 </span> : : template&lt;typename _CharT&gt;</a>
<a name="193"><span class="lineNum"> 193 </span> : : typename char_traits&lt;_CharT&gt;::char_type*</a>
<a name="194"><span class="lineNum"> 194 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="195"><span class="lineNum"> 195 </span> : : copy(char_type* __s1, const char_type* __s2, std::size_t __n)</a>
<a name="196"><span class="lineNum"> 196 </span> : : {</a>
<a name="197"><span class="lineNum"> 197 </span> : : // NB: Inline std::copy so no recursive dependencies.</a>
<a name="198"><span class="lineNum"> 198 </span> : : std::copy(__s2, __s2 + __n, __s1);</a>
<a name="199"><span class="lineNum"> 199 </span> : : return __s1;</a>
<a name="200"><span class="lineNum"> 200 </span> : : }</a>
<a name="201"><span class="lineNum"> 201 </span> : : </a>
<a name="202"><span class="lineNum"> 202 </span> : : template&lt;typename _CharT&gt;</a>
<a name="203"><span class="lineNum"> 203 </span> : : typename char_traits&lt;_CharT&gt;::char_type*</a>
<a name="204"><span class="lineNum"> 204 </span> : : char_traits&lt;_CharT&gt;::</a>
<a name="205"><span class="lineNum"> 205 </span> : : assign(char_type* __s, std::size_t __n, char_type __a)</a>
<a name="206"><span class="lineNum"> 206 </span> : : {</a>
<a name="207"><span class="lineNum"> 207 </span> : : // NB: Inline std::fill_n so no recursive dependencies.</a>
<a name="208"><span class="lineNum"> 208 </span> : : std::fill_n(__s, __n, __a);</a>
<a name="209"><span class="lineNum"> 209 </span> : : return __s;</a>
<a name="210"><span class="lineNum"> 210 </span> : : }</a>
<a name="211"><span class="lineNum"> 211 </span> : : </a>
<a name="212"><span class="lineNum"> 212 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="213"><span class="lineNum"> 213 </span> : : } // namespace</a>
<a name="214"><span class="lineNum"> 214 </span> : : </a>
<a name="215"><span class="lineNum"> 215 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="216"><span class="lineNum"> 216 </span> : : {</a>
<a name="217"><span class="lineNum"> 217 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="218"><span class="lineNum"> 218 </span> : : </a>
<a name="219"><span class="lineNum"> 219 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="220"><span class="lineNum"> 220 </span> : : #define __cpp_lib_constexpr_char_traits 201611</a>
<a name="221"><span class="lineNum"> 221 </span> : : </a>
<a name="222"><span class="lineNum"> 222 </span> : : /**</a>
<a name="223"><span class="lineNum"> 223 </span> : : * @brief Determine whether the characters of a NULL-terminated</a>
<a name="224"><span class="lineNum"> 224 </span> : : * string are known at compile time.</a>
<a name="225"><span class="lineNum"> 225 </span> : : * @param __s The string.</a>
<a name="226"><span class="lineNum"> 226 </span> : : *</a>
<a name="227"><span class="lineNum"> 227 </span> : : * Assumes that _CharT is a built-in character type.</a>
<a name="228"><span class="lineNum"> 228 </span> : : */</a>
<a name="229"><span class="lineNum"> 229 </span> : : template&lt;typename _CharT&gt;</a>
<a name="230"><span class="lineNum"> 230 </span> : : static _GLIBCXX_ALWAYS_INLINE constexpr bool</a>
<a name="231"><span class="lineNum"> 231 </span> : : __constant_string_p(const _CharT* __s)</a>
<a name="232"><span class="lineNum"> 232 </span> : : {</a>
<a name="233"><span class="lineNum"> 233 </span> : : #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED</a>
<a name="234"><span class="lineNum"> 234 </span> : : (void) __s;</a>
<a name="235"><span class="lineNum"> 235 </span> : : // In constexpr contexts all strings should be constant.</a>
<a name="236"><span class="lineNum"> 236 </span> : : return __builtin_is_constant_evaluated();</a>
<a name="237"><span class="lineNum"> 237 </span> : : #else</a>
<a name="238"><span class="lineNum"> 238 </span> : : while (__builtin_constant_p(*__s) &amp;&amp; *__s)</a>
<a name="239"><span class="lineNum"> 239 </span> : : __s++;</a>
<a name="240"><span class="lineNum"> 240 </span> : : return __builtin_constant_p(*__s);</a>
<a name="241"><span class="lineNum"> 241 </span> : : #endif</a>
<a name="242"><span class="lineNum"> 242 </span> : : }</a>
<a name="243"><span class="lineNum"> 243 </span> : : </a>
<a name="244"><span class="lineNum"> 244 </span> : : /**</a>
<a name="245"><span class="lineNum"> 245 </span> : : * @brief Determine whether the characters of a character array are</a>
<a name="246"><span class="lineNum"> 246 </span> : : * known at compile time.</a>
<a name="247"><span class="lineNum"> 247 </span> : : * @param __a The character array.</a>
<a name="248"><span class="lineNum"> 248 </span> : : * @param __n Number of characters.</a>
<a name="249"><span class="lineNum"> 249 </span> : : *</a>
<a name="250"><span class="lineNum"> 250 </span> : : * Assumes that _CharT is a built-in character type.</a>
<a name="251"><span class="lineNum"> 251 </span> : : */</a>
<a name="252"><span class="lineNum"> 252 </span> : : template&lt;typename _CharT&gt;</a>
<a name="253"><span class="lineNum"> 253 </span> : : static _GLIBCXX_ALWAYS_INLINE constexpr bool</a>
<a name="254"><span class="lineNum"> 254 </span> : : __constant_char_array_p(const _CharT* __a, size_t __n)</a>
<a name="255"><span class="lineNum"> 255 </span> : : {</a>
<a name="256"><span class="lineNum"> 256 </span> : : #ifdef _GLIBCXX_HAVE_BUILTIN_IS_CONSTANT_EVALUATED</a>
<a name="257"><span class="lineNum"> 257 </span> : : (void) __a;</a>
<a name="258"><span class="lineNum"> 258 </span> : : (void) __n;</a>
<a name="259"><span class="lineNum"> 259 </span> : : // In constexpr contexts all character arrays should be constant.</a>
<a name="260"><span class="lineNum"> 260 </span> : : return __builtin_is_constant_evaluated();</a>
<a name="261"><span class="lineNum"> 261 </span> : : #else</a>
<a name="262"><span class="lineNum"> 262 </span> : : size_t __i = 0;</a>
<a name="263"><span class="lineNum"> 263 </span> : : while (__i &lt; __n &amp;&amp; __builtin_constant_p(__a[__i]))</a>
<a name="264"><span class="lineNum"> 264 </span> : : __i++;</a>
<a name="265"><span class="lineNum"> 265 </span> : : return __i == __n;</a>
<a name="266"><span class="lineNum"> 266 </span> : : #endif</a>
<a name="267"><span class="lineNum"> 267 </span> : : }</a>
<a name="268"><span class="lineNum"> 268 </span> : : #endif</a>
<a name="269"><span class="lineNum"> 269 </span> : : </a>
<a name="270"><span class="lineNum"> 270 </span> : : // 21.1</a>
<a name="271"><span class="lineNum"> 271 </span> : : /**</a>
<a name="272"><span class="lineNum"> 272 </span> : : * @brief Basis for explicit traits specializations.</a>
<a name="273"><span class="lineNum"> 273 </span> : : *</a>
<a name="274"><span class="lineNum"> 274 </span> : : * @note For any given actual character type, this definition is</a>
<a name="275"><span class="lineNum"> 275 </span> : : * probably wrong. Since this is just a thin wrapper around</a>
<a name="276"><span class="lineNum"> 276 </span> : : * __gnu_cxx::char_traits, it is possible to achieve a more</a>
<a name="277"><span class="lineNum"> 277 </span> : : * appropriate definition by specializing __gnu_cxx::char_traits.</a>
<a name="278"><span class="lineNum"> 278 </span> : : *</a>
<a name="279"><span class="lineNum"> 279 </span> : : * See https://gcc.gnu.org/onlinedocs/libstdc++/manual/strings.html#strings.string.character_types</a>
<a name="280"><span class="lineNum"> 280 </span> : : * for advice on how to make use of this class for @a unusual character</a>
<a name="281"><span class="lineNum"> 281 </span> : : * types. Also, check out include/ext/pod_char_traits.h.</a>
<a name="282"><span class="lineNum"> 282 </span> : : */</a>
<a name="283"><span class="lineNum"> 283 </span> : : template&lt;class _CharT&gt;</a>
<a name="284"><span class="lineNum"> 284 </span> : : struct char_traits : public __gnu_cxx::char_traits&lt;_CharT&gt;</a>
<a name="285"><span class="lineNum"> 285 </span> : : { };</a>
<a name="286"><span class="lineNum"> 286 </span> : : </a>
<a name="287"><span class="lineNum"> 287 </span> : : </a>
<a name="288"><span class="lineNum"> 288 </span> : : /// 21.1.3.1 char_traits specializations</a>
<a name="289"><span class="lineNum"> 289 </span> : : template&lt;&gt;</a>
<a name="290"><span class="lineNum"> 290 </span> : : struct char_traits&lt;char&gt;</a>
<a name="291"><span class="lineNum"> 291 </span> : : {</a>
<a name="292"><span class="lineNum"> 292 </span> : : typedef char char_type;</a>
<a name="293"><span class="lineNum"> 293 </span> : : typedef int int_type;</a>
<a name="294"><span class="lineNum"> 294 </span> : : typedef streampos pos_type;</a>
<a name="295"><span class="lineNum"> 295 </span> : : typedef streamoff off_type;</a>
<a name="296"><span class="lineNum"> 296 </span> : : typedef mbstate_t state_type;</a>
<a name="297"><span class="lineNum"> 297 </span> : : </a>
<a name="298"><span class="lineNum"> 298 </span> : : static _GLIBCXX17_CONSTEXPR void</a>
<a name="299"><span class="lineNum"> 299 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="300"><span class="lineNum"> 300 </span> : : { __c1 = __c2; }</a>
<a name="301"><span class="lineNum"> 301 </span> : : </a>
<a name="302"><span class="lineNum"> 302 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="303"><span class="lineNum"> 303 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="304"><span class="lineNum"> 304 </span> : : { return __c1 == __c2; }</a>
<a name="305"><span class="lineNum"> 305 </span> : : </a>
<a name="306"><span class="lineNum"> 306 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="307"><span class="lineNum"> 307 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="308"><span class="lineNum"> 308 </span> : : {</a>
<a name="309"><span class="lineNum"> 309 </span> : : // LWG 467.</a>
<a name="310"><span class="lineNum"> 310 </span> : : return (static_cast&lt;unsigned char&gt;(__c1)</a>
<a name="311"><span class="lineNum"> 311 </span> : : &lt; static_cast&lt;unsigned char&gt;(__c2));</a>
<a name="312"><span class="lineNum"> 312 </span> : : }</a>
<a name="313"><span class="lineNum"> 313 </span> : : </a>
<a name="314"><span class="lineNum"> 314 </span> : : static _GLIBCXX17_CONSTEXPR int</a>
<a name="315"><span class="lineNum"> 315 </span> : : compare(const char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="316"><span class="lineNum"> 316 </span> : : {</a>
<a name="317"><span class="lineNum"> 317 </span> : : if (__n == 0)</a>
<a name="318"><span class="lineNum"> 318 </span> : : return 0;</a>
<a name="319"><span class="lineNum"> 319 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="320"><span class="lineNum"> 320 </span> : : if (__builtin_constant_p(__n)</a>
<a name="321"><span class="lineNum"> 321 </span> : : &amp;&amp; __constant_char_array_p(__s1, __n)</a>
<a name="322"><span class="lineNum"> 322 </span> : : &amp;&amp; __constant_char_array_p(__s2, __n))</a>
<a name="323"><span class="lineNum"> 323 </span> : : {</a>
<a name="324"><span class="lineNum"> 324 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="325"><span class="lineNum"> 325 </span> : : if (lt(__s1[__i], __s2[__i]))</a>
<a name="326"><span class="lineNum"> 326 </span> : : return -1;</a>
<a name="327"><span class="lineNum"> 327 </span> : : else if (lt(__s2[__i], __s1[__i]))</a>
<a name="328"><span class="lineNum"> 328 </span> : : return 1;</a>
<a name="329"><span class="lineNum"> 329 </span> : : return 0;</a>
<a name="330"><span class="lineNum"> 330 </span> : : }</a>
<a name="331"><span class="lineNum"> 331 </span> : : #endif</a>
<a name="332"><span class="lineNum"> 332 </span> : : return __builtin_memcmp(__s1, __s2, __n);</a>
<a name="333"><span class="lineNum"> 333 </span> : : }</a>
<a name="334"><span class="lineNum"> 334 </span> : : </a>
<a name="335"><span class="lineNum"> 335 </span> : : static _GLIBCXX17_CONSTEXPR size_t</a>
<a name="336"><span class="lineNum"> 336 </span> :<span class="lineNoCov"> 0 : length(const char_type* __s)</span></a>
<a name="337"><span class="lineNum"> 337 </span> : : {</a>
<a name="338"><span class="lineNum"> 338 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="339"><span class="lineNum"> 339 </span> : : if (__constant_string_p(__s))</a>
<a name="340"><span class="lineNum"> 340 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::length(__s);</a>
<a name="341"><span class="lineNum"> 341 </span> : : #endif</a>
<a name="342"><span class="lineNum"> 342 </span> :<span class="lineNoCov"> 0 : return __builtin_strlen(__s);</span></a>
<a name="343"><span class="lineNum"> 343 </span> : : }</a>
<a name="344"><span class="lineNum"> 344 </span> : : </a>
<a name="345"><span class="lineNum"> 345 </span> : : static _GLIBCXX17_CONSTEXPR const char_type*</a>
<a name="346"><span class="lineNum"> 346 </span> : : find(const char_type* __s, size_t __n, const char_type&amp; __a)</a>
<a name="347"><span class="lineNum"> 347 </span> : : {</a>
<a name="348"><span class="lineNum"> 348 </span> : : if (__n == 0)</a>
<a name="349"><span class="lineNum"> 349 </span> : : return 0;</a>
<a name="350"><span class="lineNum"> 350 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="351"><span class="lineNum"> 351 </span> : : if (__builtin_constant_p(__n)</a>
<a name="352"><span class="lineNum"> 352 </span> : : &amp;&amp; __builtin_constant_p(__a)</a>
<a name="353"><span class="lineNum"> 353 </span> : : &amp;&amp; __constant_char_array_p(__s, __n))</a>
<a name="354"><span class="lineNum"> 354 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::find(__s, __n, __a);</a>
<a name="355"><span class="lineNum"> 355 </span> : : #endif</a>
<a name="356"><span class="lineNum"> 356 </span> : : return static_cast&lt;const char_type*&gt;(__builtin_memchr(__s, __a, __n));</a>
<a name="357"><span class="lineNum"> 357 </span> : : }</a>
<a name="358"><span class="lineNum"> 358 </span> : : </a>
<a name="359"><span class="lineNum"> 359 </span> : : static char_type*</a>
<a name="360"><span class="lineNum"> 360 </span> : : move(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="361"><span class="lineNum"> 361 </span> : : {</a>
<a name="362"><span class="lineNum"> 362 </span> : : if (__n == 0)</a>
<a name="363"><span class="lineNum"> 363 </span> : : return __s1;</a>
<a name="364"><span class="lineNum"> 364 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memmove(__s1, __s2, __n));</a>
<a name="365"><span class="lineNum"> 365 </span> : : }</a>
<a name="366"><span class="lineNum"> 366 </span> : : </a>
<a name="367"><span class="lineNum"> 367 </span> : : static char_type*</a>
<a name="368"><span class="lineNum"> 368 </span> : : copy(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="369"><span class="lineNum"> 369 </span> : : {</a>
<a name="370"><span class="lineNum"> 370 </span> : : if (__n == 0)</a>
<a name="371"><span class="lineNum"> 371 </span> : : return __s1;</a>
<a name="372"><span class="lineNum"> 372 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memcpy(__s1, __s2, __n));</a>
<a name="373"><span class="lineNum"> 373 </span> : : }</a>
<a name="374"><span class="lineNum"> 374 </span> : : </a>
<a name="375"><span class="lineNum"> 375 </span> : : static char_type*</a>
<a name="376"><span class="lineNum"> 376 </span> : : assign(char_type* __s, size_t __n, char_type __a)</a>
<a name="377"><span class="lineNum"> 377 </span> : : {</a>
<a name="378"><span class="lineNum"> 378 </span> : : if (__n == 0)</a>
<a name="379"><span class="lineNum"> 379 </span> : : return __s;</a>
<a name="380"><span class="lineNum"> 380 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memset(__s, __a, __n));</a>
<a name="381"><span class="lineNum"> 381 </span> : : }</a>
<a name="382"><span class="lineNum"> 382 </span> : : </a>
<a name="383"><span class="lineNum"> 383 </span> : : static _GLIBCXX_CONSTEXPR char_type</a>
<a name="384"><span class="lineNum"> 384 </span> : : to_char_type(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="385"><span class="lineNum"> 385 </span> : : { return static_cast&lt;char_type&gt;(__c); }</a>
<a name="386"><span class="lineNum"> 386 </span> : : </a>
<a name="387"><span class="lineNum"> 387 </span> : : // To keep both the byte 0xff and the eof symbol 0xffffffff</a>
<a name="388"><span class="lineNum"> 388 </span> : : // from ending up as 0xffffffff.</a>
<a name="389"><span class="lineNum"> 389 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="390"><span class="lineNum"> 390 </span> : : to_int_type(const char_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="391"><span class="lineNum"> 391 </span> : : { return static_cast&lt;int_type&gt;(static_cast&lt;unsigned char&gt;(__c)); }</a>
<a name="392"><span class="lineNum"> 392 </span> : : </a>
<a name="393"><span class="lineNum"> 393 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="394"><span class="lineNum"> 394 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="395"><span class="lineNum"> 395 </span> : : { return __c1 == __c2; }</a>
<a name="396"><span class="lineNum"> 396 </span> : : </a>
<a name="397"><span class="lineNum"> 397 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="398"><span class="lineNum"> 398 </span> : : eof() _GLIBCXX_NOEXCEPT</a>
<a name="399"><span class="lineNum"> 399 </span> : : { return static_cast&lt;int_type&gt;(_GLIBCXX_STDIO_EOF); }</a>
<a name="400"><span class="lineNum"> 400 </span> : : </a>
<a name="401"><span class="lineNum"> 401 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="402"><span class="lineNum"> 402 </span> : : not_eof(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="403"><span class="lineNum"> 403 </span> : : { return (__c == eof()) ? 0 : __c; }</a>
<a name="404"><span class="lineNum"> 404 </span> : : };</a>
<a name="405"><span class="lineNum"> 405 </span> : : </a>
<a name="406"><span class="lineNum"> 406 </span> : : </a>
<a name="407"><span class="lineNum"> 407 </span> : : #ifdef _GLIBCXX_USE_WCHAR_T</a>
<a name="408"><span class="lineNum"> 408 </span> : : /// 21.1.3.2 char_traits specializations</a>
<a name="409"><span class="lineNum"> 409 </span> : : template&lt;&gt;</a>
<a name="410"><span class="lineNum"> 410 </span> : : struct char_traits&lt;wchar_t&gt;</a>
<a name="411"><span class="lineNum"> 411 </span> : : {</a>
<a name="412"><span class="lineNum"> 412 </span> : : typedef wchar_t char_type;</a>
<a name="413"><span class="lineNum"> 413 </span> : : typedef wint_t int_type;</a>
<a name="414"><span class="lineNum"> 414 </span> : : typedef streamoff off_type;</a>
<a name="415"><span class="lineNum"> 415 </span> : : typedef wstreampos pos_type;</a>
<a name="416"><span class="lineNum"> 416 </span> : : typedef mbstate_t state_type;</a>
<a name="417"><span class="lineNum"> 417 </span> : : </a>
<a name="418"><span class="lineNum"> 418 </span> : : static _GLIBCXX17_CONSTEXPR void</a>
<a name="419"><span class="lineNum"> 419 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="420"><span class="lineNum"> 420 </span> : : { __c1 = __c2; }</a>
<a name="421"><span class="lineNum"> 421 </span> : : </a>
<a name="422"><span class="lineNum"> 422 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="423"><span class="lineNum"> 423 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="424"><span class="lineNum"> 424 </span> : : { return __c1 == __c2; }</a>
<a name="425"><span class="lineNum"> 425 </span> : : </a>
<a name="426"><span class="lineNum"> 426 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="427"><span class="lineNum"> 427 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="428"><span class="lineNum"> 428 </span> : : { return __c1 &lt; __c2; }</a>
<a name="429"><span class="lineNum"> 429 </span> : : </a>
<a name="430"><span class="lineNum"> 430 </span> : : static _GLIBCXX17_CONSTEXPR int</a>
<a name="431"><span class="lineNum"> 431 </span> : : compare(const char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="432"><span class="lineNum"> 432 </span> : : {</a>
<a name="433"><span class="lineNum"> 433 </span> : : if (__n == 0)</a>
<a name="434"><span class="lineNum"> 434 </span> : : return 0;</a>
<a name="435"><span class="lineNum"> 435 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="436"><span class="lineNum"> 436 </span> : : if (__builtin_constant_p(__n)</a>
<a name="437"><span class="lineNum"> 437 </span> : : &amp;&amp; __constant_char_array_p(__s1, __n)</a>
<a name="438"><span class="lineNum"> 438 </span> : : &amp;&amp; __constant_char_array_p(__s2, __n))</a>
<a name="439"><span class="lineNum"> 439 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::compare(__s1, __s2, __n);</a>
<a name="440"><span class="lineNum"> 440 </span> : : #endif</a>
<a name="441"><span class="lineNum"> 441 </span> : : return wmemcmp(__s1, __s2, __n);</a>
<a name="442"><span class="lineNum"> 442 </span> : : }</a>
<a name="443"><span class="lineNum"> 443 </span> : : </a>
<a name="444"><span class="lineNum"> 444 </span> : : static _GLIBCXX17_CONSTEXPR size_t</a>
<a name="445"><span class="lineNum"> 445 </span> : : length(const char_type* __s)</a>
<a name="446"><span class="lineNum"> 446 </span> : : {</a>
<a name="447"><span class="lineNum"> 447 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="448"><span class="lineNum"> 448 </span> : : if (__constant_string_p(__s))</a>
<a name="449"><span class="lineNum"> 449 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::length(__s);</a>
<a name="450"><span class="lineNum"> 450 </span> : : #endif</a>
<a name="451"><span class="lineNum"> 451 </span> : : return wcslen(__s);</a>
<a name="452"><span class="lineNum"> 452 </span> : : }</a>
<a name="453"><span class="lineNum"> 453 </span> : : </a>
<a name="454"><span class="lineNum"> 454 </span> : : static _GLIBCXX17_CONSTEXPR const char_type*</a>
<a name="455"><span class="lineNum"> 455 </span> : : find(const char_type* __s, size_t __n, const char_type&amp; __a)</a>
<a name="456"><span class="lineNum"> 456 </span> : : {</a>
<a name="457"><span class="lineNum"> 457 </span> : : if (__n == 0)</a>
<a name="458"><span class="lineNum"> 458 </span> : : return 0;</a>
<a name="459"><span class="lineNum"> 459 </span> : : #if __cplusplus &gt;= 201703L</a>
<a name="460"><span class="lineNum"> 460 </span> : : if (__builtin_constant_p(__n)</a>
<a name="461"><span class="lineNum"> 461 </span> : : &amp;&amp; __builtin_constant_p(__a)</a>
<a name="462"><span class="lineNum"> 462 </span> : : &amp;&amp; __constant_char_array_p(__s, __n))</a>
<a name="463"><span class="lineNum"> 463 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::find(__s, __n, __a);</a>
<a name="464"><span class="lineNum"> 464 </span> : : #endif</a>
<a name="465"><span class="lineNum"> 465 </span> : : return wmemchr(__s, __a, __n);</a>
<a name="466"><span class="lineNum"> 466 </span> : : }</a>
<a name="467"><span class="lineNum"> 467 </span> : : </a>
<a name="468"><span class="lineNum"> 468 </span> : : static char_type*</a>
<a name="469"><span class="lineNum"> 469 </span> : : move(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="470"><span class="lineNum"> 470 </span> : : {</a>
<a name="471"><span class="lineNum"> 471 </span> : : if (__n == 0)</a>
<a name="472"><span class="lineNum"> 472 </span> : : return __s1;</a>
<a name="473"><span class="lineNum"> 473 </span> : : return wmemmove(__s1, __s2, __n);</a>
<a name="474"><span class="lineNum"> 474 </span> : : }</a>
<a name="475"><span class="lineNum"> 475 </span> : : </a>
<a name="476"><span class="lineNum"> 476 </span> : : static char_type*</a>
<a name="477"><span class="lineNum"> 477 </span> : : copy(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="478"><span class="lineNum"> 478 </span> : : {</a>
<a name="479"><span class="lineNum"> 479 </span> : : if (__n == 0)</a>
<a name="480"><span class="lineNum"> 480 </span> : : return __s1;</a>
<a name="481"><span class="lineNum"> 481 </span> : : return wmemcpy(__s1, __s2, __n);</a>
<a name="482"><span class="lineNum"> 482 </span> : : }</a>
<a name="483"><span class="lineNum"> 483 </span> : : </a>
<a name="484"><span class="lineNum"> 484 </span> : : static char_type*</a>
<a name="485"><span class="lineNum"> 485 </span> : : assign(char_type* __s, size_t __n, char_type __a)</a>
<a name="486"><span class="lineNum"> 486 </span> : : {</a>
<a name="487"><span class="lineNum"> 487 </span> : : if (__n == 0)</a>
<a name="488"><span class="lineNum"> 488 </span> : : return __s;</a>
<a name="489"><span class="lineNum"> 489 </span> : : return wmemset(__s, __a, __n);</a>
<a name="490"><span class="lineNum"> 490 </span> : : }</a>
<a name="491"><span class="lineNum"> 491 </span> : : </a>
<a name="492"><span class="lineNum"> 492 </span> : : static _GLIBCXX_CONSTEXPR char_type</a>
<a name="493"><span class="lineNum"> 493 </span> : : to_char_type(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="494"><span class="lineNum"> 494 </span> : : { return char_type(__c); }</a>
<a name="495"><span class="lineNum"> 495 </span> : : </a>
<a name="496"><span class="lineNum"> 496 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="497"><span class="lineNum"> 497 </span> : : to_int_type(const char_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="498"><span class="lineNum"> 498 </span> : : { return int_type(__c); }</a>
<a name="499"><span class="lineNum"> 499 </span> : : </a>
<a name="500"><span class="lineNum"> 500 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="501"><span class="lineNum"> 501 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="502"><span class="lineNum"> 502 </span> : : { return __c1 == __c2; }</a>
<a name="503"><span class="lineNum"> 503 </span> : : </a>
<a name="504"><span class="lineNum"> 504 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="505"><span class="lineNum"> 505 </span> : : eof() _GLIBCXX_NOEXCEPT</a>
<a name="506"><span class="lineNum"> 506 </span> : : { return static_cast&lt;int_type&gt;(WEOF); }</a>
<a name="507"><span class="lineNum"> 507 </span> : : </a>
<a name="508"><span class="lineNum"> 508 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="509"><span class="lineNum"> 509 </span> : : not_eof(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="510"><span class="lineNum"> 510 </span> : : { return eq_int_type(__c, eof()) ? 0 : __c; }</a>
<a name="511"><span class="lineNum"> 511 </span> : : };</a>
<a name="512"><span class="lineNum"> 512 </span> : : #endif //_GLIBCXX_USE_WCHAR_T</a>
<a name="513"><span class="lineNum"> 513 </span> : : </a>
<a name="514"><span class="lineNum"> 514 </span> : : #ifdef _GLIBCXX_USE_CHAR8_T</a>
<a name="515"><span class="lineNum"> 515 </span> : : template&lt;&gt;</a>
<a name="516"><span class="lineNum"> 516 </span> : : struct char_traits&lt;char8_t&gt;</a>
<a name="517"><span class="lineNum"> 517 </span> : : {</a>
<a name="518"><span class="lineNum"> 518 </span> : : typedef char8_t char_type;</a>
<a name="519"><span class="lineNum"> 519 </span> : : typedef unsigned int int_type;</a>
<a name="520"><span class="lineNum"> 520 </span> : : typedef u8streampos pos_type;</a>
<a name="521"><span class="lineNum"> 521 </span> : : typedef streamoff off_type;</a>
<a name="522"><span class="lineNum"> 522 </span> : : typedef mbstate_t state_type;</a>
<a name="523"><span class="lineNum"> 523 </span> : : </a>
<a name="524"><span class="lineNum"> 524 </span> : : static _GLIBCXX17_CONSTEXPR void</a>
<a name="525"><span class="lineNum"> 525 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="526"><span class="lineNum"> 526 </span> : : { __c1 = __c2; }</a>
<a name="527"><span class="lineNum"> 527 </span> : : </a>
<a name="528"><span class="lineNum"> 528 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="529"><span class="lineNum"> 529 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="530"><span class="lineNum"> 530 </span> : : { return __c1 == __c2; }</a>
<a name="531"><span class="lineNum"> 531 </span> : : </a>
<a name="532"><span class="lineNum"> 532 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="533"><span class="lineNum"> 533 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="534"><span class="lineNum"> 534 </span> : : { return __c1 &lt; __c2; }</a>
<a name="535"><span class="lineNum"> 535 </span> : : </a>
<a name="536"><span class="lineNum"> 536 </span> : : static _GLIBCXX17_CONSTEXPR int</a>
<a name="537"><span class="lineNum"> 537 </span> : : compare(const char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="538"><span class="lineNum"> 538 </span> : : {</a>
<a name="539"><span class="lineNum"> 539 </span> : : if (__n == 0)</a>
<a name="540"><span class="lineNum"> 540 </span> : : return 0;</a>
<a name="541"><span class="lineNum"> 541 </span> : : #if __cplusplus &gt; 201402</a>
<a name="542"><span class="lineNum"> 542 </span> : : if (__builtin_constant_p(__n)</a>
<a name="543"><span class="lineNum"> 543 </span> : : &amp;&amp; __constant_char_array_p(__s1, __n)</a>
<a name="544"><span class="lineNum"> 544 </span> : : &amp;&amp; __constant_char_array_p(__s2, __n))</a>
<a name="545"><span class="lineNum"> 545 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::compare(__s1, __s2, __n);</a>
<a name="546"><span class="lineNum"> 546 </span> : : #endif</a>
<a name="547"><span class="lineNum"> 547 </span> : : return __builtin_memcmp(__s1, __s2, __n);</a>
<a name="548"><span class="lineNum"> 548 </span> : : }</a>
<a name="549"><span class="lineNum"> 549 </span> : : </a>
<a name="550"><span class="lineNum"> 550 </span> : : static _GLIBCXX17_CONSTEXPR size_t</a>
<a name="551"><span class="lineNum"> 551 </span> : : length(const char_type* __s)</a>
<a name="552"><span class="lineNum"> 552 </span> : : {</a>
<a name="553"><span class="lineNum"> 553 </span> : : #if __cplusplus &gt; 201402</a>
<a name="554"><span class="lineNum"> 554 </span> : : if (__constant_string_p(__s))</a>
<a name="555"><span class="lineNum"> 555 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::length(__s);</a>
<a name="556"><span class="lineNum"> 556 </span> : : #endif</a>
<a name="557"><span class="lineNum"> 557 </span> : : size_t __i = 0;</a>
<a name="558"><span class="lineNum"> 558 </span> : : while (!eq(__s[__i], char_type()))</a>
<a name="559"><span class="lineNum"> 559 </span> : : ++__i;</a>
<a name="560"><span class="lineNum"> 560 </span> : : return __i;</a>
<a name="561"><span class="lineNum"> 561 </span> : : }</a>
<a name="562"><span class="lineNum"> 562 </span> : : </a>
<a name="563"><span class="lineNum"> 563 </span> : : static _GLIBCXX17_CONSTEXPR const char_type*</a>
<a name="564"><span class="lineNum"> 564 </span> : : find(const char_type* __s, size_t __n, const char_type&amp; __a)</a>
<a name="565"><span class="lineNum"> 565 </span> : : {</a>
<a name="566"><span class="lineNum"> 566 </span> : : if (__n == 0)</a>
<a name="567"><span class="lineNum"> 567 </span> : : return 0;</a>
<a name="568"><span class="lineNum"> 568 </span> : : #if __cplusplus &gt; 201402</a>
<a name="569"><span class="lineNum"> 569 </span> : : if (__builtin_constant_p(__n)</a>
<a name="570"><span class="lineNum"> 570 </span> : : &amp;&amp; __builtin_constant_p(__a)</a>
<a name="571"><span class="lineNum"> 571 </span> : : &amp;&amp; __constant_char_array_p(__s, __n))</a>
<a name="572"><span class="lineNum"> 572 </span> : : return __gnu_cxx::char_traits&lt;char_type&gt;::find(__s, __n, __a);</a>
<a name="573"><span class="lineNum"> 573 </span> : : #endif</a>
<a name="574"><span class="lineNum"> 574 </span> : : return static_cast&lt;const char_type*&gt;(__builtin_memchr(__s, __a, __n));</a>
<a name="575"><span class="lineNum"> 575 </span> : : }</a>
<a name="576"><span class="lineNum"> 576 </span> : : </a>
<a name="577"><span class="lineNum"> 577 </span> : : static char_type*</a>
<a name="578"><span class="lineNum"> 578 </span> : : move(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="579"><span class="lineNum"> 579 </span> : : {</a>
<a name="580"><span class="lineNum"> 580 </span> : : if (__n == 0)</a>
<a name="581"><span class="lineNum"> 581 </span> : : return __s1;</a>
<a name="582"><span class="lineNum"> 582 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memmove(__s1, __s2, __n));</a>
<a name="583"><span class="lineNum"> 583 </span> : : }</a>
<a name="584"><span class="lineNum"> 584 </span> : : </a>
<a name="585"><span class="lineNum"> 585 </span> : : static char_type*</a>
<a name="586"><span class="lineNum"> 586 </span> : : copy(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="587"><span class="lineNum"> 587 </span> : : {</a>
<a name="588"><span class="lineNum"> 588 </span> : : if (__n == 0)</a>
<a name="589"><span class="lineNum"> 589 </span> : : return __s1;</a>
<a name="590"><span class="lineNum"> 590 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memcpy(__s1, __s2, __n));</a>
<a name="591"><span class="lineNum"> 591 </span> : : }</a>
<a name="592"><span class="lineNum"> 592 </span> : : </a>
<a name="593"><span class="lineNum"> 593 </span> : : static char_type*</a>
<a name="594"><span class="lineNum"> 594 </span> : : assign(char_type* __s, size_t __n, char_type __a)</a>
<a name="595"><span class="lineNum"> 595 </span> : : {</a>
<a name="596"><span class="lineNum"> 596 </span> : : if (__n == 0)</a>
<a name="597"><span class="lineNum"> 597 </span> : : return __s;</a>
<a name="598"><span class="lineNum"> 598 </span> : : return static_cast&lt;char_type*&gt;(__builtin_memset(__s, __a, __n));</a>
<a name="599"><span class="lineNum"> 599 </span> : : }</a>
<a name="600"><span class="lineNum"> 600 </span> : : </a>
<a name="601"><span class="lineNum"> 601 </span> : : static _GLIBCXX_CONSTEXPR char_type</a>
<a name="602"><span class="lineNum"> 602 </span> : : to_char_type(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="603"><span class="lineNum"> 603 </span> : : { return char_type(__c); }</a>
<a name="604"><span class="lineNum"> 604 </span> : : </a>
<a name="605"><span class="lineNum"> 605 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="606"><span class="lineNum"> 606 </span> : : to_int_type(const char_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="607"><span class="lineNum"> 607 </span> : : { return int_type(__c); }</a>
<a name="608"><span class="lineNum"> 608 </span> : : </a>
<a name="609"><span class="lineNum"> 609 </span> : : static _GLIBCXX_CONSTEXPR bool</a>
<a name="610"><span class="lineNum"> 610 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2) _GLIBCXX_NOEXCEPT</a>
<a name="611"><span class="lineNum"> 611 </span> : : { return __c1 == __c2; }</a>
<a name="612"><span class="lineNum"> 612 </span> : : </a>
<a name="613"><span class="lineNum"> 613 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="614"><span class="lineNum"> 614 </span> : : eof() _GLIBCXX_NOEXCEPT</a>
<a name="615"><span class="lineNum"> 615 </span> : : { return static_cast&lt;int_type&gt;(-1); }</a>
<a name="616"><span class="lineNum"> 616 </span> : : </a>
<a name="617"><span class="lineNum"> 617 </span> : : static _GLIBCXX_CONSTEXPR int_type</a>
<a name="618"><span class="lineNum"> 618 </span> : : not_eof(const int_type&amp; __c) _GLIBCXX_NOEXCEPT</a>
<a name="619"><span class="lineNum"> 619 </span> : : { return eq_int_type(__c, eof()) ? 0 : __c; }</a>
<a name="620"><span class="lineNum"> 620 </span> : : };</a>
<a name="621"><span class="lineNum"> 621 </span> : : #endif //_GLIBCXX_USE_CHAR8_T</a>
<a name="622"><span class="lineNum"> 622 </span> : : </a>
<a name="623"><span class="lineNum"> 623 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="624"><span class="lineNum"> 624 </span> : : } // namespace</a>
<a name="625"><span class="lineNum"> 625 </span> : : </a>
<a name="626"><span class="lineNum"> 626 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="627"><span class="lineNum"> 627 </span> : : </a>
<a name="628"><span class="lineNum"> 628 </span> : : #include &lt;cstdint&gt;</a>
<a name="629"><span class="lineNum"> 629 </span> : : </a>
<a name="630"><span class="lineNum"> 630 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="631"><span class="lineNum"> 631 </span> : : {</a>
<a name="632"><span class="lineNum"> 632 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="633"><span class="lineNum"> 633 </span> : : </a>
<a name="634"><span class="lineNum"> 634 </span> : : template&lt;&gt;</a>
<a name="635"><span class="lineNum"> 635 </span> : : struct char_traits&lt;char16_t&gt;</a>
<a name="636"><span class="lineNum"> 636 </span> : : {</a>
<a name="637"><span class="lineNum"> 637 </span> : : typedef char16_t char_type;</a>
<a name="638"><span class="lineNum"> 638 </span> : : #ifdef _GLIBCXX_USE_C99_STDINT_TR1</a>
<a name="639"><span class="lineNum"> 639 </span> : : typedef uint_least16_t int_type;</a>
<a name="640"><span class="lineNum"> 640 </span> : : #elif defined __UINT_LEAST16_TYPE__</a>
<a name="641"><span class="lineNum"> 641 </span> : : typedef __UINT_LEAST16_TYPE__ int_type;</a>
<a name="642"><span class="lineNum"> 642 </span> : : #else</a>
<a name="643"><span class="lineNum"> 643 </span> : : typedef make_unsigned&lt;char16_t&gt;::type int_type;</a>
<a name="644"><span class="lineNum"> 644 </span> : : #endif</a>
<a name="645"><span class="lineNum"> 645 </span> : : typedef streamoff off_type;</a>
<a name="646"><span class="lineNum"> 646 </span> : : typedef u16streampos pos_type;</a>
<a name="647"><span class="lineNum"> 647 </span> : : typedef mbstate_t state_type;</a>
<a name="648"><span class="lineNum"> 648 </span> : : </a>
<a name="649"><span class="lineNum"> 649 </span> : : static _GLIBCXX17_CONSTEXPR void</a>
<a name="650"><span class="lineNum"> 650 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="651"><span class="lineNum"> 651 </span> : : { __c1 = __c2; }</a>
<a name="652"><span class="lineNum"> 652 </span> : : </a>
<a name="653"><span class="lineNum"> 653 </span> : : static constexpr bool</a>
<a name="654"><span class="lineNum"> 654 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="655"><span class="lineNum"> 655 </span> : : { return __c1 == __c2; }</a>
<a name="656"><span class="lineNum"> 656 </span> : : </a>
<a name="657"><span class="lineNum"> 657 </span> : : static constexpr bool</a>
<a name="658"><span class="lineNum"> 658 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="659"><span class="lineNum"> 659 </span> : : { return __c1 &lt; __c2; }</a>
<a name="660"><span class="lineNum"> 660 </span> : : </a>
<a name="661"><span class="lineNum"> 661 </span> : : static _GLIBCXX17_CONSTEXPR int</a>
<a name="662"><span class="lineNum"> 662 </span> : : compare(const char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="663"><span class="lineNum"> 663 </span> : : {</a>
<a name="664"><span class="lineNum"> 664 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="665"><span class="lineNum"> 665 </span> : : if (lt(__s1[__i], __s2[__i]))</a>
<a name="666"><span class="lineNum"> 666 </span> : : return -1;</a>
<a name="667"><span class="lineNum"> 667 </span> : : else if (lt(__s2[__i], __s1[__i]))</a>
<a name="668"><span class="lineNum"> 668 </span> : : return 1;</a>
<a name="669"><span class="lineNum"> 669 </span> : : return 0;</a>
<a name="670"><span class="lineNum"> 670 </span> : : }</a>
<a name="671"><span class="lineNum"> 671 </span> : : </a>
<a name="672"><span class="lineNum"> 672 </span> : : static _GLIBCXX17_CONSTEXPR size_t</a>
<a name="673"><span class="lineNum"> 673 </span> : : length(const char_type* __s)</a>
<a name="674"><span class="lineNum"> 674 </span> : : {</a>
<a name="675"><span class="lineNum"> 675 </span> : : size_t __i = 0;</a>
<a name="676"><span class="lineNum"> 676 </span> : : while (!eq(__s[__i], char_type()))</a>
<a name="677"><span class="lineNum"> 677 </span> : : ++__i;</a>
<a name="678"><span class="lineNum"> 678 </span> : : return __i;</a>
<a name="679"><span class="lineNum"> 679 </span> : : }</a>
<a name="680"><span class="lineNum"> 680 </span> : : </a>
<a name="681"><span class="lineNum"> 681 </span> : : static _GLIBCXX17_CONSTEXPR const char_type*</a>
<a name="682"><span class="lineNum"> 682 </span> : : find(const char_type* __s, size_t __n, const char_type&amp; __a)</a>
<a name="683"><span class="lineNum"> 683 </span> : : {</a>
<a name="684"><span class="lineNum"> 684 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="685"><span class="lineNum"> 685 </span> : : if (eq(__s[__i], __a))</a>
<a name="686"><span class="lineNum"> 686 </span> : : return __s + __i;</a>
<a name="687"><span class="lineNum"> 687 </span> : : return 0;</a>
<a name="688"><span class="lineNum"> 688 </span> : : }</a>
<a name="689"><span class="lineNum"> 689 </span> : : </a>
<a name="690"><span class="lineNum"> 690 </span> : : static char_type*</a>
<a name="691"><span class="lineNum"> 691 </span> : : move(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="692"><span class="lineNum"> 692 </span> : : {</a>
<a name="693"><span class="lineNum"> 693 </span> : : if (__n == 0)</a>
<a name="694"><span class="lineNum"> 694 </span> : : return __s1;</a>
<a name="695"><span class="lineNum"> 695 </span> : : return (static_cast&lt;char_type*&gt;</a>
<a name="696"><span class="lineNum"> 696 </span> : : (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));</a>
<a name="697"><span class="lineNum"> 697 </span> : : }</a>
<a name="698"><span class="lineNum"> 698 </span> : : </a>
<a name="699"><span class="lineNum"> 699 </span> : : static char_type*</a>
<a name="700"><span class="lineNum"> 700 </span> : : copy(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="701"><span class="lineNum"> 701 </span> : : {</a>
<a name="702"><span class="lineNum"> 702 </span> : : if (__n == 0)</a>
<a name="703"><span class="lineNum"> 703 </span> : : return __s1;</a>
<a name="704"><span class="lineNum"> 704 </span> : : return (static_cast&lt;char_type*&gt;</a>
<a name="705"><span class="lineNum"> 705 </span> : : (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));</a>
<a name="706"><span class="lineNum"> 706 </span> : : }</a>
<a name="707"><span class="lineNum"> 707 </span> : : </a>
<a name="708"><span class="lineNum"> 708 </span> : : static char_type*</a>
<a name="709"><span class="lineNum"> 709 </span> : : assign(char_type* __s, size_t __n, char_type __a)</a>
<a name="710"><span class="lineNum"> 710 </span> : : {</a>
<a name="711"><span class="lineNum"> 711 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="712"><span class="lineNum"> 712 </span> : : assign(__s[__i], __a);</a>
<a name="713"><span class="lineNum"> 713 </span> : : return __s;</a>
<a name="714"><span class="lineNum"> 714 </span> : : }</a>
<a name="715"><span class="lineNum"> 715 </span> : : </a>
<a name="716"><span class="lineNum"> 716 </span> : : static constexpr char_type</a>
<a name="717"><span class="lineNum"> 717 </span> : : to_char_type(const int_type&amp; __c) noexcept</a>
<a name="718"><span class="lineNum"> 718 </span> : : { return char_type(__c); }</a>
<a name="719"><span class="lineNum"> 719 </span> : : </a>
<a name="720"><span class="lineNum"> 720 </span> : : static constexpr int_type</a>
<a name="721"><span class="lineNum"> 721 </span> : : to_int_type(const char_type&amp; __c) noexcept</a>
<a name="722"><span class="lineNum"> 722 </span> : : { return __c == eof() ? int_type(0xfffd) : int_type(__c); }</a>
<a name="723"><span class="lineNum"> 723 </span> : : </a>
<a name="724"><span class="lineNum"> 724 </span> : : static constexpr bool</a>
<a name="725"><span class="lineNum"> 725 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2) noexcept</a>
<a name="726"><span class="lineNum"> 726 </span> : : { return __c1 == __c2; }</a>
<a name="727"><span class="lineNum"> 727 </span> : : </a>
<a name="728"><span class="lineNum"> 728 </span> : : static constexpr int_type</a>
<a name="729"><span class="lineNum"> 729 </span> : : eof() noexcept</a>
<a name="730"><span class="lineNum"> 730 </span> : : { return static_cast&lt;int_type&gt;(-1); }</a>
<a name="731"><span class="lineNum"> 731 </span> : : </a>
<a name="732"><span class="lineNum"> 732 </span> : : static constexpr int_type</a>
<a name="733"><span class="lineNum"> 733 </span> : : not_eof(const int_type&amp; __c) noexcept</a>
<a name="734"><span class="lineNum"> 734 </span> : : { return eq_int_type(__c, eof()) ? 0 : __c; }</a>
<a name="735"><span class="lineNum"> 735 </span> : : };</a>
<a name="736"><span class="lineNum"> 736 </span> : : </a>
<a name="737"><span class="lineNum"> 737 </span> : : template&lt;&gt;</a>
<a name="738"><span class="lineNum"> 738 </span> : : struct char_traits&lt;char32_t&gt;</a>
<a name="739"><span class="lineNum"> 739 </span> : : {</a>
<a name="740"><span class="lineNum"> 740 </span> : : typedef char32_t char_type;</a>
<a name="741"><span class="lineNum"> 741 </span> : : #ifdef _GLIBCXX_USE_C99_STDINT_TR1</a>
<a name="742"><span class="lineNum"> 742 </span> : : typedef uint_least32_t int_type;</a>
<a name="743"><span class="lineNum"> 743 </span> : : #elif defined __UINT_LEAST32_TYPE__</a>
<a name="744"><span class="lineNum"> 744 </span> : : typedef __UINT_LEAST32_TYPE__ int_type;</a>
<a name="745"><span class="lineNum"> 745 </span> : : #else</a>
<a name="746"><span class="lineNum"> 746 </span> : : typedef make_unsigned&lt;char32_t&gt;::type int_type;</a>
<a name="747"><span class="lineNum"> 747 </span> : : #endif</a>
<a name="748"><span class="lineNum"> 748 </span> : : typedef streamoff off_type;</a>
<a name="749"><span class="lineNum"> 749 </span> : : typedef u32streampos pos_type;</a>
<a name="750"><span class="lineNum"> 750 </span> : : typedef mbstate_t state_type;</a>
<a name="751"><span class="lineNum"> 751 </span> : : </a>
<a name="752"><span class="lineNum"> 752 </span> : : static _GLIBCXX17_CONSTEXPR void</a>
<a name="753"><span class="lineNum"> 753 </span> : : assign(char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="754"><span class="lineNum"> 754 </span> : : { __c1 = __c2; }</a>
<a name="755"><span class="lineNum"> 755 </span> : : </a>
<a name="756"><span class="lineNum"> 756 </span> : : static constexpr bool</a>
<a name="757"><span class="lineNum"> 757 </span> : : eq(const char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="758"><span class="lineNum"> 758 </span> : : { return __c1 == __c2; }</a>
<a name="759"><span class="lineNum"> 759 </span> : : </a>
<a name="760"><span class="lineNum"> 760 </span> : : static constexpr bool</a>
<a name="761"><span class="lineNum"> 761 </span> : : lt(const char_type&amp; __c1, const char_type&amp; __c2) noexcept</a>
<a name="762"><span class="lineNum"> 762 </span> : : { return __c1 &lt; __c2; }</a>
<a name="763"><span class="lineNum"> 763 </span> : : </a>
<a name="764"><span class="lineNum"> 764 </span> : : static _GLIBCXX17_CONSTEXPR int</a>
<a name="765"><span class="lineNum"> 765 </span> : : compare(const char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="766"><span class="lineNum"> 766 </span> : : {</a>
<a name="767"><span class="lineNum"> 767 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="768"><span class="lineNum"> 768 </span> : : if (lt(__s1[__i], __s2[__i]))</a>
<a name="769"><span class="lineNum"> 769 </span> : : return -1;</a>
<a name="770"><span class="lineNum"> 770 </span> : : else if (lt(__s2[__i], __s1[__i]))</a>
<a name="771"><span class="lineNum"> 771 </span> : : return 1;</a>
<a name="772"><span class="lineNum"> 772 </span> : : return 0;</a>
<a name="773"><span class="lineNum"> 773 </span> : : }</a>
<a name="774"><span class="lineNum"> 774 </span> : : </a>
<a name="775"><span class="lineNum"> 775 </span> : : static _GLIBCXX17_CONSTEXPR size_t</a>
<a name="776"><span class="lineNum"> 776 </span> : : length(const char_type* __s)</a>
<a name="777"><span class="lineNum"> 777 </span> : : {</a>
<a name="778"><span class="lineNum"> 778 </span> : : size_t __i = 0;</a>
<a name="779"><span class="lineNum"> 779 </span> : : while (!eq(__s[__i], char_type()))</a>
<a name="780"><span class="lineNum"> 780 </span> : : ++__i;</a>
<a name="781"><span class="lineNum"> 781 </span> : : return __i;</a>
<a name="782"><span class="lineNum"> 782 </span> : : }</a>
<a name="783"><span class="lineNum"> 783 </span> : : </a>
<a name="784"><span class="lineNum"> 784 </span> : : static _GLIBCXX17_CONSTEXPR const char_type*</a>
<a name="785"><span class="lineNum"> 785 </span> : : find(const char_type* __s, size_t __n, const char_type&amp; __a)</a>
<a name="786"><span class="lineNum"> 786 </span> : : {</a>
<a name="787"><span class="lineNum"> 787 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="788"><span class="lineNum"> 788 </span> : : if (eq(__s[__i], __a))</a>
<a name="789"><span class="lineNum"> 789 </span> : : return __s + __i;</a>
<a name="790"><span class="lineNum"> 790 </span> : : return 0;</a>
<a name="791"><span class="lineNum"> 791 </span> : : }</a>
<a name="792"><span class="lineNum"> 792 </span> : : </a>
<a name="793"><span class="lineNum"> 793 </span> : : static char_type*</a>
<a name="794"><span class="lineNum"> 794 </span> : : move(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="795"><span class="lineNum"> 795 </span> : : {</a>
<a name="796"><span class="lineNum"> 796 </span> : : if (__n == 0)</a>
<a name="797"><span class="lineNum"> 797 </span> : : return __s1;</a>
<a name="798"><span class="lineNum"> 798 </span> : : return (static_cast&lt;char_type*&gt;</a>
<a name="799"><span class="lineNum"> 799 </span> : : (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));</a>
<a name="800"><span class="lineNum"> 800 </span> : : }</a>
<a name="801"><span class="lineNum"> 801 </span> : : </a>
<a name="802"><span class="lineNum"> 802 </span> : : static char_type*</a>
<a name="803"><span class="lineNum"> 803 </span> : : copy(char_type* __s1, const char_type* __s2, size_t __n)</a>
<a name="804"><span class="lineNum"> 804 </span> : : { </a>
<a name="805"><span class="lineNum"> 805 </span> : : if (__n == 0)</a>
<a name="806"><span class="lineNum"> 806 </span> : : return __s1;</a>
<a name="807"><span class="lineNum"> 807 </span> : : return (static_cast&lt;char_type*&gt;</a>
<a name="808"><span class="lineNum"> 808 </span> : : (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));</a>
<a name="809"><span class="lineNum"> 809 </span> : : }</a>
<a name="810"><span class="lineNum"> 810 </span> : : </a>
<a name="811"><span class="lineNum"> 811 </span> : : static char_type*</a>
<a name="812"><span class="lineNum"> 812 </span> : : assign(char_type* __s, size_t __n, char_type __a)</a>
<a name="813"><span class="lineNum"> 813 </span> : : {</a>
<a name="814"><span class="lineNum"> 814 </span> : : for (size_t __i = 0; __i &lt; __n; ++__i)</a>
<a name="815"><span class="lineNum"> 815 </span> : : assign(__s[__i], __a);</a>
<a name="816"><span class="lineNum"> 816 </span> : : return __s;</a>
<a name="817"><span class="lineNum"> 817 </span> : : }</a>
<a name="818"><span class="lineNum"> 818 </span> : : </a>
<a name="819"><span class="lineNum"> 819 </span> : : static constexpr char_type</a>
<a name="820"><span class="lineNum"> 820 </span> : : to_char_type(const int_type&amp; __c) noexcept</a>
<a name="821"><span class="lineNum"> 821 </span> : : { return char_type(__c); }</a>
<a name="822"><span class="lineNum"> 822 </span> : : </a>
<a name="823"><span class="lineNum"> 823 </span> : : static constexpr int_type</a>
<a name="824"><span class="lineNum"> 824 </span> : : to_int_type(const char_type&amp; __c) noexcept</a>
<a name="825"><span class="lineNum"> 825 </span> : : { return int_type(__c); }</a>
<a name="826"><span class="lineNum"> 826 </span> : : </a>
<a name="827"><span class="lineNum"> 827 </span> : : static constexpr bool</a>
<a name="828"><span class="lineNum"> 828 </span> : : eq_int_type(const int_type&amp; __c1, const int_type&amp; __c2) noexcept</a>
<a name="829"><span class="lineNum"> 829 </span> : : { return __c1 == __c2; }</a>
<a name="830"><span class="lineNum"> 830 </span> : : </a>
<a name="831"><span class="lineNum"> 831 </span> : : static constexpr int_type</a>
<a name="832"><span class="lineNum"> 832 </span> : : eof() noexcept</a>
<a name="833"><span class="lineNum"> 833 </span> : : { return static_cast&lt;int_type&gt;(-1); }</a>
<a name="834"><span class="lineNum"> 834 </span> : : </a>
<a name="835"><span class="lineNum"> 835 </span> : : static constexpr int_type</a>
<a name="836"><span class="lineNum"> 836 </span> : : not_eof(const int_type&amp; __c) noexcept</a>
<a name="837"><span class="lineNum"> 837 </span> : : { return eq_int_type(__c, eof()) ? 0 : __c; }</a>
<a name="838"><span class="lineNum"> 838 </span> : : };</a>
<a name="839"><span class="lineNum"> 839 </span> : : </a>
<a name="840"><span class="lineNum"> 840 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="841"><span class="lineNum"> 841 </span> : : } // namespace</a>
<a name="842"><span class="lineNum"> 842 </span> : : </a>
<a name="843"><span class="lineNum"> 843 </span> : : #endif // C++11</a>
<a name="844"><span class="lineNum"> 844 </span> : : </a>
<a name="845"><span class="lineNum"> 845 </span> : : #endif // _CHAR_TRAITS_H</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,179 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - bits</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">32</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">26</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.h.gcov.html">basic_string.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 6</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.tcc.gcov.html">basic_string.tcc</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 13</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 22</td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_types.h.gcov.html">stl_iterator_base_types.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="move.h.gcov.html">move.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="char_traits.h.gcov.html">char_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_funcs.h.gcov.html">stl_iterator_base_funcs.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 5</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,179 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - bits</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">32</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">26</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="move.h.gcov.html">move.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="char_traits.h.gcov.html">char_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_types.h.gcov.html">stl_iterator_base_types.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.tcc.gcov.html">basic_string.tcc</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 13</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 22</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_funcs.h.gcov.html">stl_iterator_base_funcs.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 5</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.h.gcov.html">basic_string.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 6</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,179 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - bits</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">32</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">26</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_types.h.gcov.html">stl_iterator_base_types.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="move.h.gcov.html">move.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="char_traits.h.gcov.html">char_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_funcs.h.gcov.html">stl_iterator_base_funcs.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 5</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.h.gcov.html">basic_string.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 6</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.tcc.gcov.html">basic_string.tcc</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 13</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 22</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,179 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - bits</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">32</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">15</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">26</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.h.gcov.html">basic_string.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 6</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
</tr>
<tr>
<td class="coverFile"><a href="basic_string.tcc.gcov.html">basic_string.tcc</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 13</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 22</td>
</tr>
<tr>
<td class="coverFile"><a href="char_traits.h.gcov.html">char_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="move.h.gcov.html">move.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_funcs.h.gcov.html">stl_iterator_base_funcs.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 5</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 4</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="stl_iterator_base_types.h.gcov.html">stl_iterator_base_types.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/move.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - move.h<span style="font-size: 80%;"> (<a href="move.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="move.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="move.h.gcov.html#97">_ZSt4moveIRSaIcEEONSt16remove_referenceIT_E4typeEOS3_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/move.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - move.h<span style="font-size: 80%;"> (<a href="move.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="move.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="move.h.gcov.html#97">_ZSt4moveIRSaIcEEONSt16remove_referenceIT_E4typeEOS3_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,305 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/move.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - move.h<span style="font-size: 80%;"> (source / <a href="move.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Move, forward and identity for C++11 + swap -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2007-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /** @file bits/move.h</a>
<a name="26"><span class="lineNum"> 26 </span> : : * This is an internal header file, included by other library headers.</a>
<a name="27"><span class="lineNum"> 27 </span> : : * Do not attempt to use it directly. @headername{utility}</a>
<a name="28"><span class="lineNum"> 28 </span> : : */</a>
<a name="29"><span class="lineNum"> 29 </span> : : </a>
<a name="30"><span class="lineNum"> 30 </span> : : #ifndef _MOVE_H</a>
<a name="31"><span class="lineNum"> 31 </span> : : #define _MOVE_H 1</a>
<a name="32"><span class="lineNum"> 32 </span> : : </a>
<a name="33"><span class="lineNum"> 33 </span> : : #include &lt;bits/c++config.h&gt;</a>
<a name="34"><span class="lineNum"> 34 </span> : : #include &lt;bits/concept_check.h&gt;</a>
<a name="35"><span class="lineNum"> 35 </span> : : </a>
<a name="36"><span class="lineNum"> 36 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="37"><span class="lineNum"> 37 </span> : : {</a>
<a name="38"><span class="lineNum"> 38 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="39"><span class="lineNum"> 39 </span> : : </a>
<a name="40"><span class="lineNum"> 40 </span> : : // Used, in C++03 mode too, by allocators, etc.</a>
<a name="41"><span class="lineNum"> 41 </span> : : /**</a>
<a name="42"><span class="lineNum"> 42 </span> : : * @brief Same as C++11 std::addressof</a>
<a name="43"><span class="lineNum"> 43 </span> : : * @ingroup utilities</a>
<a name="44"><span class="lineNum"> 44 </span> : : */</a>
<a name="45"><span class="lineNum"> 45 </span> : : template&lt;typename _Tp&gt;</a>
<a name="46"><span class="lineNum"> 46 </span> : : inline _GLIBCXX_CONSTEXPR _Tp*</a>
<a name="47"><span class="lineNum"> 47 </span> : : __addressof(_Tp&amp; __r) _GLIBCXX_NOEXCEPT</a>
<a name="48"><span class="lineNum"> 48 </span> : : { return __builtin_addressof(__r); }</a>
<a name="49"><span class="lineNum"> 49 </span> : : </a>
<a name="50"><span class="lineNum"> 50 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="51"><span class="lineNum"> 51 </span> : : </a>
<a name="52"><span class="lineNum"> 52 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="53"><span class="lineNum"> 53 </span> : : } // namespace</a>
<a name="54"><span class="lineNum"> 54 </span> : : </a>
<a name="55"><span class="lineNum"> 55 </span> : : #include &lt;type_traits&gt; // Brings in std::declval too.</a>
<a name="56"><span class="lineNum"> 56 </span> : : </a>
<a name="57"><span class="lineNum"> 57 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="58"><span class="lineNum"> 58 </span> : : {</a>
<a name="59"><span class="lineNum"> 59 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="60"><span class="lineNum"> 60 </span> : : </a>
<a name="61"><span class="lineNum"> 61 </span> : : /**</a>
<a name="62"><span class="lineNum"> 62 </span> : : * @addtogroup utilities</a>
<a name="63"><span class="lineNum"> 63 </span> : : * @{</a>
<a name="64"><span class="lineNum"> 64 </span> : : */</a>
<a name="65"><span class="lineNum"> 65 </span> : : </a>
<a name="66"><span class="lineNum"> 66 </span> : : /**</a>
<a name="67"><span class="lineNum"> 67 </span> : : * @brief Forward an lvalue.</a>
<a name="68"><span class="lineNum"> 68 </span> : : * @return The parameter cast to the specified type.</a>
<a name="69"><span class="lineNum"> 69 </span> : : *</a>
<a name="70"><span class="lineNum"> 70 </span> : : * This function is used to implement &quot;perfect forwarding&quot;.</a>
<a name="71"><span class="lineNum"> 71 </span> : : */</a>
<a name="72"><span class="lineNum"> 72 </span> : : template&lt;typename _Tp&gt;</a>
<a name="73"><span class="lineNum"> 73 </span> : : constexpr _Tp&amp;&amp;</a>
<a name="74"><span class="lineNum"> 74 </span> : : forward(typename std::remove_reference&lt;_Tp&gt;::type&amp; __t) noexcept</a>
<a name="75"><span class="lineNum"> 75 </span> : : { return static_cast&lt;_Tp&amp;&amp;&gt;(__t); }</a>
<a name="76"><span class="lineNum"> 76 </span> : : </a>
<a name="77"><span class="lineNum"> 77 </span> : : /**</a>
<a name="78"><span class="lineNum"> 78 </span> : : * @brief Forward an rvalue.</a>
<a name="79"><span class="lineNum"> 79 </span> : : * @return The parameter cast to the specified type.</a>
<a name="80"><span class="lineNum"> 80 </span> : : *</a>
<a name="81"><span class="lineNum"> 81 </span> : : * This function is used to implement &quot;perfect forwarding&quot;.</a>
<a name="82"><span class="lineNum"> 82 </span> : : */</a>
<a name="83"><span class="lineNum"> 83 </span> : : template&lt;typename _Tp&gt;</a>
<a name="84"><span class="lineNum"> 84 </span> : : constexpr _Tp&amp;&amp;</a>
<a name="85"><span class="lineNum"> 85 </span> : : forward(typename std::remove_reference&lt;_Tp&gt;::type&amp;&amp; __t) noexcept</a>
<a name="86"><span class="lineNum"> 86 </span> : : {</a>
<a name="87"><span class="lineNum"> 87 </span> : : static_assert(!std::is_lvalue_reference&lt;_Tp&gt;::value, &quot;template argument&quot;</a>
<a name="88"><span class="lineNum"> 88 </span> : : &quot; substituting _Tp is an lvalue reference type&quot;);</a>
<a name="89"><span class="lineNum"> 89 </span> : : return static_cast&lt;_Tp&amp;&amp;&gt;(__t);</a>
<a name="90"><span class="lineNum"> 90 </span> : : }</a>
<a name="91"><span class="lineNum"> 91 </span> : : </a>
<a name="92"><span class="lineNum"> 92 </span> : : /**</a>
<a name="93"><span class="lineNum"> 93 </span> : : * @brief Convert a value to an rvalue.</a>
<a name="94"><span class="lineNum"> 94 </span> : : * @param __t A thing of arbitrary type.</a>
<a name="95"><span class="lineNum"> 95 </span> : : * @return The parameter cast to an rvalue-reference to allow moving it.</a>
<a name="96"><span class="lineNum"> 96 </span> : : */</a>
<a name="97"><span class="lineNum"> 97 </span> : : template&lt;typename _Tp&gt;</a>
<a name="98"><span class="lineNum"> 98 </span> : : constexpr typename std::remove_reference&lt;_Tp&gt;::type&amp;&amp;</a>
<a name="99"><span class="lineNum"> 99 </span> :<span class="lineNoCov"> 0 : move(_Tp&amp;&amp; __t) noexcept</span></a>
<a name="100"><span class="lineNum"> 100 </span> :<span class="lineNoCov"> 0 : { return static_cast&lt;typename std::remove_reference&lt;_Tp&gt;::type&amp;&amp;&gt;(__t); }</span></a>
<a name="101"><span class="lineNum"> 101 </span> : : </a>
<a name="102"><span class="lineNum"> 102 </span> : : </a>
<a name="103"><span class="lineNum"> 103 </span> : : template&lt;typename _Tp&gt;</a>
<a name="104"><span class="lineNum"> 104 </span> : : struct __move_if_noexcept_cond</a>
<a name="105"><span class="lineNum"> 105 </span> : : : public __and_&lt;__not_&lt;is_nothrow_move_constructible&lt;_Tp&gt;&gt;,</a>
<a name="106"><span class="lineNum"> 106 </span> : : is_copy_constructible&lt;_Tp&gt;&gt;::type { };</a>
<a name="107"><span class="lineNum"> 107 </span> : : </a>
<a name="108"><span class="lineNum"> 108 </span> : : /**</a>
<a name="109"><span class="lineNum"> 109 </span> : : * @brief Conditionally convert a value to an rvalue.</a>
<a name="110"><span class="lineNum"> 110 </span> : : * @param __x A thing of arbitrary type.</a>
<a name="111"><span class="lineNum"> 111 </span> : : * @return The parameter, possibly cast to an rvalue-reference.</a>
<a name="112"><span class="lineNum"> 112 </span> : : *</a>
<a name="113"><span class="lineNum"> 113 </span> : : * Same as std::move unless the type's move constructor could throw and the</a>
<a name="114"><span class="lineNum"> 114 </span> : : * type is copyable, in which case an lvalue-reference is returned instead.</a>
<a name="115"><span class="lineNum"> 115 </span> : : */</a>
<a name="116"><span class="lineNum"> 116 </span> : : template&lt;typename _Tp&gt;</a>
<a name="117"><span class="lineNum"> 117 </span> : : constexpr typename</a>
<a name="118"><span class="lineNum"> 118 </span> : : conditional&lt;__move_if_noexcept_cond&lt;_Tp&gt;::value, const _Tp&amp;, _Tp&amp;&amp;&gt;::type</a>
<a name="119"><span class="lineNum"> 119 </span> : : move_if_noexcept(_Tp&amp; __x) noexcept</a>
<a name="120"><span class="lineNum"> 120 </span> : : { return std::move(__x); }</a>
<a name="121"><span class="lineNum"> 121 </span> : : </a>
<a name="122"><span class="lineNum"> 122 </span> : : // declval, from type_traits.</a>
<a name="123"><span class="lineNum"> 123 </span> : : </a>
<a name="124"><span class="lineNum"> 124 </span> : : #if __cplusplus &gt; 201402L</a>
<a name="125"><span class="lineNum"> 125 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="126"><span class="lineNum"> 126 </span> : : // 2296. std::addressof should be constexpr</a>
<a name="127"><span class="lineNum"> 127 </span> : : # define __cpp_lib_addressof_constexpr 201603</a>
<a name="128"><span class="lineNum"> 128 </span> : : #endif</a>
<a name="129"><span class="lineNum"> 129 </span> : : /**</a>
<a name="130"><span class="lineNum"> 130 </span> : : * @brief Returns the actual address of the object or function</a>
<a name="131"><span class="lineNum"> 131 </span> : : * referenced by r, even in the presence of an overloaded</a>
<a name="132"><span class="lineNum"> 132 </span> : : * operator&amp;.</a>
<a name="133"><span class="lineNum"> 133 </span> : : * @param __r Reference to an object or function.</a>
<a name="134"><span class="lineNum"> 134 </span> : : * @return The actual address.</a>
<a name="135"><span class="lineNum"> 135 </span> : : */</a>
<a name="136"><span class="lineNum"> 136 </span> : : template&lt;typename _Tp&gt;</a>
<a name="137"><span class="lineNum"> 137 </span> : : inline _GLIBCXX17_CONSTEXPR _Tp*</a>
<a name="138"><span class="lineNum"> 138 </span> : : addressof(_Tp&amp; __r) noexcept</a>
<a name="139"><span class="lineNum"> 139 </span> : : { return std::__addressof(__r); }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
<a name="141"><span class="lineNum"> 141 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="142"><span class="lineNum"> 142 </span> : : // 2598. addressof works on temporaries</a>
<a name="143"><span class="lineNum"> 143 </span> : : template&lt;typename _Tp&gt;</a>
<a name="144"><span class="lineNum"> 144 </span> : : const _Tp* addressof(const _Tp&amp;&amp;) = delete;</a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
<a name="146"><span class="lineNum"> 146 </span> : : // C++11 version of std::exchange for internal use.</a>
<a name="147"><span class="lineNum"> 147 </span> : : template &lt;typename _Tp, typename _Up = _Tp&gt;</a>
<a name="148"><span class="lineNum"> 148 </span> : : inline _Tp</a>
<a name="149"><span class="lineNum"> 149 </span> : : __exchange(_Tp&amp; __obj, _Up&amp;&amp; __new_val)</a>
<a name="150"><span class="lineNum"> 150 </span> : : {</a>
<a name="151"><span class="lineNum"> 151 </span> : : _Tp __old_val = std::move(__obj);</a>
<a name="152"><span class="lineNum"> 152 </span> : : __obj = std::forward&lt;_Up&gt;(__new_val);</a>
<a name="153"><span class="lineNum"> 153 </span> : : return __old_val;</a>
<a name="154"><span class="lineNum"> 154 </span> : : }</a>
<a name="155"><span class="lineNum"> 155 </span> : : </a>
<a name="156"><span class="lineNum"> 156 </span> : : /// @} group utilities</a>
<a name="157"><span class="lineNum"> 157 </span> : : </a>
<a name="158"><span class="lineNum"> 158 </span> : : #define _GLIBCXX_MOVE(__val) std::move(__val)</a>
<a name="159"><span class="lineNum"> 159 </span> : : #define _GLIBCXX_FORWARD(_Tp, __val) std::forward&lt;_Tp&gt;(__val)</a>
<a name="160"><span class="lineNum"> 160 </span> : : #else</a>
<a name="161"><span class="lineNum"> 161 </span> : : #define _GLIBCXX_MOVE(__val) (__val)</a>
<a name="162"><span class="lineNum"> 162 </span> : : #define _GLIBCXX_FORWARD(_Tp, __val) (__val)</a>
<a name="163"><span class="lineNum"> 163 </span> : : #endif</a>
<a name="164"><span class="lineNum"> 164 </span> : : </a>
<a name="165"><span class="lineNum"> 165 </span> : : /**</a>
<a name="166"><span class="lineNum"> 166 </span> : : * @addtogroup utilities</a>
<a name="167"><span class="lineNum"> 167 </span> : : * @{</a>
<a name="168"><span class="lineNum"> 168 </span> : : */</a>
<a name="169"><span class="lineNum"> 169 </span> : : </a>
<a name="170"><span class="lineNum"> 170 </span> : : /**</a>
<a name="171"><span class="lineNum"> 171 </span> : : * @brief Swaps two values.</a>
<a name="172"><span class="lineNum"> 172 </span> : : * @param __a A thing of arbitrary type.</a>
<a name="173"><span class="lineNum"> 173 </span> : : * @param __b Another thing of arbitrary type.</a>
<a name="174"><span class="lineNum"> 174 </span> : : * @return Nothing.</a>
<a name="175"><span class="lineNum"> 175 </span> : : */</a>
<a name="176"><span class="lineNum"> 176 </span> : : template&lt;typename _Tp&gt;</a>
<a name="177"><span class="lineNum"> 177 </span> : : inline</a>
<a name="178"><span class="lineNum"> 178 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="179"><span class="lineNum"> 179 </span> : : typename enable_if&lt;__and_&lt;__not_&lt;__is_tuple_like&lt;_Tp&gt;&gt;,</a>
<a name="180"><span class="lineNum"> 180 </span> : : is_move_constructible&lt;_Tp&gt;,</a>
<a name="181"><span class="lineNum"> 181 </span> : : is_move_assignable&lt;_Tp&gt;&gt;::value&gt;::type</a>
<a name="182"><span class="lineNum"> 182 </span> : : swap(_Tp&amp; __a, _Tp&amp; __b)</a>
<a name="183"><span class="lineNum"> 183 </span> : : noexcept(__and_&lt;is_nothrow_move_constructible&lt;_Tp&gt;,</a>
<a name="184"><span class="lineNum"> 184 </span> : : is_nothrow_move_assignable&lt;_Tp&gt;&gt;::value)</a>
<a name="185"><span class="lineNum"> 185 </span> : : #else</a>
<a name="186"><span class="lineNum"> 186 </span> : : void</a>
<a name="187"><span class="lineNum"> 187 </span> : : swap(_Tp&amp; __a, _Tp&amp; __b)</a>
<a name="188"><span class="lineNum"> 188 </span> : : #endif</a>
<a name="189"><span class="lineNum"> 189 </span> : : {</a>
<a name="190"><span class="lineNum"> 190 </span> : : // concept requirements</a>
<a name="191"><span class="lineNum"> 191 </span> : : __glibcxx_function_requires(_SGIAssignableConcept&lt;_Tp&gt;)</a>
<a name="192"><span class="lineNum"> 192 </span> : : </a>
<a name="193"><span class="lineNum"> 193 </span> : : _Tp __tmp = _GLIBCXX_MOVE(__a);</a>
<a name="194"><span class="lineNum"> 194 </span> : : __a = _GLIBCXX_MOVE(__b);</a>
<a name="195"><span class="lineNum"> 195 </span> : : __b = _GLIBCXX_MOVE(__tmp);</a>
<a name="196"><span class="lineNum"> 196 </span> : : }</a>
<a name="197"><span class="lineNum"> 197 </span> : : </a>
<a name="198"><span class="lineNum"> 198 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="199"><span class="lineNum"> 199 </span> : : // DR 809. std::swap should be overloaded for array types.</a>
<a name="200"><span class="lineNum"> 200 </span> : : /// Swap the contents of two arrays.</a>
<a name="201"><span class="lineNum"> 201 </span> : : template&lt;typename _Tp, size_t _Nm&gt;</a>
<a name="202"><span class="lineNum"> 202 </span> : : inline</a>
<a name="203"><span class="lineNum"> 203 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="204"><span class="lineNum"> 204 </span> : : typename enable_if&lt;__is_swappable&lt;_Tp&gt;::value&gt;::type</a>
<a name="205"><span class="lineNum"> 205 </span> : : swap(_Tp (&amp;__a)[_Nm], _Tp (&amp;__b)[_Nm])</a>
<a name="206"><span class="lineNum"> 206 </span> : : noexcept(__is_nothrow_swappable&lt;_Tp&gt;::value)</a>
<a name="207"><span class="lineNum"> 207 </span> : : #else</a>
<a name="208"><span class="lineNum"> 208 </span> : : void</a>
<a name="209"><span class="lineNum"> 209 </span> : : swap(_Tp (&amp;__a)[_Nm], _Tp (&amp;__b)[_Nm])</a>
<a name="210"><span class="lineNum"> 210 </span> : : #endif</a>
<a name="211"><span class="lineNum"> 211 </span> : : {</a>
<a name="212"><span class="lineNum"> 212 </span> : : for (size_t __n = 0; __n &lt; _Nm; ++__n)</a>
<a name="213"><span class="lineNum"> 213 </span> : : swap(__a[__n], __b[__n]);</a>
<a name="214"><span class="lineNum"> 214 </span> : : }</a>
<a name="215"><span class="lineNum"> 215 </span> : : </a>
<a name="216"><span class="lineNum"> 216 </span> : : /// @} group utilities</a>
<a name="217"><span class="lineNum"> 217 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="218"><span class="lineNum"> 218 </span> : : } // namespace</a>
<a name="219"><span class="lineNum"> 219 </span> : : </a>
<a name="220"><span class="lineNum"> 220 </span> : : #endif /* _MOVE_H */</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_funcs.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_funcs.h<span style="font-size: 80%;"> (<a href="stl_iterator_base_funcs.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">5</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="stl_iterator_base_funcs.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#96">_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#96">_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#136">_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#136">_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,97 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_funcs.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_funcs.h<span style="font-size: 80%;"> (<a href="stl_iterator_base_funcs.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">5</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="stl_iterator_base_funcs.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#96">_ZSt10__distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_St26random_access_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#96">_ZSt10__distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_St26random_access_iterator_tag</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#136">_ZSt8distanceIPKcENSt15iterator_traitsIT_E15difference_typeES3_S3_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_funcs.h.gcov.html#136">_ZSt8distanceIPcENSt15iterator_traitsIT_E15difference_typeES2_S2_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,324 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_funcs.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_funcs.h<span style="font-size: 80%;"> (source / <a href="stl_iterator_base_funcs.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">5</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">4</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Functions used by iterators -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2001-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /*</a>
<a name="26"><span class="lineNum"> 26 </span> : : *</a>
<a name="27"><span class="lineNum"> 27 </span> : : * Copyright (c) 1994</a>
<a name="28"><span class="lineNum"> 28 </span> : : * Hewlett-Packard Company</a>
<a name="29"><span class="lineNum"> 29 </span> : : *</a>
<a name="30"><span class="lineNum"> 30 </span> : : * Permission to use, copy, modify, distribute and sell this software</a>
<a name="31"><span class="lineNum"> 31 </span> : : * and its documentation for any purpose is hereby granted without fee,</a>
<a name="32"><span class="lineNum"> 32 </span> : : * provided that the above copyright notice appear in all copies and</a>
<a name="33"><span class="lineNum"> 33 </span> : : * that both that copyright notice and this permission notice appear</a>
<a name="34"><span class="lineNum"> 34 </span> : : * in supporting documentation. Hewlett-Packard Company makes no</a>
<a name="35"><span class="lineNum"> 35 </span> : : * representations about the suitability of this software for any</a>
<a name="36"><span class="lineNum"> 36 </span> : : * purpose. It is provided &quot;as is&quot; without express or implied warranty.</a>
<a name="37"><span class="lineNum"> 37 </span> : : *</a>
<a name="38"><span class="lineNum"> 38 </span> : : *</a>
<a name="39"><span class="lineNum"> 39 </span> : : * Copyright (c) 1996-1998</a>
<a name="40"><span class="lineNum"> 40 </span> : : * Silicon Graphics Computer Systems, Inc.</a>
<a name="41"><span class="lineNum"> 41 </span> : : *</a>
<a name="42"><span class="lineNum"> 42 </span> : : * Permission to use, copy, modify, distribute and sell this software</a>
<a name="43"><span class="lineNum"> 43 </span> : : * and its documentation for any purpose is hereby granted without fee,</a>
<a name="44"><span class="lineNum"> 44 </span> : : * provided that the above copyright notice appear in all copies and</a>
<a name="45"><span class="lineNum"> 45 </span> : : * that both that copyright notice and this permission notice appear</a>
<a name="46"><span class="lineNum"> 46 </span> : : * in supporting documentation. Silicon Graphics makes no</a>
<a name="47"><span class="lineNum"> 47 </span> : : * representations about the suitability of this software for any</a>
<a name="48"><span class="lineNum"> 48 </span> : : * purpose. It is provided &quot;as is&quot; without express or implied warranty.</a>
<a name="49"><span class="lineNum"> 49 </span> : : */</a>
<a name="50"><span class="lineNum"> 50 </span> : : </a>
<a name="51"><span class="lineNum"> 51 </span> : : /** @file bits/stl_iterator_base_funcs.h</a>
<a name="52"><span class="lineNum"> 52 </span> : : * This is an internal header file, included by other library headers.</a>
<a name="53"><span class="lineNum"> 53 </span> : : * Do not attempt to use it directly. @headername{iterator}</a>
<a name="54"><span class="lineNum"> 54 </span> : : *</a>
<a name="55"><span class="lineNum"> 55 </span> : : * This file contains all of the general iterator-related utility</a>
<a name="56"><span class="lineNum"> 56 </span> : : * functions, such as distance() and advance().</a>
<a name="57"><span class="lineNum"> 57 </span> : : */</a>
<a name="58"><span class="lineNum"> 58 </span> : : </a>
<a name="59"><span class="lineNum"> 59 </span> : : #ifndef _STL_ITERATOR_BASE_FUNCS_H</a>
<a name="60"><span class="lineNum"> 60 </span> : : #define _STL_ITERATOR_BASE_FUNCS_H 1</a>
<a name="61"><span class="lineNum"> 61 </span> : : </a>
<a name="62"><span class="lineNum"> 62 </span> : : #pragma GCC system_header</a>
<a name="63"><span class="lineNum"> 63 </span> : : </a>
<a name="64"><span class="lineNum"> 64 </span> : : #include &lt;bits/concept_check.h&gt;</a>
<a name="65"><span class="lineNum"> 65 </span> : : #include &lt;debug/assertions.h&gt;</a>
<a name="66"><span class="lineNum"> 66 </span> : : </a>
<a name="67"><span class="lineNum"> 67 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="68"><span class="lineNum"> 68 </span> : : {</a>
<a name="69"><span class="lineNum"> 69 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="70"><span class="lineNum"> 70 </span> : : </a>
<a name="71"><span class="lineNum"> 71 </span> : : _GLIBCXX_BEGIN_NAMESPACE_CONTAINER</a>
<a name="72"><span class="lineNum"> 72 </span> : : // Forward declaration for the overloads of __distance.</a>
<a name="73"><span class="lineNum"> 73 </span> : : template &lt;typename&gt; struct _List_iterator;</a>
<a name="74"><span class="lineNum"> 74 </span> : : template &lt;typename&gt; struct _List_const_iterator;</a>
<a name="75"><span class="lineNum"> 75 </span> : : _GLIBCXX_END_NAMESPACE_CONTAINER</a>
<a name="76"><span class="lineNum"> 76 </span> : : </a>
<a name="77"><span class="lineNum"> 77 </span> : : template&lt;typename _InputIterator&gt;</a>
<a name="78"><span class="lineNum"> 78 </span> : : inline _GLIBCXX14_CONSTEXPR</a>
<a name="79"><span class="lineNum"> 79 </span> : : typename iterator_traits&lt;_InputIterator&gt;::difference_type</a>
<a name="80"><span class="lineNum"> 80 </span> : : __distance(_InputIterator __first, _InputIterator __last,</a>
<a name="81"><span class="lineNum"> 81 </span> : : input_iterator_tag)</a>
<a name="82"><span class="lineNum"> 82 </span> : : {</a>
<a name="83"><span class="lineNum"> 83 </span> : : // concept requirements</a>
<a name="84"><span class="lineNum"> 84 </span> : : __glibcxx_function_requires(_InputIteratorConcept&lt;_InputIterator&gt;)</a>
<a name="85"><span class="lineNum"> 85 </span> : : </a>
<a name="86"><span class="lineNum"> 86 </span> : : typename iterator_traits&lt;_InputIterator&gt;::difference_type __n = 0;</a>
<a name="87"><span class="lineNum"> 87 </span> : : while (__first != __last)</a>
<a name="88"><span class="lineNum"> 88 </span> : : {</a>
<a name="89"><span class="lineNum"> 89 </span> : : ++__first;</a>
<a name="90"><span class="lineNum"> 90 </span> : : ++__n;</a>
<a name="91"><span class="lineNum"> 91 </span> : : }</a>
<a name="92"><span class="lineNum"> 92 </span> : : return __n;</a>
<a name="93"><span class="lineNum"> 93 </span> : : }</a>
<a name="94"><span class="lineNum"> 94 </span> : : </a>
<a name="95"><span class="lineNum"> 95 </span> : : template&lt;typename _RandomAccessIterator&gt;</a>
<a name="96"><span class="lineNum"> 96 </span> : : inline _GLIBCXX14_CONSTEXPR</a>
<a name="97"><span class="lineNum"> 97 </span> : : typename iterator_traits&lt;_RandomAccessIterator&gt;::difference_type</a>
<a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,</span></a>
<a name="99"><span class="lineNum"> 99 </span> : : random_access_iterator_tag)</a>
<a name="100"><span class="lineNum"> 100 </span> : : {</a>
<a name="101"><span class="lineNum"> 101 </span> : : // concept requirements</a>
<a name="102"><span class="lineNum"> 102 </span> : : __glibcxx_function_requires(_RandomAccessIteratorConcept&lt;</a>
<a name="103"><span class="lineNum"> 103 </span> : : _RandomAccessIterator&gt;)</a>
<a name="104"><span class="lineNum"> 104 </span> :<span class="lineNoCov"> 0 : return __last - __first;</span></a>
<a name="105"><span class="lineNum"> 105 </span> : : }</a>
<a name="106"><span class="lineNum"> 106 </span> : : </a>
<a name="107"><span class="lineNum"> 107 </span> : : #if _GLIBCXX_USE_CXX11_ABI</a>
<a name="108"><span class="lineNum"> 108 </span> : : // Forward declaration because of the qualified call in distance.</a>
<a name="109"><span class="lineNum"> 109 </span> : : template&lt;typename _Tp&gt;</a>
<a name="110"><span class="lineNum"> 110 </span> : : ptrdiff_t</a>
<a name="111"><span class="lineNum"> 111 </span> : : __distance(_GLIBCXX_STD_C::_List_iterator&lt;_Tp&gt;,</a>
<a name="112"><span class="lineNum"> 112 </span> : : _GLIBCXX_STD_C::_List_iterator&lt;_Tp&gt;,</a>
<a name="113"><span class="lineNum"> 113 </span> : : input_iterator_tag);</a>
<a name="114"><span class="lineNum"> 114 </span> : : </a>
<a name="115"><span class="lineNum"> 115 </span> : : template&lt;typename _Tp&gt;</a>
<a name="116"><span class="lineNum"> 116 </span> : : ptrdiff_t</a>
<a name="117"><span class="lineNum"> 117 </span> : : __distance(_GLIBCXX_STD_C::_List_const_iterator&lt;_Tp&gt;,</a>
<a name="118"><span class="lineNum"> 118 </span> : : _GLIBCXX_STD_C::_List_const_iterator&lt;_Tp&gt;,</a>
<a name="119"><span class="lineNum"> 119 </span> : : input_iterator_tag);</a>
<a name="120"><span class="lineNum"> 120 </span> : : #endif</a>
<a name="121"><span class="lineNum"> 121 </span> : : </a>
<a name="122"><span class="lineNum"> 122 </span> : : /**</a>
<a name="123"><span class="lineNum"> 123 </span> : : * @brief A generalization of pointer arithmetic.</a>
<a name="124"><span class="lineNum"> 124 </span> : : * @param __first An input iterator.</a>
<a name="125"><span class="lineNum"> 125 </span> : : * @param __last An input iterator.</a>
<a name="126"><span class="lineNum"> 126 </span> : : * @return The distance between them.</a>
<a name="127"><span class="lineNum"> 127 </span> : : *</a>
<a name="128"><span class="lineNum"> 128 </span> : : * Returns @c n such that __first + n == __last. This requires</a>
<a name="129"><span class="lineNum"> 129 </span> : : * that @p __last must be reachable from @p __first. Note that @c</a>
<a name="130"><span class="lineNum"> 130 </span> : : * n may be negative.</a>
<a name="131"><span class="lineNum"> 131 </span> : : *</a>
<a name="132"><span class="lineNum"> 132 </span> : : * For random access iterators, this uses their @c + and @c - operations</a>
<a name="133"><span class="lineNum"> 133 </span> : : * and are constant time. For other %iterator classes they are linear time.</a>
<a name="134"><span class="lineNum"> 134 </span> : : */</a>
<a name="135"><span class="lineNum"> 135 </span> : : template&lt;typename _InputIterator&gt;</a>
<a name="136"><span class="lineNum"> 136 </span> : : inline _GLIBCXX17_CONSTEXPR</a>
<a name="137"><span class="lineNum"> 137 </span> : : typename iterator_traits&lt;_InputIterator&gt;::difference_type</a>
<a name="138"><span class="lineNum"> 138 </span> :<span class="lineNoCov"> 0 : distance(_InputIterator __first, _InputIterator __last)</span></a>
<a name="139"><span class="lineNum"> 139 </span> : : {</a>
<a name="140"><span class="lineNum"> 140 </span> : : // concept requirements -- taken care of in __distance</a>
<a name="141"><span class="lineNum"> 141 </span> :<span class="lineNoCov"> 0 : return std::__distance(__first, __last,</span></a>
<a name="142"><span class="lineNum"> 142 </span> :<span class="lineNoCov"> 0 : std::__iterator_category(__first));</span></a>
<a name="143"><span class="lineNum"> 143 </span> : : }</a>
<a name="144"><span class="lineNum"> 144 </span> : : </a>
<a name="145"><span class="lineNum"> 145 </span> : : template&lt;typename _InputIterator, typename _Distance&gt;</a>
<a name="146"><span class="lineNum"> 146 </span> : : inline _GLIBCXX14_CONSTEXPR void</a>
<a name="147"><span class="lineNum"> 147 </span> : : __advance(_InputIterator&amp; __i, _Distance __n, input_iterator_tag)</a>
<a name="148"><span class="lineNum"> 148 </span> : : {</a>
<a name="149"><span class="lineNum"> 149 </span> : : // concept requirements</a>
<a name="150"><span class="lineNum"> 150 </span> : : __glibcxx_function_requires(_InputIteratorConcept&lt;_InputIterator&gt;)</a>
<a name="151"><span class="lineNum"> 151 </span> : : __glibcxx_assert(__n &gt;= 0);</a>
<a name="152"><span class="lineNum"> 152 </span> : : while (__n--)</a>
<a name="153"><span class="lineNum"> 153 </span> : : ++__i;</a>
<a name="154"><span class="lineNum"> 154 </span> : : }</a>
<a name="155"><span class="lineNum"> 155 </span> : : </a>
<a name="156"><span class="lineNum"> 156 </span> : : template&lt;typename _BidirectionalIterator, typename _Distance&gt;</a>
<a name="157"><span class="lineNum"> 157 </span> : : inline _GLIBCXX14_CONSTEXPR void</a>
<a name="158"><span class="lineNum"> 158 </span> : : __advance(_BidirectionalIterator&amp; __i, _Distance __n,</a>
<a name="159"><span class="lineNum"> 159 </span> : : bidirectional_iterator_tag)</a>
<a name="160"><span class="lineNum"> 160 </span> : : {</a>
<a name="161"><span class="lineNum"> 161 </span> : : // concept requirements</a>
<a name="162"><span class="lineNum"> 162 </span> : : __glibcxx_function_requires(_BidirectionalIteratorConcept&lt;</a>
<a name="163"><span class="lineNum"> 163 </span> : : _BidirectionalIterator&gt;)</a>
<a name="164"><span class="lineNum"> 164 </span> : : if (__n &gt; 0)</a>
<a name="165"><span class="lineNum"> 165 </span> : : while (__n--)</a>
<a name="166"><span class="lineNum"> 166 </span> : : ++__i;</a>
<a name="167"><span class="lineNum"> 167 </span> : : else</a>
<a name="168"><span class="lineNum"> 168 </span> : : while (__n++)</a>
<a name="169"><span class="lineNum"> 169 </span> : : --__i;</a>
<a name="170"><span class="lineNum"> 170 </span> : : }</a>
<a name="171"><span class="lineNum"> 171 </span> : : </a>
<a name="172"><span class="lineNum"> 172 </span> : : template&lt;typename _RandomAccessIterator, typename _Distance&gt;</a>
<a name="173"><span class="lineNum"> 173 </span> : : inline _GLIBCXX14_CONSTEXPR void</a>
<a name="174"><span class="lineNum"> 174 </span> : : __advance(_RandomAccessIterator&amp; __i, _Distance __n,</a>
<a name="175"><span class="lineNum"> 175 </span> : : random_access_iterator_tag)</a>
<a name="176"><span class="lineNum"> 176 </span> : : {</a>
<a name="177"><span class="lineNum"> 177 </span> : : // concept requirements</a>
<a name="178"><span class="lineNum"> 178 </span> : : __glibcxx_function_requires(_RandomAccessIteratorConcept&lt;</a>
<a name="179"><span class="lineNum"> 179 </span> : : _RandomAccessIterator&gt;)</a>
<a name="180"><span class="lineNum"> 180 </span> : : if (__builtin_constant_p(__n) &amp;&amp; __n == 1)</a>
<a name="181"><span class="lineNum"> 181 </span> : : ++__i;</a>
<a name="182"><span class="lineNum"> 182 </span> : : else if (__builtin_constant_p(__n) &amp;&amp; __n == -1)</a>
<a name="183"><span class="lineNum"> 183 </span> : : --__i;</a>
<a name="184"><span class="lineNum"> 184 </span> : : else</a>
<a name="185"><span class="lineNum"> 185 </span> : : __i += __n;</a>
<a name="186"><span class="lineNum"> 186 </span> : : }</a>
<a name="187"><span class="lineNum"> 187 </span> : : </a>
<a name="188"><span class="lineNum"> 188 </span> : : /**</a>
<a name="189"><span class="lineNum"> 189 </span> : : * @brief A generalization of pointer arithmetic.</a>
<a name="190"><span class="lineNum"> 190 </span> : : * @param __i An input iterator.</a>
<a name="191"><span class="lineNum"> 191 </span> : : * @param __n The @a delta by which to change @p __i.</a>
<a name="192"><span class="lineNum"> 192 </span> : : * @return Nothing.</a>
<a name="193"><span class="lineNum"> 193 </span> : : *</a>
<a name="194"><span class="lineNum"> 194 </span> : : * This increments @p i by @p n. For bidirectional and random access</a>
<a name="195"><span class="lineNum"> 195 </span> : : * iterators, @p __n may be negative, in which case @p __i is decremented.</a>
<a name="196"><span class="lineNum"> 196 </span> : : *</a>
<a name="197"><span class="lineNum"> 197 </span> : : * For random access iterators, this uses their @c + and @c - operations</a>
<a name="198"><span class="lineNum"> 198 </span> : : * and are constant time. For other %iterator classes they are linear time.</a>
<a name="199"><span class="lineNum"> 199 </span> : : */</a>
<a name="200"><span class="lineNum"> 200 </span> : : template&lt;typename _InputIterator, typename _Distance&gt;</a>
<a name="201"><span class="lineNum"> 201 </span> : : inline _GLIBCXX17_CONSTEXPR void</a>
<a name="202"><span class="lineNum"> 202 </span> : : advance(_InputIterator&amp; __i, _Distance __n)</a>
<a name="203"><span class="lineNum"> 203 </span> : : {</a>
<a name="204"><span class="lineNum"> 204 </span> : : // concept requirements -- taken care of in __advance</a>
<a name="205"><span class="lineNum"> 205 </span> : : typename iterator_traits&lt;_InputIterator&gt;::difference_type __d = __n;</a>
<a name="206"><span class="lineNum"> 206 </span> : : std::__advance(__i, __d, std::__iterator_category(__i));</a>
<a name="207"><span class="lineNum"> 207 </span> : : }</a>
<a name="208"><span class="lineNum"> 208 </span> : : </a>
<a name="209"><span class="lineNum"> 209 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="210"><span class="lineNum"> 210 </span> : : </a>
<a name="211"><span class="lineNum"> 211 </span> : : template&lt;typename _InputIterator&gt;</a>
<a name="212"><span class="lineNum"> 212 </span> : : inline _GLIBCXX17_CONSTEXPR _InputIterator</a>
<a name="213"><span class="lineNum"> 213 </span> : : next(_InputIterator __x, typename</a>
<a name="214"><span class="lineNum"> 214 </span> : : iterator_traits&lt;_InputIterator&gt;::difference_type __n = 1)</a>
<a name="215"><span class="lineNum"> 215 </span> : : {</a>
<a name="216"><span class="lineNum"> 216 </span> : : // concept requirements</a>
<a name="217"><span class="lineNum"> 217 </span> : : __glibcxx_function_requires(_InputIteratorConcept&lt;_InputIterator&gt;)</a>
<a name="218"><span class="lineNum"> 218 </span> : : std::advance(__x, __n);</a>
<a name="219"><span class="lineNum"> 219 </span> : : return __x;</a>
<a name="220"><span class="lineNum"> 220 </span> : : }</a>
<a name="221"><span class="lineNum"> 221 </span> : : </a>
<a name="222"><span class="lineNum"> 222 </span> : : template&lt;typename _BidirectionalIterator&gt;</a>
<a name="223"><span class="lineNum"> 223 </span> : : inline _GLIBCXX17_CONSTEXPR _BidirectionalIterator</a>
<a name="224"><span class="lineNum"> 224 </span> : : prev(_BidirectionalIterator __x, typename</a>
<a name="225"><span class="lineNum"> 225 </span> : : iterator_traits&lt;_BidirectionalIterator&gt;::difference_type __n = 1) </a>
<a name="226"><span class="lineNum"> 226 </span> : : {</a>
<a name="227"><span class="lineNum"> 227 </span> : : // concept requirements</a>
<a name="228"><span class="lineNum"> 228 </span> : : __glibcxx_function_requires(_BidirectionalIteratorConcept&lt;</a>
<a name="229"><span class="lineNum"> 229 </span> : : _BidirectionalIterator&gt;)</a>
<a name="230"><span class="lineNum"> 230 </span> : : std::advance(__x, -__n);</a>
<a name="231"><span class="lineNum"> 231 </span> : : return __x;</a>
<a name="232"><span class="lineNum"> 232 </span> : : }</a>
<a name="233"><span class="lineNum"> 233 </span> : : </a>
<a name="234"><span class="lineNum"> 234 </span> : : #endif // C++11</a>
<a name="235"><span class="lineNum"> 235 </span> : : </a>
<a name="236"><span class="lineNum"> 236 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="237"><span class="lineNum"> 237 </span> : : } // namespace</a>
<a name="238"><span class="lineNum"> 238 </span> : : </a>
<a name="239"><span class="lineNum"> 239 </span> : : #endif /* _STL_ITERATOR_BASE_FUNCS_H */</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,89 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_types.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_types.h<span style="font-size: 80%;"> (<a href="stl_iterator_base_types.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="stl_iterator_base_types.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_types.h.gcov.html#203">_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_types.h.gcov.html#203">_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,89 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_types.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_types.h<span style="font-size: 80%;"> (<a href="stl_iterator_base_types.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="stl_iterator_base_types.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_types.h.gcov.html#203">_ZSt19__iterator_categoryIPKcENSt15iterator_traitsIT_E17iterator_categoryERKS3_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="stl_iterator_base_types.h.gcov.html#203">_ZSt19__iterator_categoryIPcENSt15iterator_traitsIT_E17iterator_categoryERKS2_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,327 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - bits/stl_iterator_base_types.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">bits</a> - stl_iterator_base_types.h<span style="font-size: 80%;"> (source / <a href="stl_iterator_base_types.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Types used in iterator implementation -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2001-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /*</a>
<a name="26"><span class="lineNum"> 26 </span> : : *</a>
<a name="27"><span class="lineNum"> 27 </span> : : * Copyright (c) 1994</a>
<a name="28"><span class="lineNum"> 28 </span> : : * Hewlett-Packard Company</a>
<a name="29"><span class="lineNum"> 29 </span> : : *</a>
<a name="30"><span class="lineNum"> 30 </span> : : * Permission to use, copy, modify, distribute and sell this software</a>
<a name="31"><span class="lineNum"> 31 </span> : : * and its documentation for any purpose is hereby granted without fee,</a>
<a name="32"><span class="lineNum"> 32 </span> : : * provided that the above copyright notice appear in all copies and</a>
<a name="33"><span class="lineNum"> 33 </span> : : * that both that copyright notice and this permission notice appear</a>
<a name="34"><span class="lineNum"> 34 </span> : : * in supporting documentation. Hewlett-Packard Company makes no</a>
<a name="35"><span class="lineNum"> 35 </span> : : * representations about the suitability of this software for any</a>
<a name="36"><span class="lineNum"> 36 </span> : : * purpose. It is provided &quot;as is&quot; without express or implied warranty.</a>
<a name="37"><span class="lineNum"> 37 </span> : : *</a>
<a name="38"><span class="lineNum"> 38 </span> : : *</a>
<a name="39"><span class="lineNum"> 39 </span> : : * Copyright (c) 1996-1998</a>
<a name="40"><span class="lineNum"> 40 </span> : : * Silicon Graphics Computer Systems, Inc.</a>
<a name="41"><span class="lineNum"> 41 </span> : : *</a>
<a name="42"><span class="lineNum"> 42 </span> : : * Permission to use, copy, modify, distribute and sell this software</a>
<a name="43"><span class="lineNum"> 43 </span> : : * and its documentation for any purpose is hereby granted without fee,</a>
<a name="44"><span class="lineNum"> 44 </span> : : * provided that the above copyright notice appear in all copies and</a>
<a name="45"><span class="lineNum"> 45 </span> : : * that both that copyright notice and this permission notice appear</a>
<a name="46"><span class="lineNum"> 46 </span> : : * in supporting documentation. Silicon Graphics makes no</a>
<a name="47"><span class="lineNum"> 47 </span> : : * representations about the suitability of this software for any</a>
<a name="48"><span class="lineNum"> 48 </span> : : * purpose. It is provided &quot;as is&quot; without express or implied warranty.</a>
<a name="49"><span class="lineNum"> 49 </span> : : */</a>
<a name="50"><span class="lineNum"> 50 </span> : : </a>
<a name="51"><span class="lineNum"> 51 </span> : : /** @file bits/stl_iterator_base_types.h</a>
<a name="52"><span class="lineNum"> 52 </span> : : * This is an internal header file, included by other library headers.</a>
<a name="53"><span class="lineNum"> 53 </span> : : * Do not attempt to use it directly. @headername{iterator}</a>
<a name="54"><span class="lineNum"> 54 </span> : : *</a>
<a name="55"><span class="lineNum"> 55 </span> : : * This file contains all of the general iterator-related utility types,</a>
<a name="56"><span class="lineNum"> 56 </span> : : * such as iterator_traits and struct iterator.</a>
<a name="57"><span class="lineNum"> 57 </span> : : */</a>
<a name="58"><span class="lineNum"> 58 </span> : : </a>
<a name="59"><span class="lineNum"> 59 </span> : : #ifndef _STL_ITERATOR_BASE_TYPES_H</a>
<a name="60"><span class="lineNum"> 60 </span> : : #define _STL_ITERATOR_BASE_TYPES_H 1</a>
<a name="61"><span class="lineNum"> 61 </span> : : </a>
<a name="62"><span class="lineNum"> 62 </span> : : #pragma GCC system_header</a>
<a name="63"><span class="lineNum"> 63 </span> : : </a>
<a name="64"><span class="lineNum"> 64 </span> : : #include &lt;bits/c++config.h&gt;</a>
<a name="65"><span class="lineNum"> 65 </span> : : </a>
<a name="66"><span class="lineNum"> 66 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="67"><span class="lineNum"> 67 </span> : : # include &lt;type_traits&gt; // For __void_t, is_convertible</a>
<a name="68"><span class="lineNum"> 68 </span> : : #endif</a>
<a name="69"><span class="lineNum"> 69 </span> : : </a>
<a name="70"><span class="lineNum"> 70 </span> : : namespace std _GLIBCXX_VISIBILITY(default)</a>
<a name="71"><span class="lineNum"> 71 </span> : : {</a>
<a name="72"><span class="lineNum"> 72 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="73"><span class="lineNum"> 73 </span> : : </a>
<a name="74"><span class="lineNum"> 74 </span> : : /**</a>
<a name="75"><span class="lineNum"> 75 </span> : : * @defgroup iterators Iterators</a>
<a name="76"><span class="lineNum"> 76 </span> : : * Abstractions for uniform iterating through various underlying types.</a>
<a name="77"><span class="lineNum"> 77 </span> : : */</a>
<a name="78"><span class="lineNum"> 78 </span> : : ///@{</a>
<a name="79"><span class="lineNum"> 79 </span> : : </a>
<a name="80"><span class="lineNum"> 80 </span> : : /**</a>
<a name="81"><span class="lineNum"> 81 </span> : : * @defgroup iterator_tags Iterator Tags</a>
<a name="82"><span class="lineNum"> 82 </span> : : * These are empty types, used to distinguish different iterators. The</a>
<a name="83"><span class="lineNum"> 83 </span> : : * distinction is not made by what they contain, but simply by what they</a>
<a name="84"><span class="lineNum"> 84 </span> : : * are. Different underlying algorithms can then be used based on the</a>
<a name="85"><span class="lineNum"> 85 </span> : : * different operations supported by different iterator types.</a>
<a name="86"><span class="lineNum"> 86 </span> : : */</a>
<a name="87"><span class="lineNum"> 87 </span> : : ///@{</a>
<a name="88"><span class="lineNum"> 88 </span> : : /// Marking input iterators.</a>
<a name="89"><span class="lineNum"> 89 </span> : : struct input_iterator_tag { };</a>
<a name="90"><span class="lineNum"> 90 </span> : : </a>
<a name="91"><span class="lineNum"> 91 </span> : : /// Marking output iterators.</a>
<a name="92"><span class="lineNum"> 92 </span> : : struct output_iterator_tag { };</a>
<a name="93"><span class="lineNum"> 93 </span> : : </a>
<a name="94"><span class="lineNum"> 94 </span> : : /// Forward iterators support a superset of input iterator operations.</a>
<a name="95"><span class="lineNum"> 95 </span> : : struct forward_iterator_tag : public input_iterator_tag { };</a>
<a name="96"><span class="lineNum"> 96 </span> : : </a>
<a name="97"><span class="lineNum"> 97 </span> : : /// Bidirectional iterators support a superset of forward iterator</a>
<a name="98"><span class="lineNum"> 98 </span> : : /// operations.</a>
<a name="99"><span class="lineNum"> 99 </span> : : struct bidirectional_iterator_tag : public forward_iterator_tag { };</a>
<a name="100"><span class="lineNum"> 100 </span> : : </a>
<a name="101"><span class="lineNum"> 101 </span> : : /// Random-access iterators support a superset of bidirectional</a>
<a name="102"><span class="lineNum"> 102 </span> : : /// iterator operations.</a>
<a name="103"><span class="lineNum"> 103 </span> : : struct random_access_iterator_tag : public bidirectional_iterator_tag { };</a>
<a name="104"><span class="lineNum"> 104 </span> : : ///@}</a>
<a name="105"><span class="lineNum"> 105 </span> : : </a>
<a name="106"><span class="lineNum"> 106 </span> : : /**</a>
<a name="107"><span class="lineNum"> 107 </span> : : * @brief Common %iterator class.</a>
<a name="108"><span class="lineNum"> 108 </span> : : *</a>
<a name="109"><span class="lineNum"> 109 </span> : : * This class does nothing but define nested typedefs. %Iterator classes</a>
<a name="110"><span class="lineNum"> 110 </span> : : * can inherit from this class to save some work. The typedefs are then</a>
<a name="111"><span class="lineNum"> 111 </span> : : * used in specializations and overloading.</a>
<a name="112"><span class="lineNum"> 112 </span> : : *</a>
<a name="113"><span class="lineNum"> 113 </span> : : * In particular, there are no default implementations of requirements</a>
<a name="114"><span class="lineNum"> 114 </span> : : * such as @c operator++ and the like. (How could there be?)</a>
<a name="115"><span class="lineNum"> 115 </span> : : */</a>
<a name="116"><span class="lineNum"> 116 </span> : : template&lt;typename _Category, typename _Tp, typename _Distance = ptrdiff_t,</a>
<a name="117"><span class="lineNum"> 117 </span> : : typename _Pointer = _Tp*, typename _Reference = _Tp&amp;&gt;</a>
<a name="118"><span class="lineNum"> 118 </span> : : struct iterator</a>
<a name="119"><span class="lineNum"> 119 </span> : : {</a>
<a name="120"><span class="lineNum"> 120 </span> : : /// One of the @link iterator_tags tag types@endlink.</a>
<a name="121"><span class="lineNum"> 121 </span> : : typedef _Category iterator_category;</a>
<a name="122"><span class="lineNum"> 122 </span> : : /// The type &quot;pointed to&quot; by the iterator.</a>
<a name="123"><span class="lineNum"> 123 </span> : : typedef _Tp value_type;</a>
<a name="124"><span class="lineNum"> 124 </span> : : /// Distance between iterators is represented as this type.</a>
<a name="125"><span class="lineNum"> 125 </span> : : typedef _Distance difference_type;</a>
<a name="126"><span class="lineNum"> 126 </span> : : /// This type represents a pointer-to-value_type.</a>
<a name="127"><span class="lineNum"> 127 </span> : : typedef _Pointer pointer;</a>
<a name="128"><span class="lineNum"> 128 </span> : : /// This type represents a reference-to-value_type.</a>
<a name="129"><span class="lineNum"> 129 </span> : : typedef _Reference reference;</a>
<a name="130"><span class="lineNum"> 130 </span> : : };</a>
<a name="131"><span class="lineNum"> 131 </span> : : </a>
<a name="132"><span class="lineNum"> 132 </span> : : /**</a>
<a name="133"><span class="lineNum"> 133 </span> : : * @brief Traits class for iterators.</a>
<a name="134"><span class="lineNum"> 134 </span> : : *</a>
<a name="135"><span class="lineNum"> 135 </span> : : * This class does nothing but define nested typedefs. The general</a>
<a name="136"><span class="lineNum"> 136 </span> : : * version simply @a forwards the nested typedefs from the Iterator</a>
<a name="137"><span class="lineNum"> 137 </span> : : * argument. Specialized versions for pointers and pointers-to-const</a>
<a name="138"><span class="lineNum"> 138 </span> : : * provide tighter, more correct semantics.</a>
<a name="139"><span class="lineNum"> 139 </span> : : */</a>
<a name="140"><span class="lineNum"> 140 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="141"><span class="lineNum"> 141 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="142"><span class="lineNum"> 142 </span> : : // 2408. SFINAE-friendly common_type/iterator_traits is missing in C++14</a>
<a name="143"><span class="lineNum"> 143 </span> : : template&lt;typename _Iterator, typename = __void_t&lt;&gt;&gt;</a>
<a name="144"><span class="lineNum"> 144 </span> : : struct __iterator_traits { };</a>
<a name="145"><span class="lineNum"> 145 </span> : : </a>
<a name="146"><span class="lineNum"> 146 </span> : : template&lt;typename _Iterator&gt;</a>
<a name="147"><span class="lineNum"> 147 </span> : : struct __iterator_traits&lt;_Iterator,</a>
<a name="148"><span class="lineNum"> 148 </span> : : __void_t&lt;typename _Iterator::iterator_category,</a>
<a name="149"><span class="lineNum"> 149 </span> : : typename _Iterator::value_type,</a>
<a name="150"><span class="lineNum"> 150 </span> : : typename _Iterator::difference_type,</a>
<a name="151"><span class="lineNum"> 151 </span> : : typename _Iterator::pointer,</a>
<a name="152"><span class="lineNum"> 152 </span> : : typename _Iterator::reference&gt;&gt;</a>
<a name="153"><span class="lineNum"> 153 </span> : : {</a>
<a name="154"><span class="lineNum"> 154 </span> : : typedef typename _Iterator::iterator_category iterator_category;</a>
<a name="155"><span class="lineNum"> 155 </span> : : typedef typename _Iterator::value_type value_type;</a>
<a name="156"><span class="lineNum"> 156 </span> : : typedef typename _Iterator::difference_type difference_type;</a>
<a name="157"><span class="lineNum"> 157 </span> : : typedef typename _Iterator::pointer pointer;</a>
<a name="158"><span class="lineNum"> 158 </span> : : typedef typename _Iterator::reference reference;</a>
<a name="159"><span class="lineNum"> 159 </span> : : };</a>
<a name="160"><span class="lineNum"> 160 </span> : : </a>
<a name="161"><span class="lineNum"> 161 </span> : : template&lt;typename _Iterator&gt;</a>
<a name="162"><span class="lineNum"> 162 </span> : : struct iterator_traits</a>
<a name="163"><span class="lineNum"> 163 </span> : : : public __iterator_traits&lt;_Iterator&gt; { };</a>
<a name="164"><span class="lineNum"> 164 </span> : : #else</a>
<a name="165"><span class="lineNum"> 165 </span> : : template&lt;typename _Iterator&gt;</a>
<a name="166"><span class="lineNum"> 166 </span> : : struct iterator_traits</a>
<a name="167"><span class="lineNum"> 167 </span> : : {</a>
<a name="168"><span class="lineNum"> 168 </span> : : typedef typename _Iterator::iterator_category iterator_category;</a>
<a name="169"><span class="lineNum"> 169 </span> : : typedef typename _Iterator::value_type value_type;</a>
<a name="170"><span class="lineNum"> 170 </span> : : typedef typename _Iterator::difference_type difference_type;</a>
<a name="171"><span class="lineNum"> 171 </span> : : typedef typename _Iterator::pointer pointer;</a>
<a name="172"><span class="lineNum"> 172 </span> : : typedef typename _Iterator::reference reference;</a>
<a name="173"><span class="lineNum"> 173 </span> : : };</a>
<a name="174"><span class="lineNum"> 174 </span> : : #endif</a>
<a name="175"><span class="lineNum"> 175 </span> : : </a>
<a name="176"><span class="lineNum"> 176 </span> : : /// Partial specialization for pointer types.</a>
<a name="177"><span class="lineNum"> 177 </span> : : template&lt;typename _Tp&gt;</a>
<a name="178"><span class="lineNum"> 178 </span> : : struct iterator_traits&lt;_Tp*&gt;</a>
<a name="179"><span class="lineNum"> 179 </span> : : {</a>
<a name="180"><span class="lineNum"> 180 </span> : : typedef random_access_iterator_tag iterator_category;</a>
<a name="181"><span class="lineNum"> 181 </span> : : typedef _Tp value_type;</a>
<a name="182"><span class="lineNum"> 182 </span> : : typedef ptrdiff_t difference_type;</a>
<a name="183"><span class="lineNum"> 183 </span> : : typedef _Tp* pointer;</a>
<a name="184"><span class="lineNum"> 184 </span> : : typedef _Tp&amp; reference;</a>
<a name="185"><span class="lineNum"> 185 </span> : : };</a>
<a name="186"><span class="lineNum"> 186 </span> : : </a>
<a name="187"><span class="lineNum"> 187 </span> : : /// Partial specialization for const pointer types.</a>
<a name="188"><span class="lineNum"> 188 </span> : : template&lt;typename _Tp&gt;</a>
<a name="189"><span class="lineNum"> 189 </span> : : struct iterator_traits&lt;const _Tp*&gt;</a>
<a name="190"><span class="lineNum"> 190 </span> : : {</a>
<a name="191"><span class="lineNum"> 191 </span> : : typedef random_access_iterator_tag iterator_category;</a>
<a name="192"><span class="lineNum"> 192 </span> : : typedef _Tp value_type;</a>
<a name="193"><span class="lineNum"> 193 </span> : : typedef ptrdiff_t difference_type;</a>
<a name="194"><span class="lineNum"> 194 </span> : : typedef const _Tp* pointer;</a>
<a name="195"><span class="lineNum"> 195 </span> : : typedef const _Tp&amp; reference;</a>
<a name="196"><span class="lineNum"> 196 </span> : : };</a>
<a name="197"><span class="lineNum"> 197 </span> : : </a>
<a name="198"><span class="lineNum"> 198 </span> : : /**</a>
<a name="199"><span class="lineNum"> 199 </span> : : * This function is not a part of the C++ standard but is syntactic</a>
<a name="200"><span class="lineNum"> 200 </span> : : * sugar for internal library use only.</a>
<a name="201"><span class="lineNum"> 201 </span> : : */</a>
<a name="202"><span class="lineNum"> 202 </span> : : template&lt;typename _Iter&gt;</a>
<a name="203"><span class="lineNum"> 203 </span> : : inline _GLIBCXX_CONSTEXPR</a>
<a name="204"><span class="lineNum"> 204 </span> : : typename iterator_traits&lt;_Iter&gt;::iterator_category</a>
<a name="205"><span class="lineNum"> 205 </span> :<span class="lineNoCov"> 0 : __iterator_category(const _Iter&amp;)</span></a>
<a name="206"><span class="lineNum"> 206 </span> :<span class="lineNoCov"> 0 : { return typename iterator_traits&lt;_Iter&gt;::iterator_category(); }</span></a>
<a name="207"><span class="lineNum"> 207 </span> : : </a>
<a name="208"><span class="lineNum"> 208 </span> : : ///@}</a>
<a name="209"><span class="lineNum"> 209 </span> : : </a>
<a name="210"><span class="lineNum"> 210 </span> : : #if __cplusplus &lt; 201103L</a>
<a name="211"><span class="lineNum"> 211 </span> : : // If _Iterator has a base returns it otherwise _Iterator is returned</a>
<a name="212"><span class="lineNum"> 212 </span> : : // untouched</a>
<a name="213"><span class="lineNum"> 213 </span> : : template&lt;typename _Iterator, bool _HasBase&gt;</a>
<a name="214"><span class="lineNum"> 214 </span> : : struct _Iter_base</a>
<a name="215"><span class="lineNum"> 215 </span> : : {</a>
<a name="216"><span class="lineNum"> 216 </span> : : typedef _Iterator iterator_type;</a>
<a name="217"><span class="lineNum"> 217 </span> : : static iterator_type _S_base(_Iterator __it)</a>
<a name="218"><span class="lineNum"> 218 </span> : : { return __it; }</a>
<a name="219"><span class="lineNum"> 219 </span> : : };</a>
<a name="220"><span class="lineNum"> 220 </span> : : </a>
<a name="221"><span class="lineNum"> 221 </span> : : template&lt;typename _Iterator&gt;</a>
<a name="222"><span class="lineNum"> 222 </span> : : struct _Iter_base&lt;_Iterator, true&gt;</a>
<a name="223"><span class="lineNum"> 223 </span> : : {</a>
<a name="224"><span class="lineNum"> 224 </span> : : typedef typename _Iterator::iterator_type iterator_type;</a>
<a name="225"><span class="lineNum"> 225 </span> : : static iterator_type _S_base(_Iterator __it)</a>
<a name="226"><span class="lineNum"> 226 </span> : : { return __it.base(); }</a>
<a name="227"><span class="lineNum"> 227 </span> : : };</a>
<a name="228"><span class="lineNum"> 228 </span> : : #endif</a>
<a name="229"><span class="lineNum"> 229 </span> : : </a>
<a name="230"><span class="lineNum"> 230 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="231"><span class="lineNum"> 231 </span> : : template&lt;typename _InIter&gt;</a>
<a name="232"><span class="lineNum"> 232 </span> : : using _RequireInputIter = typename</a>
<a name="233"><span class="lineNum"> 233 </span> : : enable_if&lt;is_convertible&lt;typename</a>
<a name="234"><span class="lineNum"> 234 </span> : : iterator_traits&lt;_InIter&gt;::iterator_category,</a>
<a name="235"><span class="lineNum"> 235 </span> : : input_iterator_tag&gt;::value&gt;::type;</a>
<a name="236"><span class="lineNum"> 236 </span> : : #endif</a>
<a name="237"><span class="lineNum"> 237 </span> : : </a>
<a name="238"><span class="lineNum"> 238 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="239"><span class="lineNum"> 239 </span> : : } // namespace</a>
<a name="240"><span class="lineNum"> 240 </span> : : </a>
<a name="241"><span class="lineNum"> 241 </span> : : #endif /* _STL_ITERATOR_BASE_TYPES_H */</a>
<a name="242"><span class="lineNum"> 242 </span> : : </a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/alloc_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - alloc_traits.h<span style="font-size: 80%;"> (<a href="alloc_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="alloc_traits.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="alloc_traits.h.gcov.html#95">_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,85 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/alloc_traits.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - alloc_traits.h<span style="font-size: 80%;"> (<a href="alloc_traits.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="alloc_traits.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="alloc_traits.h.gcov.html#95">_ZN9__gnu_cxx14__alloc_traitsISaIcEcE17_S_select_on_copyERKS1_</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,251 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/alloc_traits.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - alloc_traits.h<span style="font-size: 80%;"> (source / <a href="alloc_traits.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">2</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">1</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Allocator traits -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2011-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /** @file ext/alloc_traits.h</a>
<a name="26"><span class="lineNum"> 26 </span> : : * This file is a GNU extension to the Standard C++ Library.</a>
<a name="27"><span class="lineNum"> 27 </span> : : */</a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : #ifndef _EXT_ALLOC_TRAITS_H</a>
<a name="30"><span class="lineNum"> 30 </span> : : #define _EXT_ALLOC_TRAITS_H 1</a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
<a name="32"><span class="lineNum"> 32 </span> : : #pragma GCC system_header</a>
<a name="33"><span class="lineNum"> 33 </span> : : </a>
<a name="34"><span class="lineNum"> 34 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="35"><span class="lineNum"> 35 </span> : : # include &lt;bits/move.h&gt;</a>
<a name="36"><span class="lineNum"> 36 </span> : : # include &lt;bits/alloc_traits.h&gt;</a>
<a name="37"><span class="lineNum"> 37 </span> : : #else</a>
<a name="38"><span class="lineNum"> 38 </span> : : # include &lt;bits/allocator.h&gt; // for __alloc_swap</a>
<a name="39"><span class="lineNum"> 39 </span> : : #endif</a>
<a name="40"><span class="lineNum"> 40 </span> : : </a>
<a name="41"><span class="lineNum"> 41 </span> : : namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)</a>
<a name="42"><span class="lineNum"> 42 </span> : : {</a>
<a name="43"><span class="lineNum"> 43 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="44"><span class="lineNum"> 44 </span> : : </a>
<a name="45"><span class="lineNum"> 45 </span> : : /**</a>
<a name="46"><span class="lineNum"> 46 </span> : : * @brief Uniform interface to C++98 and C++11 allocators.</a>
<a name="47"><span class="lineNum"> 47 </span> : : * @ingroup allocators</a>
<a name="48"><span class="lineNum"> 48 </span> : : */</a>
<a name="49"><span class="lineNum"> 49 </span> : : template&lt;typename _Alloc, typename = typename _Alloc::value_type&gt;</a>
<a name="50"><span class="lineNum"> 50 </span> : : struct __alloc_traits</a>
<a name="51"><span class="lineNum"> 51 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="52"><span class="lineNum"> 52 </span> : : : std::allocator_traits&lt;_Alloc&gt;</a>
<a name="53"><span class="lineNum"> 53 </span> : : #endif</a>
<a name="54"><span class="lineNum"> 54 </span> : : {</a>
<a name="55"><span class="lineNum"> 55 </span> : : typedef _Alloc allocator_type;</a>
<a name="56"><span class="lineNum"> 56 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="57"><span class="lineNum"> 57 </span> : : typedef std::allocator_traits&lt;_Alloc&gt; _Base_type;</a>
<a name="58"><span class="lineNum"> 58 </span> : : typedef typename _Base_type::value_type value_type;</a>
<a name="59"><span class="lineNum"> 59 </span> : : typedef typename _Base_type::pointer pointer;</a>
<a name="60"><span class="lineNum"> 60 </span> : : typedef typename _Base_type::const_pointer const_pointer;</a>
<a name="61"><span class="lineNum"> 61 </span> : : typedef typename _Base_type::size_type size_type;</a>
<a name="62"><span class="lineNum"> 62 </span> : : typedef typename _Base_type::difference_type difference_type;</a>
<a name="63"><span class="lineNum"> 63 </span> : : // C++11 allocators do not define reference or const_reference</a>
<a name="64"><span class="lineNum"> 64 </span> : : typedef value_type&amp; reference;</a>
<a name="65"><span class="lineNum"> 65 </span> : : typedef const value_type&amp; const_reference;</a>
<a name="66"><span class="lineNum"> 66 </span> : : using _Base_type::allocate;</a>
<a name="67"><span class="lineNum"> 67 </span> : : using _Base_type::deallocate;</a>
<a name="68"><span class="lineNum"> 68 </span> : : using _Base_type::construct;</a>
<a name="69"><span class="lineNum"> 69 </span> : : using _Base_type::destroy;</a>
<a name="70"><span class="lineNum"> 70 </span> : : using _Base_type::max_size;</a>
<a name="71"><span class="lineNum"> 71 </span> : : </a>
<a name="72"><span class="lineNum"> 72 </span> : : private:</a>
<a name="73"><span class="lineNum"> 73 </span> : : template&lt;typename _Ptr&gt;</a>
<a name="74"><span class="lineNum"> 74 </span> : : using __is_custom_pointer</a>
<a name="75"><span class="lineNum"> 75 </span> : : = std::__and_&lt;std::is_same&lt;pointer, _Ptr&gt;,</a>
<a name="76"><span class="lineNum"> 76 </span> : : std::__not_&lt;std::is_pointer&lt;_Ptr&gt;&gt;&gt;;</a>
<a name="77"><span class="lineNum"> 77 </span> : : </a>
<a name="78"><span class="lineNum"> 78 </span> : : public:</a>
<a name="79"><span class="lineNum"> 79 </span> : : // overload construct for non-standard pointer types</a>
<a name="80"><span class="lineNum"> 80 </span> : : template&lt;typename _Ptr, typename... _Args&gt;</a>
<a name="81"><span class="lineNum"> 81 </span> : : static typename std::enable_if&lt;__is_custom_pointer&lt;_Ptr&gt;::value&gt;::type</a>
<a name="82"><span class="lineNum"> 82 </span> : : construct(_Alloc&amp; __a, _Ptr __p, _Args&amp;&amp;... __args)</a>
<a name="83"><span class="lineNum"> 83 </span> : : noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),</a>
<a name="84"><span class="lineNum"> 84 </span> : : std::forward&lt;_Args&gt;(__args)...)))</a>
<a name="85"><span class="lineNum"> 85 </span> : : {</a>
<a name="86"><span class="lineNum"> 86 </span> : : _Base_type::construct(__a, std::__to_address(__p),</a>
<a name="87"><span class="lineNum"> 87 </span> : : std::forward&lt;_Args&gt;(__args)...);</a>
<a name="88"><span class="lineNum"> 88 </span> : : }</a>
<a name="89"><span class="lineNum"> 89 </span> : : </a>
<a name="90"><span class="lineNum"> 90 </span> : : // overload destroy for non-standard pointer types</a>
<a name="91"><span class="lineNum"> 91 </span> : : template&lt;typename _Ptr&gt;</a>
<a name="92"><span class="lineNum"> 92 </span> : : static typename std::enable_if&lt;__is_custom_pointer&lt;_Ptr&gt;::value&gt;::type</a>
<a name="93"><span class="lineNum"> 93 </span> : : destroy(_Alloc&amp; __a, _Ptr __p)</a>
<a name="94"><span class="lineNum"> 94 </span> : : noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))</a>
<a name="95"><span class="lineNum"> 95 </span> : : { _Base_type::destroy(__a, std::__to_address(__p)); }</a>
<a name="96"><span class="lineNum"> 96 </span> : : </a>
<a name="97"><span class="lineNum"> 97 </span> :<span class="lineNoCov"> 0 : static _Alloc _S_select_on_copy(const _Alloc&amp; __a)</span></a>
<a name="98"><span class="lineNum"> 98 </span> :<span class="lineNoCov"> 0 : { return _Base_type::select_on_container_copy_construction(__a); }</span></a>
<a name="99"><span class="lineNum"> 99 </span> : : </a>
<a name="100"><span class="lineNum"> 100 </span> : : static void _S_on_swap(_Alloc&amp; __a, _Alloc&amp; __b)</a>
<a name="101"><span class="lineNum"> 101 </span> : : { std::__alloc_on_swap(__a, __b); }</a>
<a name="102"><span class="lineNum"> 102 </span> : : </a>
<a name="103"><span class="lineNum"> 103 </span> : : static constexpr bool _S_propagate_on_copy_assign()</a>
<a name="104"><span class="lineNum"> 104 </span> : : { return _Base_type::propagate_on_container_copy_assignment::value; }</a>
<a name="105"><span class="lineNum"> 105 </span> : : </a>
<a name="106"><span class="lineNum"> 106 </span> : : static constexpr bool _S_propagate_on_move_assign()</a>
<a name="107"><span class="lineNum"> 107 </span> : : { return _Base_type::propagate_on_container_move_assignment::value; }</a>
<a name="108"><span class="lineNum"> 108 </span> : : </a>
<a name="109"><span class="lineNum"> 109 </span> : : static constexpr bool _S_propagate_on_swap()</a>
<a name="110"><span class="lineNum"> 110 </span> : : { return _Base_type::propagate_on_container_swap::value; }</a>
<a name="111"><span class="lineNum"> 111 </span> : : </a>
<a name="112"><span class="lineNum"> 112 </span> : : static constexpr bool _S_always_equal()</a>
<a name="113"><span class="lineNum"> 113 </span> : : { return _Base_type::is_always_equal::value; }</a>
<a name="114"><span class="lineNum"> 114 </span> : : </a>
<a name="115"><span class="lineNum"> 115 </span> : : static constexpr bool _S_nothrow_move()</a>
<a name="116"><span class="lineNum"> 116 </span> : : { return _S_propagate_on_move_assign() || _S_always_equal(); }</a>
<a name="117"><span class="lineNum"> 117 </span> : : </a>
<a name="118"><span class="lineNum"> 118 </span> : : template&lt;typename _Tp&gt;</a>
<a name="119"><span class="lineNum"> 119 </span> : : struct rebind</a>
<a name="120"><span class="lineNum"> 120 </span> : : { typedef typename _Base_type::template rebind_alloc&lt;_Tp&gt; other; };</a>
<a name="121"><span class="lineNum"> 121 </span> : : #else</a>
<a name="122"><span class="lineNum"> 122 </span> : : </a>
<a name="123"><span class="lineNum"> 123 </span> : : typedef typename _Alloc::pointer pointer;</a>
<a name="124"><span class="lineNum"> 124 </span> : : typedef typename _Alloc::const_pointer const_pointer;</a>
<a name="125"><span class="lineNum"> 125 </span> : : typedef typename _Alloc::value_type value_type;</a>
<a name="126"><span class="lineNum"> 126 </span> : : typedef typename _Alloc::reference reference;</a>
<a name="127"><span class="lineNum"> 127 </span> : : typedef typename _Alloc::const_reference const_reference;</a>
<a name="128"><span class="lineNum"> 128 </span> : : typedef typename _Alloc::size_type size_type;</a>
<a name="129"><span class="lineNum"> 129 </span> : : typedef typename _Alloc::difference_type difference_type;</a>
<a name="130"><span class="lineNum"> 130 </span> : : </a>
<a name="131"><span class="lineNum"> 131 </span> : : _GLIBCXX_NODISCARD static pointer</a>
<a name="132"><span class="lineNum"> 132 </span> : : allocate(_Alloc&amp; __a, size_type __n)</a>
<a name="133"><span class="lineNum"> 133 </span> : : { return __a.allocate(__n); }</a>
<a name="134"><span class="lineNum"> 134 </span> : : </a>
<a name="135"><span class="lineNum"> 135 </span> : : static void deallocate(_Alloc&amp; __a, pointer __p, size_type __n)</a>
<a name="136"><span class="lineNum"> 136 </span> : : { __a.deallocate(__p, __n); }</a>
<a name="137"><span class="lineNum"> 137 </span> : : </a>
<a name="138"><span class="lineNum"> 138 </span> : : template&lt;typename _Tp&gt;</a>
<a name="139"><span class="lineNum"> 139 </span> : : static void construct(_Alloc&amp; __a, pointer __p, const _Tp&amp; __arg)</a>
<a name="140"><span class="lineNum"> 140 </span> : : { __a.construct(__p, __arg); }</a>
<a name="141"><span class="lineNum"> 141 </span> : : </a>
<a name="142"><span class="lineNum"> 142 </span> : : static void destroy(_Alloc&amp; __a, pointer __p)</a>
<a name="143"><span class="lineNum"> 143 </span> : : { __a.destroy(__p); }</a>
<a name="144"><span class="lineNum"> 144 </span> : : </a>
<a name="145"><span class="lineNum"> 145 </span> : : static size_type max_size(const _Alloc&amp; __a)</a>
<a name="146"><span class="lineNum"> 146 </span> : : { return __a.max_size(); }</a>
<a name="147"><span class="lineNum"> 147 </span> : : </a>
<a name="148"><span class="lineNum"> 148 </span> : : static const _Alloc&amp; _S_select_on_copy(const _Alloc&amp; __a) { return __a; }</a>
<a name="149"><span class="lineNum"> 149 </span> : : </a>
<a name="150"><span class="lineNum"> 150 </span> : : static void _S_on_swap(_Alloc&amp; __a, _Alloc&amp; __b)</a>
<a name="151"><span class="lineNum"> 151 </span> : : {</a>
<a name="152"><span class="lineNum"> 152 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="153"><span class="lineNum"> 153 </span> : : // 431. Swapping containers with unequal allocators.</a>
<a name="154"><span class="lineNum"> 154 </span> : : std::__alloc_swap&lt;_Alloc&gt;::_S_do_it(__a, __b);</a>
<a name="155"><span class="lineNum"> 155 </span> : : }</a>
<a name="156"><span class="lineNum"> 156 </span> : : </a>
<a name="157"><span class="lineNum"> 157 </span> : : template&lt;typename _Tp&gt;</a>
<a name="158"><span class="lineNum"> 158 </span> : : struct rebind</a>
<a name="159"><span class="lineNum"> 159 </span> : : { typedef typename _Alloc::template rebind&lt;_Tp&gt;::other other; };</a>
<a name="160"><span class="lineNum"> 160 </span> : : #endif</a>
<a name="161"><span class="lineNum"> 161 </span> : : };</a>
<a name="162"><span class="lineNum"> 162 </span> : : </a>
<a name="163"><span class="lineNum"> 163 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="164"><span class="lineNum"> 164 </span> : : } // namespace __gnu_cxx</a>
<a name="165"><span class="lineNum"> 165 </span> : : </a>
<a name="166"><span class="lineNum"> 166 </span> : : #endif</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,131 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - ext</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">7</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="new_allocator.h.gcov.html">new_allocator.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="type_traits.h.gcov.html">type_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,131 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - ext</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">7</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="type_traits.h.gcov.html">type_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="new_allocator.h.gcov.html">new_allocator.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,131 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - ext</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">7</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><a href="index.html"><img src="../updown.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></a></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="type_traits.h.gcov.html">type_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="new_allocator.h.gcov.html">new_allocator.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,131 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - ext</td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">7</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">6</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="80%" cellpadding=1 cellspacing=1 border=0>
<tr>
<td width="44%"><br></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
<td width="8%"></td>
</tr>
<tr>
<td class="tableHead">Filename <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by name" title="Sort by name" border=0></span></td>
<td class="tableHead" colspan=3>Line Coverage <span class="tableHeadSort"><a href="index-sort-l.html"><img src="../updown.png" width=10 height=14 alt="Sort by line coverage" title="Sort by line coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Functions <span class="tableHeadSort"><a href="index-sort-f.html"><img src="../updown.png" width=10 height=14 alt="Sort by function coverage" title="Sort by function coverage" border=0></a></span></td>
<td class="tableHead" colspan=2>Branches <span class="tableHeadSort"><a href="index-sort-b.html"><img src="../updown.png" width=10 height=14 alt="Sort by branch coverage" title="Sort by branch coverage" border=0></a></span></td>
</tr>
<tr>
<td class="coverFile"><a href="alloc_traits.h.gcov.html">alloc_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 1</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="new_allocator.h.gcov.html">new_allocator.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 3</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
<tr>
<td class="coverFile"><a href="type_traits.h.gcov.html">type_traits.h</a></td>
<td class="coverBar" align="center">
<table border=0 cellspacing=0 cellpadding=1><tr><td class="coverBarOutline"><img src="../snow.png" width=100 height=10 alt="0.0%"></td></tr></table>
</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerLo">0.0&nbsp;%</td>
<td class="coverNumLo">0 / 2</td>
<td class="coverPerHi">-</td>
<td class="coverNumHi">0 / 0</td>
</tr>
</table>
</center>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,93 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/new_allocator.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - new_allocator.h<span style="font-size: 80%;"> (<a href="new_allocator.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><a href="new_allocator.h.func.html"><img src="../updown.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></a></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></span></td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#81">_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#78">_ZN9__gnu_cxx13new_allocatorIcEC2Ev</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#87">_ZN9__gnu_cxx13new_allocatorIcED2Ev</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,93 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/new_allocator.h - functions</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - new_allocator.h<span style="font-size: 80%;"> (<a href="new_allocator.h.gcov.html">source</a> / functions)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<center>
<table width="60%" cellpadding=1 cellspacing=1 border=0>
<tr><td><br></td></tr>
<tr>
<td width="80%" class="tableHead">Function Name <span class="tableHeadSort"><img src="../glass.png" width=10 height=14 alt="Sort by function name" title="Sort by function name" border=0></span></td>
<td width="20%" class="tableHead">Hit count <span class="tableHeadSort"><a href="new_allocator.h.func-sort-c.html"><img src="../updown.png" width=10 height=14 alt="Sort by hit count" title="Sort by hit count" border=0></a></span></td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#81">_ZN9__gnu_cxx13new_allocatorIcEC2ERKS1_</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#78">_ZN9__gnu_cxx13new_allocatorIcEC2Ev</a></td>
<td class="coverFnLo">0</td>
</tr>
<tr>
<td class="coverFn"><a href="new_allocator.h.gcov.html#87">_ZN9__gnu_cxx13new_allocatorIcED2Ev</a></td>
<td class="coverFnLo">0</td>
</tr>
</table>
<br>
</center>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

@ -1,265 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LCOV - test.info - ext/new_allocator.h</title>
<link rel="stylesheet" type="text/css" href="../gcov.css">
</head>
<body>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="title">LCOV - code coverage report</td></tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr>
<td width="100%">
<table cellpadding=1 border=0 width="100%">
<tr>
<td width="10%" class="headerItem">Current view:</td>
<td width="35%" class="headerValue"><a href="../index.html">top level</a> - <a href="index.html">ext</a> - new_allocator.h<span style="font-size: 80%;"> (source / <a href="new_allocator.h.func-sort-c.html">functions</a>)</span></td>
<td width="5%"></td>
<td width="15%"></td>
<td width="10%" class="headerCovTableHead">Hit</td>
<td width="10%" class="headerCovTableHead">Total</td>
<td width="15%" class="headerCovTableHead">Coverage</td>
</tr>
<tr>
<td class="headerItem">Test:</td>
<td class="headerValue">test.info</td>
<td></td>
<td class="headerItem">Lines:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td class="headerItem">Date:</td>
<td class="headerValue">2022-06-01 22:46:58</td>
<td></td>
<td class="headerItem">Functions:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">3</td>
<td class="headerCovTableEntryLo">0.0 %</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td class="headerItem">Branches:</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntry">0</td>
<td class="headerCovTableEntryHi">-</td>
</tr>
<tr><td><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
</td>
</tr>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
</table>
<table cellpadding=0 cellspacing=0 border=0>
<tr>
<td><br></td>
</tr>
<tr>
<td>
<pre class="sourceHeading"> Branch data Line data Source code</pre>
<pre class="source">
<a name="1"><span class="lineNum"> 1 </span> : : // Allocator that wraps operator new -*- C++ -*-</a>
<a name="2"><span class="lineNum"> 2 </span> : : </a>
<a name="3"><span class="lineNum"> 3 </span> : : // Copyright (C) 2001-2019 Free Software Foundation, Inc.</a>
<a name="4"><span class="lineNum"> 4 </span> : : //</a>
<a name="5"><span class="lineNum"> 5 </span> : : // This file is part of the GNU ISO C++ Library. This library is free</a>
<a name="6"><span class="lineNum"> 6 </span> : : // software; you can redistribute it and/or modify it under the</a>
<a name="7"><span class="lineNum"> 7 </span> : : // terms of the GNU General Public License as published by the</a>
<a name="8"><span class="lineNum"> 8 </span> : : // Free Software Foundation; either version 3, or (at your option)</a>
<a name="9"><span class="lineNum"> 9 </span> : : // any later version.</a>
<a name="10"><span class="lineNum"> 10 </span> : : </a>
<a name="11"><span class="lineNum"> 11 </span> : : // This library is distributed in the hope that it will be useful,</a>
<a name="12"><span class="lineNum"> 12 </span> : : // but WITHOUT ANY WARRANTY; without even the implied warranty of</a>
<a name="13"><span class="lineNum"> 13 </span> : : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</a>
<a name="14"><span class="lineNum"> 14 </span> : : // GNU General Public License for more details.</a>
<a name="15"><span class="lineNum"> 15 </span> : : </a>
<a name="16"><span class="lineNum"> 16 </span> : : // Under Section 7 of GPL version 3, you are granted additional</a>
<a name="17"><span class="lineNum"> 17 </span> : : // permissions described in the GCC Runtime Library Exception, version</a>
<a name="18"><span class="lineNum"> 18 </span> : : // 3.1, as published by the Free Software Foundation.</a>
<a name="19"><span class="lineNum"> 19 </span> : : </a>
<a name="20"><span class="lineNum"> 20 </span> : : // You should have received a copy of the GNU General Public License and</a>
<a name="21"><span class="lineNum"> 21 </span> : : // a copy of the GCC Runtime Library Exception along with this program;</a>
<a name="22"><span class="lineNum"> 22 </span> : : // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see</a>
<a name="23"><span class="lineNum"> 23 </span> : : // &lt;http://www.gnu.org/licenses/&gt;.</a>
<a name="24"><span class="lineNum"> 24 </span> : : </a>
<a name="25"><span class="lineNum"> 25 </span> : : /** @file ext/new_allocator.h</a>
<a name="26"><span class="lineNum"> 26 </span> : : * This file is a GNU extension to the Standard C++ Library.</a>
<a name="27"><span class="lineNum"> 27 </span> : : */</a>
<a name="28"><span class="lineNum"> 28 </span> : : </a>
<a name="29"><span class="lineNum"> 29 </span> : : #ifndef _NEW_ALLOCATOR_H</a>
<a name="30"><span class="lineNum"> 30 </span> : : #define _NEW_ALLOCATOR_H 1</a>
<a name="31"><span class="lineNum"> 31 </span> : : </a>
<a name="32"><span class="lineNum"> 32 </span> : : #include &lt;bits/c++config.h&gt;</a>
<a name="33"><span class="lineNum"> 33 </span> : : #include &lt;new&gt;</a>
<a name="34"><span class="lineNum"> 34 </span> : : #include &lt;bits/functexcept.h&gt;</a>
<a name="35"><span class="lineNum"> 35 </span> : : #include &lt;bits/move.h&gt;</a>
<a name="36"><span class="lineNum"> 36 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="37"><span class="lineNum"> 37 </span> : : #include &lt;type_traits&gt;</a>
<a name="38"><span class="lineNum"> 38 </span> : : #endif</a>
<a name="39"><span class="lineNum"> 39 </span> : : </a>
<a name="40"><span class="lineNum"> 40 </span> : : namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)</a>
<a name="41"><span class="lineNum"> 41 </span> : : {</a>
<a name="42"><span class="lineNum"> 42 </span> : : _GLIBCXX_BEGIN_NAMESPACE_VERSION</a>
<a name="43"><span class="lineNum"> 43 </span> : : </a>
<a name="44"><span class="lineNum"> 44 </span> : : using std::size_t;</a>
<a name="45"><span class="lineNum"> 45 </span> : : using std::ptrdiff_t;</a>
<a name="46"><span class="lineNum"> 46 </span> : : </a>
<a name="47"><span class="lineNum"> 47 </span> : : /**</a>
<a name="48"><span class="lineNum"> 48 </span> : : * @brief An allocator that uses global new, as per [20.4].</a>
<a name="49"><span class="lineNum"> 49 </span> : : * @ingroup allocators</a>
<a name="50"><span class="lineNum"> 50 </span> : : *</a>
<a name="51"><span class="lineNum"> 51 </span> : : * This is precisely the allocator defined in the C++ Standard.</a>
<a name="52"><span class="lineNum"> 52 </span> : : * - all allocation calls operator new</a>
<a name="53"><span class="lineNum"> 53 </span> : : * - all deallocation calls operator delete</a>
<a name="54"><span class="lineNum"> 54 </span> : : *</a>
<a name="55"><span class="lineNum"> 55 </span> : : * @tparam _Tp Type of allocated object.</a>
<a name="56"><span class="lineNum"> 56 </span> : : */</a>
<a name="57"><span class="lineNum"> 57 </span> : : template&lt;typename _Tp&gt;</a>
<a name="58"><span class="lineNum"> 58 </span> : : class new_allocator</a>
<a name="59"><span class="lineNum"> 59 </span> : : {</a>
<a name="60"><span class="lineNum"> 60 </span> : : public:</a>
<a name="61"><span class="lineNum"> 61 </span> : : typedef size_t size_type;</a>
<a name="62"><span class="lineNum"> 62 </span> : : typedef ptrdiff_t difference_type;</a>
<a name="63"><span class="lineNum"> 63 </span> : : typedef _Tp* pointer;</a>
<a name="64"><span class="lineNum"> 64 </span> : : typedef const _Tp* const_pointer;</a>
<a name="65"><span class="lineNum"> 65 </span> : : typedef _Tp&amp; reference;</a>
<a name="66"><span class="lineNum"> 66 </span> : : typedef const _Tp&amp; const_reference;</a>
<a name="67"><span class="lineNum"> 67 </span> : : typedef _Tp value_type;</a>
<a name="68"><span class="lineNum"> 68 </span> : : </a>
<a name="69"><span class="lineNum"> 69 </span> : : template&lt;typename _Tp1&gt;</a>
<a name="70"><span class="lineNum"> 70 </span> : : struct rebind</a>
<a name="71"><span class="lineNum"> 71 </span> : : { typedef new_allocator&lt;_Tp1&gt; other; };</a>
<a name="72"><span class="lineNum"> 72 </span> : : </a>
<a name="73"><span class="lineNum"> 73 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="74"><span class="lineNum"> 74 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="75"><span class="lineNum"> 75 </span> : : // 2103. propagate_on_container_move_assignment</a>
<a name="76"><span class="lineNum"> 76 </span> : : typedef std::true_type propagate_on_container_move_assignment;</a>
<a name="77"><span class="lineNum"> 77 </span> : : #endif</a>
<a name="78"><span class="lineNum"> 78 </span> : : </a>
<a name="79"><span class="lineNum"> 79 </span> : : _GLIBCXX20_CONSTEXPR</a>
<a name="80"><span class="lineNum"> 80 </span> :<span class="lineNoCov"> 0 : new_allocator() _GLIBCXX_USE_NOEXCEPT { }</span></a>
<a name="81"><span class="lineNum"> 81 </span> : : </a>
<a name="82"><span class="lineNum"> 82 </span> : : _GLIBCXX20_CONSTEXPR</a>
<a name="83"><span class="lineNum"> 83 </span> :<span class="lineNoCov"> 0 : new_allocator(const new_allocator&amp;) _GLIBCXX_USE_NOEXCEPT { }</span></a>
<a name="84"><span class="lineNum"> 84 </span> : : </a>
<a name="85"><span class="lineNum"> 85 </span> : : template&lt;typename _Tp1&gt;</a>
<a name="86"><span class="lineNum"> 86 </span> : : _GLIBCXX20_CONSTEXPR</a>
<a name="87"><span class="lineNum"> 87 </span> : : new_allocator(const new_allocator&lt;_Tp1&gt;&amp;) _GLIBCXX_USE_NOEXCEPT { }</a>
<a name="88"><span class="lineNum"> 88 </span> : : </a>
<a name="89"><span class="lineNum"> 89 </span> :<span class="lineNoCov"> 0 : ~new_allocator() _GLIBCXX_USE_NOEXCEPT { }</span></a>
<a name="90"><span class="lineNum"> 90 </span> : : </a>
<a name="91"><span class="lineNum"> 91 </span> : : pointer</a>
<a name="92"><span class="lineNum"> 92 </span> : : address(reference __x) const _GLIBCXX_NOEXCEPT</a>
<a name="93"><span class="lineNum"> 93 </span> : : { return std::__addressof(__x); }</a>
<a name="94"><span class="lineNum"> 94 </span> : : </a>
<a name="95"><span class="lineNum"> 95 </span> : : const_pointer</a>
<a name="96"><span class="lineNum"> 96 </span> : : address(const_reference __x) const _GLIBCXX_NOEXCEPT</a>
<a name="97"><span class="lineNum"> 97 </span> : : { return std::__addressof(__x); }</a>
<a name="98"><span class="lineNum"> 98 </span> : : </a>
<a name="99"><span class="lineNum"> 99 </span> : : // NB: __n is permitted to be 0. The C++ standard says nothing</a>
<a name="100"><span class="lineNum"> 100 </span> : : // about what the return value is when __n == 0.</a>
<a name="101"><span class="lineNum"> 101 </span> : : _GLIBCXX_NODISCARD pointer</a>
<a name="102"><span class="lineNum"> 102 </span> : : allocate(size_type __n, const void* = static_cast&lt;const void*&gt;(0))</a>
<a name="103"><span class="lineNum"> 103 </span> : : {</a>
<a name="104"><span class="lineNum"> 104 </span> : : if (__n &gt; this-&gt;max_size())</a>
<a name="105"><span class="lineNum"> 105 </span> : : std::__throw_bad_alloc();</a>
<a name="106"><span class="lineNum"> 106 </span> : : </a>
<a name="107"><span class="lineNum"> 107 </span> : : #if __cpp_aligned_new</a>
<a name="108"><span class="lineNum"> 108 </span> : : if (alignof(_Tp) &gt; __STDCPP_DEFAULT_NEW_ALIGNMENT__)</a>
<a name="109"><span class="lineNum"> 109 </span> : : {</a>
<a name="110"><span class="lineNum"> 110 </span> : : std::align_val_t __al = std::align_val_t(alignof(_Tp));</a>
<a name="111"><span class="lineNum"> 111 </span> : : return static_cast&lt;_Tp*&gt;(::operator new(__n * sizeof(_Tp), __al));</a>
<a name="112"><span class="lineNum"> 112 </span> : : }</a>
<a name="113"><span class="lineNum"> 113 </span> : : #endif</a>
<a name="114"><span class="lineNum"> 114 </span> : : return static_cast&lt;_Tp*&gt;(::operator new(__n * sizeof(_Tp)));</a>
<a name="115"><span class="lineNum"> 115 </span> : : }</a>
<a name="116"><span class="lineNum"> 116 </span> : : </a>
<a name="117"><span class="lineNum"> 117 </span> : : // __p is not permitted to be a null pointer.</a>
<a name="118"><span class="lineNum"> 118 </span> : : void</a>
<a name="119"><span class="lineNum"> 119 </span> : : deallocate(pointer __p, size_type)</a>
<a name="120"><span class="lineNum"> 120 </span> : : {</a>
<a name="121"><span class="lineNum"> 121 </span> : : #if __cpp_aligned_new</a>
<a name="122"><span class="lineNum"> 122 </span> : : if (alignof(_Tp) &gt; __STDCPP_DEFAULT_NEW_ALIGNMENT__)</a>
<a name="123"><span class="lineNum"> 123 </span> : : {</a>
<a name="124"><span class="lineNum"> 124 </span> : : ::operator delete(__p, std::align_val_t(alignof(_Tp)));</a>
<a name="125"><span class="lineNum"> 125 </span> : : return;</a>
<a name="126"><span class="lineNum"> 126 </span> : : }</a>
<a name="127"><span class="lineNum"> 127 </span> : : #endif</a>
<a name="128"><span class="lineNum"> 128 </span> : : ::operator delete(__p);</a>
<a name="129"><span class="lineNum"> 129 </span> : : }</a>
<a name="130"><span class="lineNum"> 130 </span> : : </a>
<a name="131"><span class="lineNum"> 131 </span> : : size_type</a>
<a name="132"><span class="lineNum"> 132 </span> : : max_size() const _GLIBCXX_USE_NOEXCEPT</a>
<a name="133"><span class="lineNum"> 133 </span> : : {</a>
<a name="134"><span class="lineNum"> 134 </span> : : #if __PTRDIFF_MAX__ &lt; __SIZE_MAX__</a>
<a name="135"><span class="lineNum"> 135 </span> : : return size_t(__PTRDIFF_MAX__) / sizeof(_Tp);</a>
<a name="136"><span class="lineNum"> 136 </span> : : #else</a>
<a name="137"><span class="lineNum"> 137 </span> : : return size_t(-1) / sizeof(_Tp);</a>
<a name="138"><span class="lineNum"> 138 </span> : : #endif</a>
<a name="139"><span class="lineNum"> 139 </span> : : }</a>
<a name="140"><span class="lineNum"> 140 </span> : : </a>
<a name="141"><span class="lineNum"> 141 </span> : : #if __cplusplus &gt;= 201103L</a>
<a name="142"><span class="lineNum"> 142 </span> : : template&lt;typename _Up, typename... _Args&gt;</a>
<a name="143"><span class="lineNum"> 143 </span> : : void</a>
<a name="144"><span class="lineNum"> 144 </span> : : construct(_Up* __p, _Args&amp;&amp;... __args)</a>
<a name="145"><span class="lineNum"> 145 </span> : : noexcept(std::is_nothrow_constructible&lt;_Up, _Args...&gt;::value)</a>
<a name="146"><span class="lineNum"> 146 </span> : : { ::new((void *)__p) _Up(std::forward&lt;_Args&gt;(__args)...); }</a>
<a name="147"><span class="lineNum"> 147 </span> : : </a>
<a name="148"><span class="lineNum"> 148 </span> : : template&lt;typename _Up&gt;</a>
<a name="149"><span class="lineNum"> 149 </span> : : void</a>
<a name="150"><span class="lineNum"> 150 </span> : : destroy(_Up* __p)</a>
<a name="151"><span class="lineNum"> 151 </span> : : noexcept(std::is_nothrow_destructible&lt;_Up&gt;::value)</a>
<a name="152"><span class="lineNum"> 152 </span> : : { __p-&gt;~_Up(); }</a>
<a name="153"><span class="lineNum"> 153 </span> : : #else</a>
<a name="154"><span class="lineNum"> 154 </span> : : // _GLIBCXX_RESOLVE_LIB_DEFECTS</a>
<a name="155"><span class="lineNum"> 155 </span> : : // 402. wrong new expression in [some_] allocator::construct</a>
<a name="156"><span class="lineNum"> 156 </span> : : void</a>
<a name="157"><span class="lineNum"> 157 </span> : : construct(pointer __p, const _Tp&amp; __val)</a>
<a name="158"><span class="lineNum"> 158 </span> : : { ::new((void *)__p) _Tp(__val); }</a>
<a name="159"><span class="lineNum"> 159 </span> : : </a>
<a name="160"><span class="lineNum"> 160 </span> : : void</a>
<a name="161"><span class="lineNum"> 161 </span> : : destroy(pointer __p) { __p-&gt;~_Tp(); }</a>
<a name="162"><span class="lineNum"> 162 </span> : : #endif</a>
<a name="163"><span class="lineNum"> 163 </span> : : </a>
<a name="164"><span class="lineNum"> 164 </span> : : template&lt;typename _Up&gt;</a>
<a name="165"><span class="lineNum"> 165 </span> : : friend bool</a>
<a name="166"><span class="lineNum"> 166 </span> : : operator==(const new_allocator&amp;, const new_allocator&lt;_Up&gt;&amp;)</a>
<a name="167"><span class="lineNum"> 167 </span> : : _GLIBCXX_NOTHROW</a>
<a name="168"><span class="lineNum"> 168 </span> : : { return true; }</a>
<a name="169"><span class="lineNum"> 169 </span> : : </a>
<a name="170"><span class="lineNum"> 170 </span> : : template&lt;typename _Up&gt;</a>
<a name="171"><span class="lineNum"> 171 </span> : : friend bool</a>
<a name="172"><span class="lineNum"> 172 </span> : : operator!=(const new_allocator&amp;, const new_allocator&lt;_Up&gt;&amp;)</a>
<a name="173"><span class="lineNum"> 173 </span> : : _GLIBCXX_NOTHROW</a>
<a name="174"><span class="lineNum"> 174 </span> : : { return false; }</a>
<a name="175"><span class="lineNum"> 175 </span> : : };</a>
<a name="176"><span class="lineNum"> 176 </span> : : </a>
<a name="177"><span class="lineNum"> 177 </span> : : _GLIBCXX_END_NAMESPACE_VERSION</a>
<a name="178"><span class="lineNum"> 178 </span> : : } // namespace</a>
<a name="179"><span class="lineNum"> 179 </span> : : </a>
<a name="180"><span class="lineNum"> 180 </span> : : #endif</a>
</pre>
</td>
</tr>
</table>
<br>
<table width="100%" border=0 cellspacing=0 cellpadding=0>
<tr><td class="ruler"><img src="../glass.png" width=3 height=3 alt=""></td></tr>
<tr><td class="versionInfo">Generated by: <a href="http://ltp.sourceforge.net/coverage/lcov.php" target="_parent">LCOV version 1.14</a></td></tr>
</table>
<br>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save