diff options
author | khodyrev <khodyrev@yandex-team.ru> | 2022-02-10 16:49:29 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:29 +0300 |
commit | 47c1310af4978d726db4670c6828c59fadb89c1b (patch) | |
tree | a9642abe74ef10ddf159eec792f844ddfa39f130 | |
parent | b93b3eb857a34bc32cef3c1b0c709e8365253b34 (diff) | |
download | ydb-47c1310af4978d726db4670c6828c59fadb89c1b.tar.gz |
Restoring authorship annotation for <khodyrev@yandex-team.ru>. Commit 1 of 2.
-rwxr-xr-x | build/ymake_conf.py | 4 | ||||
-rw-r--r-- | library/cpp/binsaver/bin_saver.h | 8 | ||||
-rw-r--r-- | util/generic/typetraits.h | 46 |
3 files changed, 29 insertions, 29 deletions
diff --git a/build/ymake_conf.py b/build/ymake_conf.py index 30219eb85e..0474349489 100755 --- a/build/ymake_conf.py +++ b/build/ymake_conf.py @@ -2530,7 +2530,7 @@ class MSVCCompiler(MSVC, Compiler): flags_debug += ['/MTd'] flags_release += ['/MT'] - vc_include = os.path.join(self.tc.vc_root, 'include') if not self.tc.ide_msvs else "$(VC_VC_IncludePath.Split(';')[0].Replace('\\','/'))" + vc_include = os.path.join(self.tc.vc_root, 'include') if not self.tc.ide_msvs else "$(VC_VC_IncludePath.Split(';')[0].Replace('\\','/'))" if not self.tc.ide_msvs: def include_flag(path): @@ -2581,7 +2581,7 @@ class MSVCCompiler(MSVC, Compiler): append('BC_CFLAGS', '$CFLAGS') append('BC_CXXFLAGS', '$BC_CFLAGS', '$CXXFLAGS') - ucrt_include = os.path.join(self.tc.kit_includes, 'ucrt') if not self.tc.ide_msvs else "$(UniversalCRT_IncludePath.Split(';')[0].Replace('\\','/'))" + ucrt_include = os.path.join(self.tc.kit_includes, 'ucrt') if not self.tc.ide_msvs else "$(UniversalCRT_IncludePath.Split(';')[0].Replace('\\','/'))" # clang-cl has '#include_next', and MSVC hasn't. It needs separately specified CRT and VC include directories for libc++ to include second in order standard C and C++ headers. if not self.tc.use_clang: diff --git a/library/cpp/binsaver/bin_saver.h b/library/cpp/binsaver/bin_saver.h index 412424889f..186ffc5567 100644 --- a/library/cpp/binsaver/bin_saver.h +++ b/library/cpp/binsaver/bin_saver.h @@ -603,10 +603,10 @@ struct TRegisterSaveLoadType { BASIC_REGISTER_CLASS(nmspace::className) \ static TRegisterSaveLoadType<nmspace::className> init_##nmspace##_##name##N(N); -#define REGISTER_SAVELOAD_NM2_CLASS(N, nmspace1, nmspace2, className) \ - BASIC_REGISTER_CLASS(nmspace1::nmspace2::className) \ - static TRegisterSaveLoadType<nmspace1::nmspace2::className> init_##nmspace1##_##nmspace2##_##name##N(N); - +#define REGISTER_SAVELOAD_NM2_CLASS(N, nmspace1, nmspace2, className) \ + BASIC_REGISTER_CLASS(nmspace1::nmspace2::className) \ + static TRegisterSaveLoadType<nmspace1::nmspace2::className> init_##nmspace1##_##nmspace2##_##name##N(N); + #define REGISTER_SAVELOAD_TEMPL1_NM_CLASS(N, nmspace, className, T) \ typedef nmspace::className<T> temp_init##nmspace##className##T##temp; \ BASIC_REGISTER_CLASS(nmspace::className<T>) \ diff --git a/util/generic/typetraits.h b/util/generic/typetraits.h index d165bd1a06..6b8dcfb12c 100644 --- a/util/generic/typetraits.h +++ b/util/generic/typetraits.h @@ -8,21 +8,21 @@ #include <type_traits> #include <stlfwd> -#if _LIBCPP_STD_VER >= 17 -template <bool B> -using TBoolConstant = std::bool_constant<B>; -#else +#if _LIBCPP_STD_VER >= 17 template <bool B> +using TBoolConstant = std::bool_constant<B>; +#else +template <bool B> struct TBoolConstant: std::integral_constant<bool, B> {}; -#endif +#endif -#if _LIBCPP_STD_VER >= 17 -template <class B> -using TNegation = std::negation<B>; -#else +#if _LIBCPP_STD_VER >= 17 template <class B> +using TNegation = std::negation<B>; +#else +template <class B> struct TNegation: ::TBoolConstant<!bool(B::value)> {}; -#endif +#endif namespace NPrivate { template <class... Bs> @@ -51,30 +51,30 @@ namespace NPrivate { #if _LIBCPP_STD_VER >= 17 && !defined(_MSC_VER) // Disable std::conjunction for MSVC by analogy with std::disjunction. template <class... Bs> -using TConjunction = std::conjunction<Bs...>; -#else -template <class... Bs> +using TConjunction = std::conjunction<Bs...>; +#else +template <class... Bs> struct TConjunction: ::TBoolConstant<::NPrivate::ConjunctionImpl<Bs...>()> {}; -#endif +#endif #if _LIBCPP_STD_VER >= 17 && !defined(_MSC_VER) // Disable std::disjunction for MSVC. // It reduces build time (500 -> 20 seconds) and memory consumption (20 GB -> less than 1 GB) // for some files (notably search/dssm_boosting/dssm_boosting_calcer.cpp). template <class... Bs> -using TDisjunction = std::disjunction<Bs...>; -#else -template <class... Bs> +using TDisjunction = std::disjunction<Bs...>; +#else +template <class... Bs> struct TDisjunction: ::TBoolConstant<::NPrivate::DisjunctionImpl<Bs...>()> {}; -#endif +#endif -#if _LIBCPP_STD_VER >= 17 -template <class... Bs> -using TVoidT = std::void_t<Bs...>; -#else +#if _LIBCPP_STD_VER >= 17 +template <class... Bs> +using TVoidT = std::void_t<Bs...>; +#else template <class...> using TVoidT = void; -#endif +#endif template <class T> struct TPodTraits { |