summaryrefslogtreecommitdiffstats
path: root/util/generic
Commit message (Collapse)AuthorAgeFilesLines
* Fix and enhance documentation comments in utilakhropov2026-06-052-2/+2
| | | | commit_hash:e121f7c48f58baff0e3690d60194525c2bfca083
* Documentation comments: fix for 'subspan', add for 'Slice'akhropov2026-06-011-2/+17
| | | | commit_hash:678331261f55d56d7af4534c58ec675a1465d2cc
* Add missed parameter direction marksakhropov2026-05-311-3/+3
| | | | commit_hash:df8709e8a5788ade1ad3b5f18c09b989296eb899
* Add Concat for arbitrary string typesvadim-xd2026-05-191-36/+40
| | | | commit_hash:b9f1c87173a18fb59f8cf684191efd4436dd6012
* Fix description: function -> body blockakhropov2026-04-211-2/+2
| | | | commit_hash:a4449ed4850ea3acd49ac3b7eb51fd5f04905285
* allow NTL::TConcat to concatenate more than two listsswarmer2026-03-022-1/+24
| | | | commit_hash:4a7ae26132b5605dfc289d75b3adc330ab842fd3
* YQL-20095: Ignore modernize-avoid-c-arraysvitya-smirnov2026-02-171-1/+1
| | | | | | | Clang Tidy complains on a c-array usage, expanded from the macro, but I do not think, that it is really worth to `#include <array>` here. commit_hash:ca9d60f11175812b74534833a5d7bb59b3b547d2
* YQL-20095: Use explicit at Y_HAS_MEMBERvitya-smirnov2026-01-231-1/+1
| | | | | | | | | We wish to enable the `google-explicit-constructor` check, which complains on `Y_HAS_MEMBER` usages, because of an implicit constructor at a class, generated by a macro. Related PR: https://nda.ya.ru/t/BJpRlItb7SXx5M commit_hash:1f1ceed3cf4dea48a0f9ac96bd4f6a813e3d835c
* TString::contains + tests, TStringBuf::contains tests, macro to enable EBOpechatnov2026-01-134-1/+44
| | | | commit_hash:221422cb861ba9db0ce508ea1114d3d44a5e37c7
* std::string transparency for TEqualTo, TLess, TGreaterpechatnov2025-12-301-0/+17
| | | | commit_hash:688a0a61e302256fb0c08efec7f4200aaeaf4b04
* Add TBuffer::AsString(std::string&)pechatnov2025-12-263-0/+24
| | | | commit_hash:bd0d2e60bd83479c320f159f8e6fae916f993452
* TMaybe: propagate constuctible traitswarmer2025-12-193-1/+36
| | | | | | Constructors are now conditionally enabled based on whether T is copy- or move-constructible. This allows constructibility to be checked, instead of causing compilation errors during template instantiation. commit_hash:a304a162846a96e404f5a02506607c1d2f9b09be
* Fix grammarakhropov2025-12-041-10/+10
| | | | commit_hash:b7af773942b9bbb47e1c0273c0567e932697ecff
* EraseNodesIf should use an iterator to the next node if the erase method ↵swarmer2025-11-201-1/+5
| | | | | | returns one commit_hash:4c4690aacc6b7ab9c3ab6ec79bd35c1e2b7fe06e
* removing dangerous cast operatorermolovd2025-11-131-4/+6
| | | | commit_hash:44a5b05387723256ff3e098559780727e8b542e3
* Simplify: Y_ASSERT already contains Y_UNUSED for NDEBUG caseakhropov2025-11-111-3/+0
| | | | commit_hash:b5bb48dba5876cb5fa844ea640062e9ba3d05e60
* STLPort is no longer supported.akhropov2025-11-062-4/+0
| | | | commit_hash:86a5d56bc280e1c3a543e9649e6fec01e0e6d4b1
* is_constructible_v for Make-ptrs functions (MakeHolder)ilnurkh2025-10-291-1/+1
| | | | commit_hash:f49e7f6d65b455df3297b7b534949a9ef9236e0c
* Use a more conventional return value check compatible with MSVC tools 14.4*.akhropov2025-10-291-2/+2
| | | | commit_hash:044e079ab391ee08bb3a3a2b78e8db01fef63d53
* is_constructible_v for Make-ptrs functions (without MakeHolder)ilnurkh2025-10-261-3/+3
| | | | commit_hash:bbae3f9fc58d05f98cd441f78cf58ebace8ee465
* is_constructible_v check for TMaybe::emplace methodsilnurkh2025-10-221-4/+4
| | | | commit_hash:d08428835a793ed8f62b2833dc4d53e433226f4b
* Y_LIFETIME_BOUND for TMaybe-emplace methodsilnurkh2025-10-222-4/+10
| | | | commit_hash:5f04d6a91faac7a08c1858e1d942352a1154c11f
* Add GetOrEmplace for TMaybeilnurkh2025-10-211-0/+22
| | | | commit_hash:3e9ec510809df7c44c56a28e1795cb6363d54e9f
* Check element size for other TArrayRef constructors, not only from Containerakhropov2025-10-172-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