summaryrefslogtreecommitdiffstats
path: root/library/cpp/yt
Commit message (Collapse)AuthorAgeFilesLines
* YT-23435: Parse format string at compile timearkady-e1ppa2024-11-186-54/+251
| | | | commit_hash:804530d1ee861ff42d7d8cad25d9f569b4feaacf
* YT-22885: Handle unknown values in (Try)CheckedEnumCastbabenko2024-11-163-3/+61
| | | | commit_hash:5ce8019253cdb971d1af36350e3efa3a4ec8545c
* Fix babenko issues of rXXXXXXarkady-e1ppa2024-11-142-4/+4
| | | | | [nodiff:caesar] commit_hash:93eef00a7132e68e727aa1f4028616db6522d03c
* YT-23346: Introduce YT_ASSUME and YT_UNREACHABLE macros.thenewone2024-11-121-0/+14
| | | | | | | | | | | | | Y_ASSUME and Y_UNREACHABLE macros are platform-independent ways to give a hint for a compiler about some value or state. Compilier may use that hint for optimization. On the other hand if the hint is wrong it may lead to undefined behavior. YT_ASSUME and YT_UNREACHABLE are wrappers around Y_ASSUME and Y_UNREACHABLE that actually check that the hint is correct in debug build. That introduces some code safety and at the same time allows certain optimization in optimized build. commit_hash:2d0969361910a10a870bae226d838d494e656edb
* Add TSharedRef::FromString overloads for std::stringbabenko2024-11-113-9/+52
| | | | commit_hash:2edff041e77ead18a6bb7efeb13c8163d85c0750
* Intermediate changesrobot-piglet2024-11-082-2/+4
| | | | commit_hash:17dbd6d7e5fc440afa2d816e245a73e25135bfb5
* YT-21233: Rewrite ConvertTo CPO using TagInvokearkady-e1ppa2024-11-088-0/+386
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plan: 1) Remove `IAttributedDictionary` type from the public API. \+ 2) Remove `Set` method from public API in favor of `operator<<=`. \+ 3) Adopt `ConvertTo<T>` (or other name) CPO with proper extension into `NYT::NYson::ConvertTo` from `yt/core`. 4) Use CPO from (3) to eliminate direct dependency on `yt/core` of `Get/Find` methods from attributes API. 5) Adopt `ConvertToYsonString` (or other name) CPO with proper extension into `yt/core` customisations. 6) Use CPO from (5) to eliminate direct dependency on `yt/core` of `TErrorAttribute` ctor. 7) Swap attributes implementation to the one which doesn’t use `IAttributeDictionary`. 8) At this point `stripped_error*` can be moved to library/cpp/yt and so can recursively dependant on THROW macro methods `Get/Find/…`. 9) Adjust CPO’s to work with `std::string` instead of `TYsonString` assuming text format to be used (maybe `TString` for now). 10) Remove dep of `library/cpp/yt/error` on `yson` entirely. This pr addresses 3-4 steps of plan. Below is a brief explanation of design decisions. We want to have a concept which detects if there is a `ConvertTo` method and if true, try calling it. Templates can only perform unqualified name lookup and if we allow non-ADL overloads to be found, we would have dependency on inclusion order (if `ConvertTo` is included prior to our code, everything works fine, but if the order is reverse, templated dispatch would fail, but direct call would work just fine). That is why we adopt niebloids which first disable ADL lookup of the name `ConvertTo` by directing it to niebloid implemented via `TagInvoke` mechanism. TagInvoke design <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1895r0.pdf> . TL;DR: we want to have behavior which is consistent with inclusion order. Key difference now is that `ConvertTo` works consistently in both manual calls and template function body calls and is no longer visible for ADL part of the unqualified name lookup commit_hash:32af641bd0af559bfe670c2ceb36721fb4afc2dd
* Better diagnostics in AbortProcess(Silently|Dramatically)babenko2024-11-068-12/+108
| | | | commit_hash:7bbc13afbd569ca9bb064aed656c12644fd2de96
* NaN-safe comparison and hashingbabenko2024-11-069-2/+294
| | | | commit_hash:46d59ab3acbd313753d3e46f3a6f10a8ebc424d8
* Intermediate changesrobot-piglet2024-11-051-3/+3
| | | | commit_hash:fa9cb13adebcd335794779a600c4d88ad1af00d4
* add ::element_type, .get() to smart pointers for better compatibility with stdpavook2024-11-044-0/+22
| | | | | For example, this makes it possible to use gtest pointer matchers on smart pointers commit_hash:2650074ae18ee35696b297d3d1f0393e7350789f
* YT-22885: Refactor checked castsbabenko2024-11-038-51/+122
| | | | commit_hash:7f7600d332c3ddb5c8372e921bcba3b4fbed68f8
* Intermediate changesrobot-piglet2024-10-311-3/+3
| | | | commit_hash:6c7ea26efb0f57227eee0726fe43fe72e05f8f33
* Fix regression: static anchors are not updated properlybabenko2024-10-303-19/+51
| | | | commit_hash:ab0bd9b2d0569820e495c714baecb05145ed35bf
* YT-22593: Migrate table schemas to std::stringbabenko2024-10-292-0/+8
| | | | | [nodiff:caesar] commit_hash:5dbd8e19169560e317e150cd4c6a420a32abdc05
* Add GetAllSetValue and IsKnownValuebabenko2024-10-273-5/+72
| | | | commit_hash:cbc39112d8384b8c4bcd2410f0a203466b400c10
* YT-22885: DEFINE_ENUM_UNKNOWN_VALUE, string-related conversionsbabenko2024-10-267-96/+165
| | | | commit_hash:14c7e42422af750383f04855b4a7ea6b267b92d2
* YT-21233: Introduce TErrorAttributes as an opaque type for attributes to ↵arkady-e1ppa2024-10-226-0/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | hide dependencies on IAttributeDictionary's API Plan: 1) Remove `IAttributedDictionary` type from the public API. \+ 2) Remove `Set` method from public API in favor of `operator<<=`. \+ 3) Adopt `ConvertTo<T>` (or other name) CPO with proper extension into `NYT::NYson::ConvertTo` from `yt/core`. 4) Use CPO from (3) to eliminate direct dependency on `yt/core` of `Get/Find` methods from attributes API. 5) Adopt `ConvertToYsonString` (or other name) CPO with proper extension into `yt/core` customisations. 6) Use CPO from (5) to eliminate direct dependency on `yt/core` of `TErrorAttribute` ctor. 7) Swap attributes implementation to the one which doesn’t use `IAttributeDictionary`. 8) At this point `stripped_error*` can be moved to library/cpp/yt and so can recursively dependant on THROW macro methods `Get/Find/…`. 9) Adjust CPO’s to work with `std::string` instead of `TYsonString` assuming text format to be used (maybe `TString` for now). 10) Remove dep of `library/cpp/yt/error` on `yson` entirely. This pull request covers steps 1 and 2 laying foundation to 3-4 being implemented in the next one commit_hash:e899bccdef4ebed321ea2eb93215282694c261ac
* Introduce message_level_overrides to tune log message levels at runtimebabenko2024-10-203-20/+35
| | | | | | | | * Changelog entry Type: feature Add message_level_overrides option to logging config for better run-time tuning. commit_hash:07e9563fd111c437edf7ac0e5dd190781878d8fa
* YTORM-1187: Fix IN and BETWEEN expression work with indexesdgolear2024-10-172-31/+29
| | | | commit_hash:12d86de033f73ea238ebde7f47b689d30014119a
* Fix disabling ref counted trackingnastprol2024-10-172-0/+8
| | | | commit_hash:8552424a0dfce80a71c406632beba95646bf5b3e
* Fancier error messages upon static analysis check failurearkady-e1ppa2024-10-162-43/+15
| | | | commit_hash:f939fba86939275047d2eca49b11bec3d0ea3ce7
* Move atomic object to library/cpp/yt/threadingarkady-e1ppa2024-10-142-0/+160
| | | | | [nodiff:caesar] commit_hash:446e45e0378f6b2cb31d85bcc3e4516efbdfe5a7
* Styledgolear2024-10-141-0/+2
| | | | commit_hash:e267dc9b41e9291970d760657852a20f06fa8410
* Extract string_builderbabenko2024-10-136-177/+217
| | | | commit_hash:1573c88f09db79bab2755c9c2c3ffd0bc219b2d2
* Support Android build for YT librarykharcheva2024-10-102-1/+11
| | | | commit_hash:a21164c621de657007dd5ba88024cf92cb5ba739
* YT: Support plain enum deserializationdgolear2024-10-103-10/+33
| | | | | (HIDDEN_URL commit_hash:d9358ac48da1ab4a4ef9ccdbf7eb77a100cf3897
* Intermediate changesrobot-piglet2024-10-083-12/+113
| | | | commit_hash:8b7eb71badc9f2fcd168ee34e8c379b35577eccb
* Drop redundant MarkAsIntentionallyLeakedbabenko2024-10-081-3/+0
| | | | commit_hash:a7e152eae3d2996e60fa5940906933bfb64bdc88
* Fix spellingbabenko2024-10-083-13/+13
| | | | commit_hash:4ef7f7ef82cc22483672460eb87dfe4fa6b5d817
* Assume LSan is always enabled in ASan buildsbabenko2024-10-083-4/+4
| | | | commit_hash:e48e4ec5e5215afc5c32dc6213398b6b28dbdd7b
* Remove Size, Empty and Data usages from librarymikhnenko2024-10-044-4/+4
| | | | commit_hash:ef5ad4cfa9e68bbfc586492e8c376c732d0a48af
* Add TExpiringSet::Removebabenko2024-09-303-4/+42
| | | | commit_hash:5d76a2050843e639046dc696be3b43c1795fd1dc
* Extract TExpiringSet to library/cpp/containersbabenko2024-09-304-0/+239
| | | | commit_hash:dd1c08771b1d4865d03a492927afa0f9895a5f44
* Add an option to disable refcounted trackingnastprol2024-09-253-3/+13
| | | | commit_hash:ceb575c0377d4a48c0507590d878e690e92f5c63
* Intermediate changesrobot-piglet2024-09-231-38/+53
| | | | commit_hash:9da3eb91ac1626625fafab7ae80b22f3f3b75821
* Fix TAtomicIntrusivePtr::Reset for lsanbabenko2024-09-231-1/+0
| | | | commit_hash:7db063d2838aac3ab4a0c681ca1744361cfbb31e
* Make TAtomicIntrusivePtr lsan-friendlybabenko2024-09-233-26/+134
| | | | commit_hash:c4a4db14dd6f9b82fb65377014112bf0a131d3e0
* Fix typo in library/cpp/yt/memoryponasenko-rs2024-09-232-3/+3
| | | | commit_hash:7b3f45fc7a89f88cb3f5609ab96fe1951290bfa4
* Increase RC size to 64 bitsbabenko2024-09-213-14/+13
| | | | commit_hash:31d021c482ac2a3f99e86bf1a2aca7231c86c11d
* More assertions in refcountersbabenko2024-09-213-8/+32
| | | | commit_hash:0c6147f498fdf817921889ac84a321f84f2d1059
* std::variant formatter: require that arguments are formattablepavook2024-09-192-0/+2
| | | | commit_hash:f3123d7cb2022bdc565cc9aadd347deb2cd235d3
* init pid fielduzhas2024-09-181-1/+1
| | | | commit_hash:018112cc71f6f4d8bb32bb04a09e8741ba4f8d3d
* remove cpp/yt/misc no longer depends on cpp/yt/stringarkady-e1ppa2024-09-187-125/+56
| | | | commit_hash:429a843ed1a0e0fe3a5bc7d237f586b6671b8997
* Intermediate changesrobot-piglet2024-09-181-11/+13
| | | | commit_hash:3ef81205ed4cf9360829f834baa07c2fbf69b999
* YT-22593: Switch (some) trace context tags to std::string and refactor code ↵babenko2024-09-094-0/+67
| | | | | | around [TRIVIAL] 643d86a500b7db9df11009f54364b468b29a409a
* Fix indentdgolear2024-09-091-1/+1
| | | | 9d68586af8dfca759270be14dad2e1c5a97a7891
* fisco -> fiascoMaxim Akhmedov2024-09-051-1/+1
| | | | | | | | | No description --- b181413931eab2909c605b373dc858657e8bcb14 Pull Request resolved: https://github.com/ytsaurus/ytsaurus/pull/816
* Intermediate changesrobot-piglet2024-09-049-49/+147
|
* Intermediate changesrobot-piglet2024-09-034-0/+228
|