Леонид Юрьев (Leonid Yuriev)
7b95720f59
mdbx++: add support for legacy experimental/filesystem
.
2022-04-05 22:20:39 +03:00
Леонид Юрьев (Leonid Yuriev)
6f37c8e57f
mdbx: resolve all warnings from MinGW.
2022-03-30 18:13:08 +03:00
Леонид Юрьев (Leonid Yuriev)
d13534967a
mdbx++: fix copy&paste typo inside mdbx::cursor::find_multivalue()
.
2022-03-24 12:11:50 +03:00
Леонид Юрьев (Leonid Yuriev)
3db02d2236
mdbx++: explicitly define noexcept
copy-assignment ops as workaround for AppleClang > 13.3 bug.
...
Try workaround for https://github.com/erthink/libmdbx/issues/278
2022-03-23 18:06:28 +03:00
Леонид Юрьев (Leonid Yuriev)
f84d9f6208
mdbx++: minor refine mdbx::cursor::erase()
.
2022-03-06 00:13:11 +03:00
Леонид Юрьев (Leonid Yuriev)
8c2efe3aaa
mdbx++: add full mdbx::env_managed::geometry()
for convenience.
...
Change-Id: Ib132c776bfc503336582b672de1c44fcac286936
2022-03-05 14:31:02 +03:00
Леонид Юрьев (Leonid Yuriev)
96c93ac2f1
mdbx++: refine mdbx::env::operate_parameters()
and related.
2022-03-03 14:13:10 +03:00
Леонид Юрьев (Leonid Yuriev)
464886ab61
mdbx++: rework/fix move-assignment operators for "managed" classes.
...
Replaces https://github.com/erthink/libmdbx/pull/270 and previous commit.
Fixed a half of https://github.com/torquem-ch/silkworm/issues/575 .
2022-02-23 18:42:09 +03:00
Леонид Юрьев (Leonid Yuriev)
3c574fca99
mdbx++: fix move-assignment operators for "managed" classes.
...
The three same mistakes for `mdbx::env_managed`, `mdbx::txn_managed` and `mdbx::cursor_managed`.
A `derived_managed &operator=(derived_managed &&) = default;`
don't call an inherited `base::operator=()` since it hidded because the
`derived_managed(derived_managed &&) = default;` is also provided.
Replaces/overrides https://github.com/erthink/libmdbx/pull/270 .
2022-02-23 17:58:56 +03:00
Leonid Yuriev
f63f4f8924
mdbx-doc: fix typo in the Doxygen reference.
2022-01-25 20:24:18 +03:00
Leonid Yuriev
03381fa469
mdbx++: clarify comments for mdbx::byte
and char8_t
usage.
...
Related to https://github.com/erthink/libmdbx/issues/263 .
2022-01-21 15:00:34 +03:00
Leonid Yuriev
c588af6aca
mdbx: update Copyright year.
...
Change-Id: Ib3e4c0ac94882c4b2a1e167dd98e6e26dbdf48a4
2022-01-17 11:06:14 +03:00
Leonid Yuriev
c076979225
mdbx++: add workaround for modern libstd++ with CLANG < 4.x
...
Change-Id: Ic82694f4f51bfdb2d6f6f072fdf9af791c0eb6f8
2022-01-17 11:06:07 +03:00
Leonid Yuriev
b5b0a9a284
mdbx++: add to_hex/to_base58/to_base64::output(std::ostream&)
without using temporary objects/buffers/strings.
...
Change-Id: Ideffd0e7f450307e14d780dcdeb2458c1c7e4c18
2022-01-15 18:52:12 +03:00
yperbasis
c25df39cd0
Copy assignment operator for move_result
2022-01-13 21:07:40 +03:00
Leonid Yuriev
70dab667b9
mdbx++: fix missing &
for std::ostream &operator<<()
.
2022-01-13 14:03:51 +03:00
Leonid Yuriev
0df17ed359
mdbx++: disable using C++20 concepts for NDK's CLANG < 14.
2022-01-05 17:47:45 +03:00
Leonid Yuriev
0265c847b8
mdbx++: remove preliminary
label from C++ API.
2021-12-09 02:10:08 +03:00
Leonid Yuriev
739e02655e
mdbx++: disable C++20 concepts for stupid AppleClang 13.x (hotfix).
2021-12-08 05:10:47 +03:00
Леонид Юрьев (Leonid Yuriev)
c2cab7a6a8
mdbx: using clang-format-13
(cosmetics).
2021-12-02 20:22:31 +03:00
sasgas
74d5a42578
mdbx: fix compilation with devtoolset-9 on CentOS/RHEL 7.
...
devtoolset is always using the old ABI
https://bugzilla.redhat.com/show_bug.cgi?id=1546704
https://stackoverflow.com/questions/49393888/how-can-i-use-the-new-c-11-abi-with-devtoolset-7-on-centos-rhel
2021-11-09 13:29:23 +03:00
yperbasis
c714ee9b55
mdbx++: remove noexcept
from potentially throwing txn::put()
.
2021-09-03 23:10:22 +03:00
Andrea Lanfranchi
2395564c17
mdbx++: add cursor::erase()
overloads for key
and for key-value
.
...
Resolves https://github.com/erthink/libmdbx/pull/226
2021-07-27 01:27:57 +03:00
Leonid Yuriev
a8115267a6
mdbx++: disable using C++20 concepts for CLANG < 12.
2021-07-26 05:16:29 +03:00
Leonid Yuriev
65fa0cf8ed
mdbx++: revive encode/decode to hex/base58/base64 (squashed).
2021-07-26 03:53:11 +03:00
Leonid Yuriev
55d1f5e9c0
mdbx++: remove extra noexcept
for buffer::&assign_reference()
.
2021-07-11 02:25:39 +03:00
Leonid Yuriev
15ed0f6a84
mdbx++: workaround for compile-time 'uninitialized' warning (i.e. a GCC's bug) from GCC 10.x with enabled UB-sanitizer.
2021-07-09 17:44:27 +03:00
Leonid Yuriev
ffb8d23632
mdbx++: minor fixes for UN-sanitizer.
2021-07-09 17:44:27 +03:00
Leonid Yuriev
bd2bb51f0f
mdbx++: rework buffer::silo
to avoid use std::string
.
2021-07-06 13:45:26 +03:00
Leonid Yuriev
fa49e5a57b
mdbx++: rename slice::from/to_FOO_bytes()
to `slice::envisage_from/to_FOO_length()'.
2021-07-02 21:20:04 +03:00
Leonid Yuriev
cc6610f42c
mdbx: more/refine C++ crutches for mad MSVC compiler.
2021-06-24 15:42:03 +03:00
Leonid Yuriev
5ae120af80
mdbx-windows: more crutches for MinGW.
...
More for https://github.com/erthink/libmdbx/issues/155
Change-Id: I7de6122ff160372b2dcfd2a0a26e332cb52d0560
2021-05-08 18:38:44 +03:00
Leonid Yuriev
8e078fb708
mdbx++: fix using std::filesystem::path
for iOS <= 13.0
...
Change-Id: I8f75e0698acfb9e0da325f5a3c1e2a513cb43e2e
2021-05-08 00:21:12 +03:00
Leonid Yuriev
c914d417d2
mdbx: refine Doxygen's API description.
...
Change-Id: Ifd326eded287c68c6a95b6c9be22847d6efa5678
2021-05-03 15:00:53 +03:00
Leonid Yuriev
d27e48ae1b
mdbx-windows: rename MDBX_AVOID_CRT
build option to MDBX_DISABLE_MSVC_CRT
.
...
Change-Id: I124c9d86d4a596718bd9671a7c1b538b84c2dd0f
2021-04-30 01:59:48 +03:00
Leonid Yuriev
62ccea031b
mdbx++: add FIXME for buffer::silo
.
...
Change-Id: I0a4a7bb947d019578153b7d09274b3ad0d1496aa
2021-04-20 22:09:48 +03:00
Leonid Yuriev
0dd27a46ee
mdbx++: minor fix constexpr/inline for slice::invalid()
.
...
Change-Id: I48864a61f4fef711117b2e04ac92656267e2d229
2021-04-10 17:48:40 +03:00
Leonid Yuriev
f698f07ff9
mdbx: fix operation for unusual small/large system page size.
...
More for https://github.com/erthink/libmdbx/issues/157
Change-Id: I4f2ed54b50653d0375538b82c48590d1037cd93b
2021-01-29 21:19:58 +03:00
Leonid Yuriev
251eda6fb8
mdbx: HNY!
...
Change-Id: I86c7028001b349e3d06b837dc8e2f7e60fb3b1a2
2021-01-26 07:27:13 +03:00
Leonid Yuriev
4cb8067dce
mdbx++: always provide implementation for mdbx::path == std::string
.
...
Change-Id: I8ef5c1531dc378b4141637ec4ddae3bbc67f1570
2020-10-31 23:24:05 +03:00
Leonid Yuriev
74bf948611
mdbx++: fix slice::encode/decode()
.
...
Change-Id: I56122e47a552e8e343e15bc878c767e34d269069
2020-10-31 23:23:56 +03:00
Leonid Yuriev
586e25c48c
mdbx++: add operator<<(ostream, pair_result)
.
...
Change-Id: I44cc28f7f4f7d65225239d62f5bb8a15a8de16a8
2020-10-31 23:23:46 +03:00
Leonid Yuriev
9f92d5fb7e
mdbx++: rename put_mode::insert
to insert_unique
."
...
Change-Id: I132f1d6bcc4161d1438a77cbc1fd85cdaa22842b
2020-10-31 23:22:21 +03:00
Leonid Yuriev
4a9c387519
mdbx++: fix static_assertion slice::slice(text).
...
Change-Id: Id77d6064461becd4a9d8e2b914d39217f7a3b575
2020-10-31 23:22:11 +03:00
Leonid Yuriev
b964b2abf5
mdbx: more spelling.
...
Change-Id: I45e42c1d8ef51f910b8e41279b92e54a6b2ce772
2020-10-21 01:00:48 +03:00
Leonid Yuriev
de1856a73c
mdbx: workaround for broken DEFINE_ENUM_FLAG_OPERATORS
from Windows SDK.
...
Change-Id: I5335c72061b7c5b6b29c683061a5da95544b9753
2020-10-10 23:53:35 +03:00
Leonid Yuriev
1d71c677f6
mdbx++: add env::remove()
method.
...
Change-Id: If0396d38738df88d054eb8fb752c7bd3afbd8487
2020-10-10 18:31:15 +03:00
Leonid Yuriev
5807e2eda0
mdbx++: fix minor copy&paste typo.
...
Change-Id: I0af3e7ffbbd1231069a60f9f48880df3df2141d7
2020-10-01 02:28:10 +03:00
Leonid Yuriev
f6850f5367
mdbx: Support for user-settable cursor context.
...
Change-Id: I9bd60c432924e39020b2d3af3280f13c44d6cd91
2020-09-29 21:15:25 +03:00
Leonid Yuriev
72e136b9da
mdbx-doc: fix/refine README & Doxygen docs.
...
Change-Id: I79cfb44f84fbf0f118b0d209af1ef62bb9dae72a
2020-09-29 21:15:25 +03:00
Leonid Yuriev
c8a0951566
mdbx: rework API and Docs around Handle-Slow-Readers (no algorithmic changes).
...
Change-Id: I5b76a8400ce6f5f241f8e4a7f53d746fe39f8e1e
2020-09-29 21:15:25 +03:00
Leonid Yuriev
b13e9f01fc
mdbx++: move to_string()
inlines to std::
.
...
Change-Id: I8d0ec1cd64f8a8c7da57c769255089a5fd969940
2020-09-29 20:59:54 +03:00
Leonid Yuriev
75e360b8b3
mdbx++: add std::hash<>
specialization for mdbx::slice
.
...
Change-Id: I4402122f0f088bfa8eea753df931537cfe935086
2020-09-29 20:59:54 +03:00
Leonid Yuriev
5627521f16
mdbx++: more spelling.
...
Change-Id: I3f33e695fb918c6a57c39047bba54a72ecb9bc5b
2020-09-27 17:01:59 +03:00
Leonid Yuriev
989a7c992e
mdbx++: drop mdbx:offset_of
и mdbx::owner_of
.
...
Change-Id: Idfd0b20677388a009d7a3e0bd29b5afb9f767b8f
2020-09-26 02:22:41 +03:00
Leonid Yuriev
c424a80705
mdbx++: refine buffer::data_preserver
.
...
Change-Id: Ie101209588daa10bb5ad21ece0f3ea469e9b98e6
2020-09-26 02:06:21 +03:00
Leonid Yuriev
e2216f70f5
mdbx++: minor refine/add comments.
...
Change-Id: I8e33a762ea86584a63813cf6c3814a95ba44f37b
2020-09-16 01:17:47 +03:00
Leonid Yuriev
fd57088906
mdbx++: add cursor::bind() and cursor_managed' constructor.
...
Change-Id: I78eb5dbe494a0ca6c480c5854096c0849e9c4b07
2020-09-15 02:32:04 +03:00
Leonid Yuriev
234d65dc9d
mdbx++: update copyright & license note.
...
Change-Id: If6aac3dec6d05247aec5af956385066619685c35
2020-09-14 21:19:56 +03:00
Leonid Yuriev
cacc4aa829
mdbx++: changes after codereview-1 (part 2 of 2).
...
Change-Id: I8e1ca134bb8c5d447895f116247dfd12fa6871f0
2020-09-14 21:19:56 +03:00
Leonid Yuriev
04b0d258ff
mdbx++: changes after codereview-1 (part 1 of 2).
...
Change-Id: If58c4281ce29f95fd566bc615082963a9500c381
2020-09-14 17:18:20 +03:00
Leonid Yuriev
5798155892
mdbx++: updates tested compilers list.
...
Change-Id: I57e04ec29fbb6d7db43abb5174cbc64a116c1aa0
2020-09-14 02:42:48 +03:00
Leonid Yuriev
1bc49f680d
mdbx++: more songs&dances about constexpr for old/mad compilers.
...
Change-Id: I00d7629ea9009b918f687f1e2a9f5ca8adba5ac2
2020-09-13 21:22:41 +03:00
Leonid Yuriev
6c70a7fe11
mdbx++: enables C++ API for amalgamated source code.
...
Change-Id: Ie73f32ee6b9a565eee69fa7267798a0fd67db4b0
2020-09-13 21:22:41 +03:00
Leonid Yuriev
50c25f479d
mdbx++: more Doxygen descriptions and refinement.
...
Change-Id: Iec4cfa220f140c0fcc858f51283af2f9c4dd7a65
2020-09-10 01:15:35 +03:00
Leonid Yuriev
81f82ae7b3
mdbx++: added partial doxygen descriptions and refined some methods.
...
Change-Id: I98bd4cb6e296970abbd40ffa049eff6051f30135
2020-09-07 03:10:25 +03:00
Leonid Yuriev
5cb6f02770
mdbx++: add mdbx::fatal constructors for goofy compilers.
...
Change-Id: I5a26b34eac1b7ee9e9c5d7ca060a2adea30e68aa
2020-09-05 14:05:09 +03:00
Leonid Yuriev
e6696178db
mdbx++: refine exceptions.
...
Change-Id: I56d3fd4716320af7a5aec1824fbded5f9efc416c
2020-09-01 16:20:17 +03:00
Leonid Yuriev
9fdaa1c7e5
mdbx++: rename buffer::ref() method to buffer::slice().
...
Change-Id: I430843cb5b069c81965194c4863a5ac7de4ecafe
2020-09-01 14:46:44 +03:00
Leonid Yuriev
500609736c
mdbx++: rename default_allocator to legacy_allocator.
...
Change-Id: I48118a9424be3063b916c00c73715aed4e244ac8
2020-09-01 14:46:37 +03:00
Leonid Yuriev
cd9ac17d59
mdbx++: Done rest of NOT_IMPLEMENTED.
...
Change-Id: I4707416ce4a7b41a04824749be34e338d73f9ea0
2020-09-01 14:12:12 +03:00
Leonid Yuriev
baeca4109a
mdbx++: Implements std::ostream << operators.
...
Change-Id: Iec4b6fc0344e3d3f3ff665ce28e23c2f315d8bdb
2020-09-01 13:23:03 +03:00
Leonid Yuriev
62be36cc9e
mdbx++: is_printable() for UTF8.
...
Change-Id: I96a58dc97e2f4261eafceb358a1dca7ba55cfa0d
2020-08-31 16:35:49 +03:00
Leonid Yuriev
ee902621db
mdbx++: Implements most of C++ API (except related for iostreams).
...
Change-Id: Ia61c208506c3d94700a240725cb854275c7de087
2020-08-31 16:34:58 +03:00
Leonid Yuriev
04a77d3bf3
mdbx: add MDBX_ALLDUPS & MDBX_UPSERT, rework handling of others.
...
Change-Id: I27d437540d883935d78242e4fc7e28951ab9f496
2020-08-28 19:08:45 +03:00
Leonid Yuriev
aa7695c513
mdbx++: Add support for C++17 polymorphic allocators.
...
Change-Id: I76054829551c247a4d8f81288fc47db47ead0288
2020-08-28 16:45:30 +03:00
Leonid Yuriev
88a4b8cb9b
mdbx++: Initial C++ API (some extra methods are not implemented).
...
Change-Id: I0478d0c94dcd12b52916e87815e5731817407c3c
2020-08-28 16:45:30 +03:00