summaryrefslogtreecommitdiffstats
path: root/util/generic
Commit message (Collapse)AuthorAgeFilesLines
* is_constructible_v for Make-ptrs functions (without MakeHolder)ilnurkh2 days1-3/+3
| | | | commit_hash:bbae3f9fc58d05f98cd441f78cf58ebace8ee465
* is_constructible_v check for TMaybe::emplace methodsilnurkh6 days1-4/+4
| | | | commit_hash:d08428835a793ed8f62b2833dc4d53e433226f4b
* Y_LIFETIME_BOUND for TMaybe-emplace methodsilnurkh7 days2-4/+10
| | | | commit_hash:5f04d6a91faac7a08c1858e1d942352a1154c11f
* Add GetOrEmplace for TMaybeilnurkh8 days1-0/+22
| | | | commit_hash:3e9ec510809df7c44c56a28e1795cb6363d54e9f
* Check element size for other TArrayRef constructors, not only from Containerakhropov12 days2-5/+57
| | | | commit_hash:a53c0e1509e346d4e39464430ba21c3595315734
* Annotate 'ysize' as deprecated.akhropov2025-10-145-0/+5
| | | | commit_hash:2f5a44083a78a69d4d717b90d401af6f017e990d
* Use CameCase for static constantsmikhnenko2025-10-101-2/+2
| | | | commit_hash:fc23ef3f9e711cdb0253f459d0a3ecc82c0a882c
* Correct grammarakhropov2025-10-061-2/+2
| | | | commit_hash:44304dc1e157320ff3e9c4026dabc8609c04ef04
* Intermediate changesrobot-piglet2025-10-031-1/+5
| | | | commit_hash:86194fc61838b6eca04dee924d646ca679907fbc
* Visit -> std::visit in documentation as well.akhropov2025-10-021-3/+3
| | | | commit_hash:cabbe1fff9c8d37ce2ee165b5f9aeb0cd27ba383
* Fix naming reported by clang-tidymikhnenko2025-10-012-9/+9
| | | | commit_hash:4c9065f19b98cd54fb2a25a3aec88f682420ba9b
* Fix `-Wignored-qualifiers` improved in clang20 in utilmikhnenko2025-09-131-1/+1
| | | | | Fix errors from [here](https://nda.ya.ru/t/6hgrAk757JpcZP commit_hash:46e426f3170c5b9881f552314f602e57662334a6
* no COW mode for TStringpg2025-09-091-0/+20
| | | | commit_hash:cac5390ad9d9bc5822ca2f6ebd362a55d4190759
* Add forward-declaration of TBlob to util/generic/fwd.hthegeorg2025-08-221-0/+2
| | | | | While the class itself it defined in `util/memory/blob.h`, it seems better to reuse an existing `fwd.h` rather than creating a new one. commit_hash:3e373ab68ced34c709ee12e3ce5b544376ac8417
* Don't use deprecated literal operatornamorniradnug2025-08-201-13/+13
| | | | | | Newer clang versions produce the `deprecated-literal-operator` warning. See https://reviews.llvm.org/D152632 and https://wg21.link/CWG2521. commit_hash:52ebdc26dfe511681a1d73f24a8ba96592bb1b47
* Intermediate changesrobot-piglet2025-06-231-7/+13
| | | | commit_hash:2cae4f8b8ad560eb417e09ac5ff75d2c9df3cb59
* Add TUniqueTypeList and NTL::TUniqueyurial2025-06-222-0/+41
| | | | | Позволяет получить TTypeList с уникальными типами. commit_hash:589914da95d44bdc457d7e4341e4a377df2da2b8
* Add TMultiHashMap::node_allocator_typesergey-tiunov2025-06-111-0/+1
| | | | | Добавляем `TMultiHashMap::node_allocator_type` по аналогии с [THashMap::node_allocator_type](https://a.yandex-team.ru/arcadia/util/generic/hash.h?rev=rXXXXXX#L19), чтобы вычислять объем занимаемой памяти объектов `TMultiHashMap`. commit_hash:49c8bbcd57ac8292ff1fffa7b59e45fdd88c3278
* [util] the THashSet::operator== must compare elements using their comparison ↵swarmer2025-06-083-9/+111
| | | | | | | | | | | | | operators. The C++ standard describes the requirements for comparing unordered containers in [unord.req.general]: > Two unordered containers a and b compare equal if a.size() == b.size() and, > for every equivalent-key group [Ea1, Ea2) obtained from a.equal_range(Ea1), > there exists an equivalent-key group [Eb1, Eb2) obtained from b.equal_range(Ea1), > such that is_permutation(Ea1, Ea2, Eb1, Eb2) returns true. THashSet should use the same comparison logic. commit_hash:b897cd7387d275324bb22268d0be79da4e74bf16
* adding the required includes, which were previously only available ↵swarmer2025-05-302-0/+3
| | | | | | transitively via the JOIN_SRCS macro commit_hash:9769490daa4d0e88eaf1b4147ccc961be6031d04
* remove unused includestobo2025-05-212-7/+2
| | | | commit_hash:1853234e3cc2386843bcb3c973f43778e813efeb
* GetRef in TPointerCommonilnurkh2025-04-253-0/+50
| | | | commit_hash:4149625a81c51af40642fe498a887608cc57305f
* Intermediate changesrobot-piglet2025-04-241-1/+3
| | | | commit_hash:ae46d476745bcde01f2465ccfec1ae45e8d29d1e
* Fix grammarakhropov2025-03-281-2/+2
| | | | commit_hash:acff119fbd5252738b5c3a948a428b3cb2a36801
* Merge yexception.h and bt_exception.h to prevent include cyclethegeorg2025-03-285-32/+20
| | | | commit_hash:4a6a74639669cf2836dedbc7b61efb1f43faef1f
* Move TCowString to librarymikhnenko2025-03-272-8/+3
| | | | commit_hash:a86d9f2d841389cbec73f6976d4a0f78fc152116
* Added SafeCastToEnumkshalnev2025-03-275-0/+138
| | | | commit_hash:44102d9b2c000eefdfd91997a40a055b29d647c7
* [util] SafeIntegerCast: make fast path slightly faster & reduce code sizeswarmer2025-03-261-10/+13
| | | | commit_hash:8adef8417b7bb90754f71cf0a5be075dee84a718
* Fix Y_LIFETIMEBOUND placement in TArrayRef ctorvadim-xd2025-03-201-1/+1
| | | | | | | | | | | | | | | Detected by clang 20 ```cpp struct TFoo { const int X[10]; }; void Foo() { TArrayRef<const int> a{TFoo{}.X}; // error } ``` commit_hash:299f849c2d3cc640866eee3ff82be37f624ac70d
* remove Y_STRING_LIFETIME_BOUNDtazjin2025-03-121-18/+0
| | | | | | | This macro was previously used to conditionally toggle `lifetimebound` for `TString`-related functions which took its copy-on-write behaviour into account. As of rXXXXXX this is no longer used. commit_hash:93ac110d46ffbe59751c2cecc685b9838bba42b4
* check lifetimes of TStringBuf constructed from TString without taking into ↵swarmer2025-03-111-1/+1
| | | | | | | | | | | | | account copy-on-write semantics `TString` is a copy-on-write type, which means that in some cases the valid lifetime of its data might extend beyond the lifetime of an individual `TString` (if it was copied). However, there are practically no cases where this behaviour is appropriate, and leaving around an "owning" `TString` is undesirable. Due to this behaviour we have previously refrained from enabling `[[clang::lifetimebound]]` for `TStringBuf` constructors, because some cases of view construction from a temporary `TString` were in fact valid. This commit enables the check, as all existing related bugs in Arcadia have been fixed. Please see the related ticket and the announcement on Этушка (link will be in the post-commit comments) for more information. commit_hash:b2b6831ac3106a4e76064b85ec2d748b415ed67c
* clang-format 18 in STYLE_CPPalevitskii2025-01-204-6/+6
| | | | | clang-format 18 in STYLE\_CPP commit_hash:e2018ac17a95817f09e131ee6d5316b2bdc2d39e
* Intermediate changesrobot-piglet2025-01-031-2/+2
| | | | commit_hash:150f0a7b765d0ba270d9e42834bcf4c074ca0524
* Do not yield GLOBAL define regarding current C++ runtimethegeorg2025-01-031-1/+2
| | | | | | This codesearch query yields all the results (i. e. only `yexception_ut.cpp` depends on this define): HIDDEN_URL commit_hash:9cac855ba71451e3691fc514a5a423173c3a8aae
* Remove non-existing functions.akhropov2024-12-244-21/+2
| | | | commit_hash:ff6e98554280ce1c021da5272fde9421374a643d
* Add using for TCowStringmikhnenko2024-12-221-0/+3
| | | | commit_hash:4173484eaeb8e4dd6ea84e26ae7f496e35785564
* Add assertions for range bounds validityakhropov2024-12-185-6/+22
| | | | commit_hash:4417c6200b3fc4e3e6e61648412d263366935fdf
* Remove std::nullptr_t ctor for TStringdgolear2024-12-093-7/+4
| | | | commit_hash:6b02e6cb83bde366477f7d53b6cd6c00bffdb4d6
* More functions marked as noexcept.akhropov2024-11-301-7/+7
| | | | commit_hash:61b2ca8fab66696aade476173e07001d1b886b5e
* removed redundant code after CTAD c++-17 featurevtrunov2024-11-281-8/+1
| | | | commit_hash:6f4c98369177b376ac1c9dfba18ee5464c558c95
* Remove noexcept from operator== because it is not guaranteed that operator== ↵akhropov2024-11-281-1/+1
| | | | | | for elements is noexcept. commit_hash:2457980ced7a2f91cefec1ea20ff13bfb5c7c2cf
* Add assert to front()akhropov2024-11-281-0/+2
| | | | commit_hash:b46dfbc7a684061be1b6e3eca5d7e312ff3e71f4
* Remove TRbTree and TAvlTree from forward declarations as they are not in utilakhropov2024-11-211-6/+0
| | | | commit_hash:7f3c30234700758cc6218bdef0fa2e6862f2c32e
* Part of PR. Stylenae2022024-11-207-97/+181
| | | | | Часть большого ПР REVIEW:7264088 commit_hash:0f5b03fbbed0ac30f734943309e3ef5cd4d7a30e
* Remove methods Data, Size, Empty from TStringmikhnenko2024-11-061-0/+4
| | | | | | | If this pr has broken something, try using the methods named with a small letter \[nodiff:caesar\] commit_hash:c08a737938cff39577c6e47d4434531f6355e4c2
* add ::element_type, .get() to smart pointers for better compatibility with stdpavook2024-11-042-0/+75
| | | | | For example, this makes it possible to use gtest pointer matchers on smart pointers commit_hash:2650074ae18ee35696b297d3d1f0393e7350789f
* [util] migrate to STYLE_CPPalevitskii2024-10-281-0/+2
| | | | | | | | | | | (HIDDEN_URL \[util\] migrate to STYLE_CPP В рамках работы над линтерной моделью мигрируем на новый макрос [`STYLE_CPP`](HIDDEN_URL в связке с механизмом автоинклудов. Цели для линтинга теперь берутся из макроса `SRCS`. Пути к заголовочным файлам, расположенным не в одном каталоге с `ya.make`, рекомендуется явно перечислять в `SRCS` или воспользоваться макросом [`HEADERS`](HIDDEN_URL Механизм работы автоинклудов описан в документации, см. примечание <HIDDEN_URL> commit_hash:eb991ca8cfe26bf83871579225303c1b93c2e85c
* Remove static method max_size from TStringmikhnenko2024-10-251-1/+1
| | | | commit_hash:c6fad0009855affb407cba47af8ea60ca834a890
* remove unused includes in util/generic/string.htobo2024-10-171-2/+1
| | | | commit_hash:edd5ed00db3a4c6090c535fa406f184268188733
* nodiscard attribute for the TReserveTagswarmer2024-10-161-1/+1
| | | | commit_hash:cb3317dd036b226397730ad8c04a5f1a22f0b164